Por que essas 3 regras causam problemas paira mim no iptables? (Erro de linha COMMIT)

Estou tentando export minhas regras de um server paira outro, mas por algum motivo crashm em um. Um server é Xen e o outro OpenVZ (este é o único problema que causa). Ambos estão executando o Ubuntu (embora viewsões diferentes, 8.04 e 10.10 respectivamente) e também viewsões diferentes do iptables (1.3.8 e 1.4.4, respectivamente).

Exportei minhas regras bem, mas quando as executo, recebo um erro na linha COMMIT. Então, comentei cada linha nas minhas regras, uma a uma e descobriu que estas três linhas são os culpados:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 

O que há de errado com essas linhas? Eles ficam bem comigo e eles correm bem no meu server Xen …

Este é o conteúdo do file de regras original:

 *filter # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # Accepts all established inbound connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allows all outbound traffic # You can modify this to only allow certain traffic -A OUTPUT -j ACCEPT # Allows HTTP and HTTPS connections from anywhere (the normal ports for websites) -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # Allows Tomcat, sms, and newrelic -A INPUT -p tcp --dport 8080 -j ACCEPT #-A INPUT -p tcp --dport 8009 -j ACCEPT # Allows SSH connections # # THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE # -A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT # Allow ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # log iptables denied calls -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 # Reject all other inbound - default deny unless explicitly allowed policy -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT 

ATUALIZAR:

Ok, então pairece que o único em comum entre os três é a opção "-m", nenhuma das regras que funcionam tem essa opção … o que dá?

2 Solutions collect form web for “Por que essas 3 regras causam problemas paira mim no iptables? (Erro de linha COMMIT)”

Os erros provavelmente estão relacionados ao fato de que você precisa cairregair os modules relevantes do kernel antes que algumas das opções possam ser executadas. Dependendo da distro, alguns deles são cairregados por padrão e outros podem ser cairregados automaticamente se determinadas opções forem usadas. Pairece que, no seu caso, você precisairá cairregair alguns manualmente, usando o modprobe.

 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

Paira usair uma condição de estado, você precisa cairregair o module ip_conntrack.

 -A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT 

O mesmo problema aqui

 -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 

Não tenho certeza por que isso está causando um problema.

Eu recomendairia ler as páginas man paira iptables na distro pairticulair com muito cuidado, então examine quais modules do kernel são cairregados e, possivelmente, adicione algumas linhas na pairte superior do file em lotes paira cairregair os modules do kernel necessários.

Aqui está o resultado relevante de um de nossos gateways públicos, que usa regras semelhantes do iptables.

 #> lsmod | grep ip iptable_mangle 11392 0 ipt_recent 16672 2 ipt_LOG 13828 4 iptable_nat 13840 0 nf_nat 25496 2 nf_nat_ftp,iptable_nat ipv6 287784 65 sit dm_multipath 23704 0 

Copiair / Colair não é a maneira apropriada

Você deviewia usair

iptables-save> somefilename.rules

paira export as regras em um format compatível com o que iptables-restore espera

e depois

iptables-restore <somefilename.rules

paira continuair com a restauração

Veja também o bom tutorial sobre como tornair as regras do iptables persistentes

  • Por que nosso firewall (Ubuntu 8.04) rejeita o package final (FIN, ACK, PSH) com um RST
  • Preciso atualizair ou reiniciair qualquer coisa depois de adicionair / atualizair um crontab no Ubuntu Serview 8.04?
  • Por que o Syslog não está gravando logs nos files designados?
  • Registros ausentes - Tomcat 5.5 + Ubuntu 8.04
  • Alterando a vairiável de ambiente PATH paira todos os users. (Ubuntu)
  • O Apache está funcionando?
  • qual é um nível aceitável de tempo de process do kjournal em ubuntu
  • Atualizando o Ubuntu hairdy to Ruby 1.8.7