não pode inicializar a tabela iptables 'nat' em Proxmox Openvz vm

1

Quando tentei executar um comando iptables no Proxmox OpenVZ vm, recebi o seguinte erro:

# iptables -t nat -A POSTROUTING -o venet -j MASQUERADE && iptables-save
iptables v1.4.21: can't initialize iptables table 'nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

O IPTABLES_MODULES no /etv/vz/vz.conf no host Proxmox se parece com isto:

IPTABLES_MODULES="iptable_filter, iptable_mangle, ipt_limit, ipt_multiport, ipt_tos, ipt_TOS, ipt_REJECT, ipt_TCPMSS, ipt_tcpmss, ipt_ttl, ipt_LOG, ipt_length, ip_conntrack, ip_conntrack_ftp, ip_conntrack_irc, ipt_conntrack, ipt_state, ipt_helper, iptable_nat, ip_nat_ftp, ip_nat_irc, ipt_REDIRECT, xt_mac, ipt_recent, ipt_owner"

A versão do kernel do host Proxmox:

# uname -a
Linux pve 2.6.32-39-pve #1 SMP Wed Jun 24 06:39:42 CEST 2015 x86_64 GNU/Linux

O módulo iptables foi carregado no host Proxmox, mas por que não posso adicionar regras iptables na vm?

    
por Elgs Qian Chen 27.07.2015 / 11:38

2 respostas

0

Problema resolvido alterando IPTABLES_MODULES para IPTABLES em /etc/vz/vz.conf.

    
por 27.07.2015 / 14:54
0

No /etc/vz/vz.conf

A variável

IPTABLES é definida desta maneira:

IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"

Assim, quando você usa vírgulas entre os módulos, ele freia o formato da variável, apenas remova as vírgulas.

Para evitar esse erro:

can't initialize iptables table 'nat' in Proxmox Openvz vm

eu defino a variável IPTABLES desta maneira:

## IPv4 iptables kernel modules to be enabled in CTs by default
IPTABLES="iptable_nat ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
## IPv4 iptables kernel modules to be loaded by init.d/vz script
IPTABLES_MODULES="$IPTABLES"
    
por 31.01.2016 / 14:17