Problemas de roteamento Cliente / servidor IPv6 em que o servidor possui endereços nativos e tunnelled

3

Estou tentando fazer o IPv6 funcionar na minha rede OpenVPN de toque. O servidor já possui o IPv6, porém ele só tem um / 64 e o maior range disponível é um / 116 (que quebra o autoconf). Eu estou recebendo um 6-in-4/48 de he.net para fornecer endereços para minha VPN.

Pontos de extremidade do túnel IPv6

Server IPv6 Address:2001:470:xxxx:xxxx::1/64
Client IPv6 Address:2001:470:xxxx:xxxx::2/64

Prefixos IPv6 roteados

Routed 2001:470:yyyy::/48:

Minha estrutura de rede (internet = > server = > client) é:

Internet
 ||
OpenVPN server
eth0 (Native ipv6): 2600:3c01::xxxx:xxxx:xxxx:xxxx/64
he-ipv6 (6-in-4): 2001:470:xxxx:xxxx::2/64
tap0 (VPN): 2001:470:yyyy:zzzz::1/64
 ||
OpenVPN client
wlan0 (ipv4)
tap0 (VPN - autconf): 2001:470:yyyy:zzzz:wwww:wwww:wwww:wwww/64

Configuração do servidor:

server # ip -6 route
2001:470:xxxx:xxxx::/64 via :: dev he-ipv6  proto kernel  metric 256 
2001:470:yyyy:zzzz::/64 dev tap0  proto kernel  metric 256 
2600:3c01::xxxx:xxxx:xxxx:xxxx dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev tap0  proto kernel  metric 256 
fe80::/64 via :: dev he-ipv6  proto kernel  metric 256 
default dev he-ipv6  metric 1024 
default via fe80::xxxx:xxxx:xxxx:xxxx dev tap0  proto kernel  metric 1024  expires 4748sec

Configuração do cliente:

client # ip -6 route                                           
2001:470:xxxx:xxxx::/64 via 2001:470:yyyy:zzzz::1 dev tap0  metric 1 
2001:470:yyyy:zzzz::/64 dev tap0  proto kernel  metric 256  expires 86388sec
fe80::/64 dev wlan0  proto kernel  metric 256 
fe80::/64 dev tap0  proto kernel  metric 256 
default via fe80::xxxx:xxxx:xxxx:xxxx dev tap0  proto kernel  metric 1024  expires 5383sec hoplimit 64

Resultados de ping

Internet => 2600:3c01::xxxx:xxxx:xxxx:xxxx           Works
Internet => 2001:470:yyyy:zzzz::1                    Works
Internet => 2001:470:yyyy:zzzz:wwww:wwww:wwww:wwww   Timed Out

Server => 2600:3c01::xxxx:xxxx:xxxx:xxxx             Works
Server => 2001:470:yyyy:zzzz::1                      Works
Server => 2001:470:yyyy:zzzz:wwww:wwww:wwww:wwww     Works
Server => 2404:6800:4006:802::1011 (ipv6.google.com) Works

Client => 2600:3c01::xxxx:xxxx:xxxx:xxxx             Works
Client => 2001:470:yyyy:zzzz::1                      Works
Client => 2001:470:yyyy:zzzz:wwww:wwww:wwww:wwww     Works
Client => 2404:6800:4006:802::1011 (ipv6.google.com) Destination unreachable: Address unreachable

Quais devem ser as rotas para que o cliente possa estar corretamente online com o ipv6?

Eu sei que deve haver uma rota padrão no cliente para o dev tap0, mas nenhum gateway que eu tentei funcionou. Eu tenho tentado resolver isso (através de pesquisa e experimentação), mas eu não encontrei uma solução que funciona (embora isso parece estar próximo).

    
por Portablejim 20.09.2011 / 06:50

2 respostas

0

Acabei mudando a configuração e a pergunta não se aplica mais.

No entanto, eu estava pensando que você precisa ter certeza de que o kernel foi configurado para encaminhar pacotes IPv6 para todos os dispositivos.

    
por 28.09.2011 / 08:42
0

Tem certeza de que o problema está no cliente e não no servidor? As rotas do cliente parecem bem. Uma rota de rastreamento para ipv6.google.com alcança 2001: 470: yyyy: zzzz :: 1? Se isso acontecer, o tráfego IPv6 está usando a VPN como seu gateway padrão e todas as suas rotas de cliente estão definidas.

Acho que o problema pode estar encaminhando pacotes entre tap0 e he-ipv6 no servidor. Eu não estou muito familiarizado com o OpenVPN, mas normalmente esse tipo de coisa é controlado por políticas além da tabela de roteamento.

Acho que o OpenVPN usa o iptables e, portanto, permitir o encaminhamento em ambas as direções entre as duas interfaces do ipv6 exigiria algo assim.

iptables -I FORWARD -i tap0 -o he-ipv6 -j ACCEPT
iptables -I FORWARD -i he-ipv6 -o tap0 -j ACCEPT
    
por 22.09.2011 / 16:18