Pacotes Linux de roteamento IPv6 através de interface incorreta

0

Eu tenho um sistema Arch Linux onde os pacotes locais de link não estão sendo roteados adequadamente. Eu tenho 4 interfaces nesta máquina (wan, lan0, lan1 e lan2). Todas as três interfaces do lanX são conectadas juntas.

Quando eu corro

ping6 fe80::8e89:a5ff:feda:fa%lan

ou

ping6 ff02::1%lan

os pacotes estão sendo enviados pela interface wan ao invés da interface lan bridge e lan2 (que é conectada diretamente à máquina com o endereço fe80). O kernel parece estar desconsiderando o id do escopo do IPv6 sendo especificado. Eu verifiquei duas vezes que não tenho uma rota para o endereço fe80 (há, no entanto, uma rota ff0 :: / 8 por dispositivo IPv6, mas isso é o mesmo em outros sistemas meus em que o escopo é fornecido).

Existe alguma configuração que poderia fazer o kernel funcionar dessa maneira e desconsiderar os escopos ipv6 explícitos para endereços locais de link (incluindo ff02 :: / 16 que, de acordo com a especificação IPv6, ainda é considerado link-local).

    
por Matt 12.12.2015 / 16:50

1 resposta

0

Acontece que o problema estava relacionado à minha configuração. Estou executando o Suricata no IPS em linha usando nfqueue e estava usando o modo 'repeat' para reinserir os pacotes no início da cadeia se eles obtivessem o ok do IPS. Então eu tive regras para procurar a marca Suricata adicionada ao pacote e não entregar novamente ao Suricata. No entanto, a reinserção na cadeia de Suricata pareceu fazer com que o kernel esquecesse como rotear o pacote. A simples remoção da regra nfqueue resolveu o problema, mas não utilizou o IPS. Então, o que acabei fazendo foi substituir todas as minhas regras -j ACCEPT iptables para regras -j NFQUEUE iptables. Neste formulário, o Suricata não vê TODO o tráfego, particularmente ele não vê os pacotes de coisas que o firewall bloquearia. Isso é lamentável, mas funciona.

    
por 05.01.2016 / 19:38