ip6tables permitem tráfego IPv6 do OpenVPN através do meu VPS

0

Eu estabeleci uma configuração IPv4 OpenVPN totalmente funcional e queria dar um passo além e experimentar a configuração do IPv6. Meu servidor VPS não obtém um bloco IPv6 nativo, mas possui uma configuração de interface de túnel 6in4, fornecida pela Hurricane Electric. A conectividade IPv6 da própria caixa VPS funciona sem problemas.

Usando o / 48 fornecido pela Hurricane Electric, criei uma sub-rede / 64 a partir da qual a instância do servidor OpenVPN não pode usar nenhum problema.

Eu configurei as diretivas ipv6 e route-ipv6 corretas para rotear todo o tráfego IPv6 através do meu VPS, da mesma forma que os clientes IPv4 são tratados. Ao fazer um traceroute, ele responde com o endereço server-ipv6 como o primeiro salto, mostrando que o gateway IPv6 agora é o VPS, mas depois do primeiro salto tudo acaba.

O problema é que o tráfego IPv6 externo está sendo bloqueado. Eu confirmei o seu firewall relacionado como soltar o firewall permite que o traceroute seja concluído. Estou usando o ConfigServer Security and Firewall com as partes IPv4 e IPv6 ativadas.

Não sou especialista em iptables, mas tentei estas regras em csfpre.sh sem sucesso.

ip6tables -A FORWARD -s ROUTED/64 -i tun+ -o sit1 -j ACCEPT
ip6tables -A FORWARD -s ROUTED/48 -i tun+ -o sit1 -j ACCEPT

Os espaços reservados ROTADOS são as sub-redes fornecidas pelo meu túnel Hurricane Electric.

Já habilitei o encaminhamento de IPv6 com:

net.ipv6.conf.all.forwarding = 1

Detalhes do VPS:

  • CentOS 6.6 (virtualização KVM)
  • 2.6.32 Kernel do Linux
  • Firewall: CSF (versão mais recente)

A interface tun já foi excluída do CSF via ETH_DEVICE_SKIP

Interfaces de rede:

  • OpenVPN: tun0 (encaminhado)
  • Túnel IPv6: sit1 (toda a configuração e funcionamento)
  • WAN: eth0 (gateway, interface externa)

Alguém poderia ajudar com o fornecimento de regras ip6tables que permitirão que o tráfego IPv6 proveniente do OpenVPN flua?

    
por James White 02.03.2015 / 00:12

1 resposta

3

Eu descobri um conjunto de regras de firewall, eu estava no caminho certo, mas eles precisavam de alguns ajustes.

Usando um exemplo de firewall fornecido pelo SixXS como um guia:

link

Consegui criar estas regras que funcionam e permitem o tráfego IPv6. Eu adiciono estes ao meu arquivo csfpre.sh

ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/64 -j ACCEPT
ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/48 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Mais uma vez, os ROUTED / 64 e ROUTED / 48 são espaços reservados dos meus blocos reais fornecidos pela Hurricane Electric

(tun + irá abranger vários dispositivos tun no servidor)

    
por 03.03.2015 / 08:31