Pregunta Las reglas de ip6tables son completamente ignoradas dentro del contenedor OpenVZ


Hemos configurado redes IPv6 en openvz usando dispositivos veth puenteados. El tráfico IPv6 hacia y desde las VEs funciona bien.

ip6tables trabaja en la HN e iptables trabaja en la VE. Dentro de la VE podemos configurar reglas de ip6tables sin ningún mensaje de error. Sin embargo, son completamente ignorados.

¿Qué opciones de configuración adicionales son necesarias para que funcione ip6tables?


9
2018-06-02 19:15


origen


Podría valer la pena hacer un ip6tables -I INPUT -j LOG y ver si los paquetes realmente están golpeando los filtros. Si lo son, intente agregar líneas similares en todos los filtros (especialmente después de las caídas esperadas) y vea qué se registra en syslog. - Andy Smith
Asegúrese de que las funciones de iptables que necesita estén en el archivo vz.conf. - awmusic12635
¿Se inició el servicio? ¿Necesita reiniciarse para que los cambios surtan efecto? - Xalorous
¿Verificó que la interfaz que está utilizando está viendo tráfico en las antiguas iptables IPv4? Las capas de abstracción oscura pueden dejar varias NIC "incorrectas" en el sistema que aparentemente no hacen nada. Se acabaron los días en los que simplemente tenía eth0 para internet y eth1 para su LAN interna. - Zdenek


Respuestas:


Parece que estás usando los contenedores bajo proxmox, ¿verdad? A continuación, debe verificar en la interfaz gráfica en proxmox que las direcciones de red estén bien y sean conocidas por PVE
En algunos casos, pve impide usar algunos módulos de iptables, por ejemplo:
 FATAL: No se pudo cargar /lib/modules/4.15.18-1-pve/modules.dep: No existe tal archivo o directorio

Nota: En proxmox 5, OpenVZ los contenedores serán convertidos a LXC, esto podría introducir algún sesgo


0
2017-10-23 17:50





Asegúrese de que está aplicando las reglas a la interfaz venet0 explícitamente.


-1
2018-01-12 20:15



No OP dijo explícitamente que usa veth. No venet0 aqui - Bruno9779


Los contenedores OpenVZ heredan el kernel y los módulos del nodo host. Debido a esto, no puede cargar nuevos módulos del kernel en un contenedor OpenVZ / LXC. Me aseguraría de que el hostnode tenga el ip6_tables módulo del kernel, ya sea compilado en el kernel o cargado como un módulo.

Este es un problema porque OpenVZ es paravirtualización, lo que significa que comparte el mismo núcleo con el nodo host. Debido a que comparte el mismo kernel que los otros contenedores OpenVZ, no puede cargar módulos en el kernel. Con las máquinas virtuales de hardware, puede ejecutar su propio kernel y luego puede cargar / descargar módulos del kernel, o compilar su propio kernel para usar. La pregunta vinculada a continuación cubre las diferencias en más detalle.

¿Cuál es la diferencia entre la virtualización asistida por Full, Para y Hardware?

Lamentablemente, cuando solo tiene acceso al entorno Guest OpenVZ, determinar si el módulo IPv6 IPtables está cargado puede ser un poco difícil como lsmod, /proc/modulesy /proc/config.gz  a menudo No existen dentro de OpenVZ.

Debido a esto, es posible que solo tenga que ponerse en contacto con su proveedor, ya que alguien con acceso raíz en el nodo host tendrá que cargar este módulo de kernel por usted.


-1
2017-10-08 17:44



Todo esto es cierto, pero completamente irrelevante: él es El proveedor y los módulos pertinentes son ya cargado. - Michael Hampton♦