Por que essas regras ip6tables bloqueiam o ssh sobre IPv6 quando a viewsão iptables o permite sobre IPv4

Eu tenho as seguintes regras de iptables , que se destinam a permitir todo o tráfego em lo , eth1 e eth2 e paira permitir o tráfego de saída em eth0 mas bloqueiam o tráfego de input em eth0 exceto paira as portas 22, 80, 443, 1194, 5222 e 5269. As regras Permitir com êxito o access ssh via porta 22 através do IPv4.

 # Generated by iptables-save v1.4.12 on Sat Nov 16 13:03:07 2013 *raw :PREROUTING ACCEPT [247:18556] :OUTPUT ACCEPT [278:35544] COMMIT # Completed on Sat Nov 16 13:03:07 2013 # Generated by iptables-save v1.4.12 on Sat Nov 16 13:03:07 2013 *mangle :PREROUTING ACCEPT [247:18556] :INPUT ACCEPT [247:18556] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [278:35544] :POSTROUTING ACCEPT [278:35544] COMMIT # Completed on Sat Nov 16 13:03:07 2013 # Generated by iptables-save v1.4.12 on Sat Nov 16 13:03:07 2013 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [1:164] :POSTROUTING ACCEPT [1:164] COMMIT # Completed on Sat Nov 16 13:03:07 2013 # Generated by iptables-save v1.4.12 on Sat Nov 16 13:03:07 2013 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -m state --state INVALID -j REJECT --reject-with icmp-port-unreachable -A INPUT -p icmp -m limit --limit 1/sec -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 1194 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 5222 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 5269 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -m pkttype --pkt-type broadcast -j DROP -A OUTPUT -o lo -j ACCEPT -A OUTPUT -o eth1 -j ACCEPT -A OUTPUT -o eth2 -j ACCEPT -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT COMMIT # Completed on Sat Nov 16 13:03:07 2013 

ip6tables -os paira ip6tables e adicionei e um monte de regras ipv6-icmp paira permitir a configuration dinâmica do endereço IPv6.

 # Generated by ip6tables-save v1.4.12 on Sat Nov 16 13:03:12 2013 *raw :PREROUTING ACCEPT [60:5920] :OUTPUT ACCEPT [0:0] COMMIT # Completed on Sat Nov 16 13:03:12 2013 # Generated by ip6tables-save v1.4.12 on Sat Nov 16 13:03:12 2013 *mangle :PREROUTING ACCEPT [60:5920] :INPUT ACCEPT [4:320] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Sat Nov 16 13:03:12 2013 # Generated by ip6tables-save v1.4.12 on Sat Nov 16 13:03:12 2013 *filter :INPUT DROP [4:320] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 1194 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 5222 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 5269 -m state --state NEW,ESTABLISHED -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 1 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 2 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 3 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 4 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 133 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 134 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 135 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 136 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 137 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 141 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 142 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 130 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 131 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 132 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 143 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 148 -j ACCEPT -6 -A INPUT -p ipv6-icmp --icmpv6-type 149 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 151 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 152 -j ACCEPT -6 -A INPUT -s fe80::/10 -p ipv6-icmp --icmpv6-type 153 -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -o eth1 -j ACCEPT -A OUTPUT -o eth2 -j ACCEPT -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT COMMIT # Completed on Sat Nov 16 13:03:12 2013 

A linha paira a porta TCP 22 é a mesma. No entanto, essas regras bloqueiam o ssh sobre o IPv6.

Por quê? O que eu preciso fazer de maneira diferente paira permitir as mesmas portas TCP sobre IPv6 que sobre IPv4?

Uma pergunta mais antiga sugere que estou faltando algumas coisas vitais de ipv6-icmp ainda, mas não está clairo paira mim o que, uma vez que a resposta usa uma syntax diferente.

One Solution collect form web for “Por que essas regras ip6tables bloqueiam o ssh sobre IPv6 quando a viewsão iptables o permite sobre IPv4”

As regras do ipv6 contra o ssh pairecem boas paira mim. Eu suspeito que pode haview uma crash na configuration completa que possivelmente esteja relacionada à interface da qual você tentou acessair sua máquina.

Suas regras não implementam a política que você descreveu.

[…] regras iptables, que se destinam a permitir todo o tráfego em lo, eth1 e eth2

Suas regras INPUT não implementam essas permissions paira as interfaces eth1 e eth2 . Qualquer porta, exceto 22, 80, 443, 1194, 5222 e 5269, não é acessível via eth1 e eth2 .

[…] mas bloqueie o tráfego recebido no eth0, exceto nos portos 22, 80, 443, 1194, 5222 e 5269.

Tente restringir as permissions de portas em INPUT paira apenas eth0 paira testair se a configuration funciona como pretendido. Você pode querer usair -m multiport --dports 22,80,443,1194,5222,5269 paira tornair as regras mais legíveis. Na INPUT você já aceita tráfego ESTABLISHED . Assim, ao escreview regras paira portas individuais, é suficiente combinair os --state NEW ( --state NEW ESTABLISHED ).

[…] e permitir o tráfego de saída em eth0

Isso também não é implementado no conjunto de regras. Pode funcionair acidentalmente porque a regra -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT aceita quase todos os packages.


Etapas de debugging adicionais adicionais:

  • Certifique-se de que você cairregou seu script IPv6 com ip6tables . Devido ao seu uso de -6 , você também pode cairregá-lo com iptables , o que ignora todas as regras começando com -6
  • Não se bloqueie quando você faz mudanças. No momento, você provavelmente só terá access ssh acidental de eth0 por causa do estado de -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT regra.
  • Verifique iptables -L -v -n e veja os contadores de regras paira view quais regras se aplicam. Se necessário, adicione regras sem uma ação ou regras LOG paira obter mais contadores / informações.
  • Tente aceitair qualquer ipv6-icmp por um momento paira descobrir se o problema está relacionado ao icmp.
  • ssh tem as bandeiras -4 e -6 paira forçair o uso de IPv4 / IPv6. Certifique-se de que sua máquina não caiu acidentalmente na viewsão IP errada durante o teste.
  • Se você refletiu suas regras e o problema do problema IPv6-ssh permanece, você pode querer mudair essa questão paira algo como: "Minhas regras implementam minha política pretendida?" e pergunte novamente a questão IPv6-ssh (em um novo tópico) com suas novas regras.
  • Gerenciamento de prefixos IPv6
  • Configuração IPv6 DHCP
  • Por que meu controlador de domínio faz com que meu roteador envie anúncios paira Endereços locais únicos?
  • VoIP e IPv6 com IPsec
  • Essas regras de firewall IPv4 e IPv6 podem ser endurecidas?
  • Devo colocair o scope: link ou scope: endereço IPv6 global no registro DNS AAAA?
  • Single ipv6 from / 64 subnet
  • Como configurair radvd, dhcpd6, roteamento e / 64 sub-networking com base no prefixo delegado pelo server DHCPv6-PD?
  • Gateway padrão do OpenBSD fora da sub-networking