[root@router ~]# iptables -A INPUT -j ACCEPT
iptables: No chain/target/match by that name.

Как это возможно? Я перекомпилировал ядро (3.11.8) и обновил iptables до 1.4.16. Самое странное, что если я вручную добавлю вышеуказанное правило в /etc/sysconfig/iptables и введу команду /etc/init.d/iptables restart (я нахожусь на CentOS 6.4), это сработает! Это вставляет правило.

Мой lsmod | grep ipt:

iptable_mangle         12695  1 
ipt_MASQUERADE         12759  3 
iptable_nat            12810  1 
nf_nat_ipv4            13263  1 iptable_nat
nf_nat                 25997  3 ipt_MASQUERADE,iptable_nat,nf_nat_ipv4
nf_conntrack           95633  7 xt_state,ipt_MASQUERADE,iptable_nat,nf_nat_ipv4,nf_nat,nf_conntrack_ipv4,xt_conntrack
iptable_filter         12810  1 
ip_tables              27213  3 iptable_mangle,iptable_nat,iptable_filter

Вывод iptables -L :

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

1 ответ1

0

Нашел проблему. В основном я сделал make uninstall версии iptables 1.4.16 и скомпилировал из исходного кода версию 1.4.20 (последняя доступная сейчас). Теперь это работает отлично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .