Túnel IPv6 via servidor próprio Linux (conectado a IPv6)

7

Infelizmente, há muitos corretores de túneis IPv6, e a documentação deles geralmente confunde os resultados da pesquisa sobre como configurar seu próprio túnel IPv6.

Eu tenho um servidor Linux com conectividade IPv6. Eu quero fazer o meu próprio túnel (muito seguramente, via SSH SOCKS ou similar, se possível) para o meu computador Windows 7 x64 utilizar para todos os fins do IPv6, enquanto uso o meu próprio endereço IPv4 fornecido pelo ISP para todo o resto.

Como alguém poderia fazer isso?

Isso é muito parecido com o que eu postei aqui , mas eu gostaria muito aprecie uma solução no nível do Windows ou no nível do Chrome.

    
por Michael H. 01.07.2011 / 03:19

1 resposta

9

Criando um gateway 6in4:

Note (Feb 25, 2015): I'm reviewing these instructions, and I think that you could skip the addr add and route del steps, but I'm not entirely sure yet. Will need to test.

  1. Crie uma interface de túnel IPv6:

    # ip tunnel add tun6in4 mode sit local <gwaddr> remote any
    # ip link set tun6in4 up
    

    onde <gwaddr> é o endereço IPv4 público do seu servidor;

  2. Atribua um endereço IPv6 de uma nova sub-rede ao túnel:

    # ip addr add 2001:db8:e3af:666::1/64 dev tun6in4
    
  3. Encaminhe a sub-rede para seu endereço IP, removendo primeiro a rota automática:

    # ip route del 2001:db8:e3af:666::/64 dev tun6in4
    # ip route add 2001:db8:e3af:666::/64 via ::78.260.211.195 dev tun6in4
    
  4. Ativar o encaminhamento de IPv6:

    # echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
    

Lado do cliente

No seu PC, siga as instruções padrão do túnel 6in4, atribuindo a si mesmo um endereço da mesma sub-rede acima.

  1. Adicione um túnel:

    C:\> netsh
    netsh> int ipv6
    netsh interface ipv6> add v6v4tunnel Myserver <locaddr> <gwaddr>
    

    em que <gwaddr> é o endereço IPv4 do servidor gateway e <locaddr> é o endereço local (não necessariamente público) da interface de rede do PC.

    Se você tiver radvd configurado no gateway, você também pode anexar enable para ativar a autoconfiguração do IPv6 através do túnel.

  2. Para configuração manual, adicione um endereço ...

    netsh interface ipv6> add addr Myserver 2001:db8:e3af:666::2
    

    e uma rota:

    netsh interface ipv6> add route ::/0 Myserver
    netsh interface ipv6> show route
    
  3. Se você quiser que o Windows anuncie a conectividade IPv6 à sua LAN (como radvd no Linux), você também pode fazer isso.

    netsh interface ipv6> add route 2001:db8:e3af:666::/64 eth0 pub=yes
    netsh interface ipv6> set route ::/0 Myserver pub=yes
    netsh interface ipv6> show route
    
    netsh interface ipv6> set interface eth0 forward=enable advertise=enable
    netsh interface ipv6> show interface eth0
    

    Substitua eth0 pelo nome ou índice numérico da sua interface de LAN - possivelmente "Local Area Connection" ... Renomei o meu para salvar a digitação.

Proteger somente o túnel IPv6 não faz sentido, já que 1) o tráfego entre o seu gateway e o destino será público de qualquer maneira, 2) você nunca sabe se uma conexão será IPv4 simples ou "protegida" IPv6 .

No entanto, você pode tentar configurar o IPsec entre os dois computadores para proteger o tráfego 6in4 ou criar uma VPN adequada, como o OpenVPN ou o L2TP / IPsec.

    
por 01.07.2011 / 10:36