Las reglas de ip6tables se ignoran por completo dentro del contenedor OpenVZ

9

Hemos configurado redes IPv6 en openvz utilizando dispositivos veth en puente. El tráfico IPv6 hacia y desde los VEs funciona bien.

ip6tables funciona en el HN e iptables funciona en el VE. Dentro del 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?

Carsten Thiel
fuente
77
Podría valer la pena hacer una ip6tables -I INPUT -j LOGy ver si los paquetes realmente están llegando a los filtros. Si es así, intente agregar líneas similares a lo largo de los filtros (particularmente después de cualquier caída esperada) y vea qué se registra en syslog.
Andy Smith
1
Asegúrese de que las características de iptables que necesita estén en el archivo vz.conf.
awmusic12635
1
¿Se inició el servicio? ¿Es necesario reiniciar para que los cambios surtan efecto?
Xalorous
¿Verificó que el iface que está utilizando está viendo tráfico en las antiguas iptables IPv4? Las capas de abstracción oscuras pueden dejar varias NIC "incorrectas" en el sistema que aparentemente no hacen nada. Atrás quedaron los días en que simplemente tenía eth0 para internet y eth1 para su LAN interna.
Zdenek

Respuestas:

0

Parece que está utilizando los contenedores bajo proxmox, ¿verdad? Luego debe verificar desde la interfaz gráfica en proxmox que las direcciones de red están bien y que PVE las conoce.
En algunos casos, pve evita el uso de 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, los contenedores de OpenVZ se convertirán a LXC , esto podría introducir algún sesgo

Fibo
fuente
-1

Asegúrese de aplicar las reglas a la interfaz venet0 explícitamente.

Scott Mcintyre
fuente
No OP dijo explícitamente que usa veth. No venet0 aquí
Bruno9779
-2

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

Esto 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 núcleo que los otros contenedores OpenVZ, no puede cargar módulos en el núcleo. Con las máquinas virtuales de hardware, puede ejecutar su propio núcleo y luego puede cargar / descargar módulos del núcleo o compilar su propio núcleo para usar. La pregunta vinculada a continuación cubre las diferencias con más detalle.

¿Cuál es la diferencia entre virtualización asistida completa, para y hardware?

Lamentablemente cuando sólo tiene acceso al entorno de visitantes OpenVZ determinar si el módulo IPv6 IPtables se carga puede ser un poco difícil ya que lsmod, /proc/modulesy /proc/config.gz a menudo no existen en el interior de OpenVZ.

Debido a esto, es posible que 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 del kernel por usted.

Ciudadano Kepler
fuente
Todo esto es cierto, pero completamente irrelevante: él es el proveedor y los módulos relevantes ya están cargados.
Michael Hampton