14 votos

iptables nat no existe

Hoy mi iptables nat en el sistema host dejado de trabajar y no tengo ni idea de lo que ha ocurrido! (Eso es muy malo, lo sé)

Todos los comandos se ejecutan como usuario root.

Si me quedo $ iptables -t nat -L me sale el siguiente mensaje de error:

$ iptables -t nat -L
iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

No hay más actualizaciones disponibles. También he reiniciado el servidor con varios núcleos más antiguos, pero siempre me sale el mismo mensaje de error.

Mi servidor se está ejecutando en CentOS oficial con el kernel de OpenVZ en la última versión.

$ uname -r
2.6.32-042stab088.4

También se probó la versión de kernel: 2.6.32-042stab85.20 y 2.6.32-042stab084.26

Primer kernel en grub.conf:

title OpenVZ (2.6.32-042stab088.4)
root (hd0,1)
kernel /vmlinuz-2.6.32-042stab088.4 ro root=/dev/md2 rd_NO_LUKS rd_NO_DM nomodeset crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=de
initrd /initramfs-2.6.32-042stab088.4.img

Las siguientes actualizaciones se han instalado:

$ rpm -qa --last
vzctl-4.7.2-1.x86_64                          Mon 05 May 2014 03:25:16 AM CEST
vzctl-core-4.7.2-1.x86_64                     Mon 05 May 2014 03:25:14 AM CEST
util-linux-ng-2.17.2-12.14.el6_5.x86_64       Wed 30 Apr 2014 11:37:19 PM CEST
libuuid-2.17.2-12.14.el6_5.x86_64             Wed 30 Apr 2014 11:37:18 PM CEST
libblkid-2.17.2-12.14.el6_5.x86_64            Wed 30 Apr 2014 11:37:18 PM CEST
vzkernel-2.6.32-042stab088.4.x86_64           Mon 26 Apr 2014 09:01:00 AM CEST
nss-softokn-freebl-3.14.3-10.el6_5.x86_64     Sat 26 Apr 2014 09:01:00 AM CEST
nss-softokn-3.14.3-10.el6_5.x86_64            Sat 26 Apr 2014 09:01:00 AM CEST
bridge-utils-1.2-10.el6.x86_64                Tue 15 Apr 2014 02:22:41 PM CEST
openssl-1.0.1e-16.el6_5.7.x86_64              Wed 09 Apr 2014 10:14:03 AM CEST
...

lsmod me da el siguiente:

$ lsmod | grep ip
iptable_nat             6302  0
nf_nat                 23213  2 iptable_nat,vzrst
nf_conntrack_ipv4       9946  3 iptable_nat,nf_nat
nf_defrag_ipv4          1531  1 nf_conntrack_ipv4
nf_conntrack           80281  5 iptable_nat,vzrst,nf_nat,nf_conntrack_ipv4,vzcpt
ip6t_REJECT             4711  0
ip6table_mangle         3669  0
ip6table_filter         3033  0
ip6_tables             18988  2 ip6table_mangle,ip6table_filter
iptable_mangle          3493  0
iptable_filter          2937  0
xt_multiport            2716  0
ipt_REJECT              2399  0
ip_tables              18119  3 iptable_nat,iptable_mangle,iptable_filter
ipv6                  322519  35 vzrst,ip6t_REJECT,ip6table_mangle

Ejecución modprobe da el siguiente error:

$ modprobe /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko
FATAL: Module /lib/modules/2.6.32_042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko not found.

Pero el archivo no existe:

$ ll /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko
-rwxr--r-- 1 root root 16K Apr  3 16:20 /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko*

Alguna idea?

10voto

Lukas Schulze Puntos 298

Debido a la actualización de vzctl de 4.6 a 4.7 se cambió la configuración de nf_conntrack a ser desactivado por defecto. (https://openvz.org/Download/vzctl/4.7/changes)

Correspondiente mensaje de confirmación:

...

Deshabilitar conntrack para VE0 por defecto

IP conntrack funcionalidad tiene algún impacto negativo en venet rendimiento (uo a alrededor del 10%), así que mejor ser desactivado por defecto.

...

(Fuente: http://git.openvz.org/?p=vzctl;a=commit;h=a191a462579ee)

Solución:

En dependencia de la distribución es un lugar en el directorio /etc. Encontrar:

$ sudo grep-R "opciones de nf_conntrack ip_conntrack_disable_ve0=1" /etc/modprobe.d/

y sustituir "1" por "0":

opciones de nf_conntrack ip_conntrack_disable_ve0=0

reinicie el sistema

(Fuente: https://bugzilla.openvz.org/show_bug.cgi?id=2943#c5)

Como alternativa a reiniciar:

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_conntrack

Nat y ahora a trabajar

Todas las fuentes:

Changelog para vzctl 4.7: https://openvz.org/Download/vzctl/4.7/changes

Informe de error con la solución en los comentarios: https://bugzilla.openvz.org/show_bug.cgi?id=2943

Informe de error con acortado solución descripción: https://bugzilla.openvz.org/show_bug.cgi?id=2755#c4

Correspondiente GIT commit: http://git.openvz.org/?p=vzctl;a=commit;h=a191a462579ee

Relacionados con el artículo de Wiki: https://openvz.org/NAT#IP_conntracks

4voto

Spack Puntos 1022

Debe ser super usuario para ejecutar iptables. Por lo tanto, ejecutarlo como root.

$ iptables -t nat -L
iptables v1.4.19.1: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
[...]

1voto

majikman Puntos 98

Parece que algo está realmente mal con el archivo? Lo que si intenta strace modprobe /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko? ¿El sistema de retorno de un ENOENT (No existe el fichero o el directorio)? No me puedo imaginar que esto sería, pero tal vez SELinux es meterse con el archivo? Y por último, tal vez el archivo/sistema de archivos está dañado. suma de control md5 es con una buena versión. O simplemente eliminar y copiar uno nuevo por completo. Esperemos que no sea el sistema de ficheros.

Intente esto: http://stackoverflow.com/questions/3140478/fatal-module-not-found-error-using-modprobe

0voto

He encontrado otra solución a este problema! En el nodo yo no podía quitar

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_conntrack

en la Guía Oficial, que he encontrado:

vzctl set VZID --netfilter completo --save --setmode reiniciar

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: