Tentando ativar os resultados do IPv6 em um erro "Nenhuma rota para hospedar"

5

Estou configurando uma rede de pilha dupla em um servidor KVM usando endereços IPv4 e IPv6 estáticos fornecidos pelo meu provedor.

Eu insiro todos os endereços, servidores de nomes e gateways conforme necessário ao instalar o Ubuntu. Depois disso, verifiquei o arquivo /etc/network/interfaces e percebi que a sub-rotina IPv6 estava ausente (uma execução ifconfig confirmou isso), então adicionei as linhas relevantes. Este é o arquivo final:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 151.236.18.86
        netmask 255.255.255.0
        network 151.236.18.0
        broadcast 151.236.18.255
        gateway 151.236.18.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 91.227.204.227 91.227.205.227
        dns-search mydomainname.com
iface eth0 inet6 static
        pre-up modprobe ipv6
        address 2001:b60:1000:151:236:18:86:0
        netmask 112
        gateway 2001:b60:1000::1
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
        dns-search mydomainname.com

Eu reiniciei a rede via sudo /etc/init.d/networking stop && sudo /etc/init.d/networking restart e percebi que, enquanto o IPv4 estava funcionando, a conectividade IPv6 de saída não estava disponível (eu ainda não verifiquei a conectividade de entrada).

ifconfig e ip -6 addr mostram que o endereço IPv6 é reconhecido:

eth0      Link encap:Ethernet  HWaddr 52:54:00:b1:27:87  
          inet addr:151.236.18.86  Bcast:151.236.18.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:feb1:2787/64 Scope:Link
          inet6 addr: 2001:b60:1000:151:236:18:86:0/112 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1178 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1126656 (1.1 MB)  TX bytes:763658 (763.6 KB)

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:b60:1000:151:236:18:86:0/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:feb1:2787/64 scope link 
       valid_lft forever preferred_lft forever

Pelo contrário, não existe rota padrão para a pilha IPv6:

$ ip -6 route
2001:b60:1000:151:236:18:86:0/112 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 

Tentativa de adicionar a rota ausente leva ao erro "Nenhuma rota para hospedar":

$ sudo ip -6 route add default via 2001:b60:1000::1
RTNETLINK answers: No route to host

O que poderia estar errado e como posso consertar a configuração da rede para que eu possa fazer a pilha do IPv6 funcionar?

    
por Alessandro Menti 03.08.2013 / 18:10

3 respostas

1

Descobrimos que o comprimento da máscara de rede que me foi dado pelo provedor estava incorreto: o caminho certo era 48 . Mudá-lo fez o truque.

    
por Alessandro Menti 09.11.2013 / 12:20
5

Dentro da sua máquina virtual, execute o seguinte:

ping6 ff02::2%eth0

Este ff02::2 é o endereço multicast IPv6 "todos os roteadores". O roteador no link responderá ao ping com seu próprio endereço. Por exemplo:

64 bytes from fe80::56e6:fcff:fef4:66f1: icmp_seq=1 ttl=64 time=0.347 ms

Você pode adicioná-lo como o endereço gateway .

iface eth0 inet6 static
        .....
        gateway fe80::56e6:fcff:fef4:66f1
        .....
    
por Michael Hampton 10.08.2013 / 02:14
2

Sua máscara de rede deve ser 64. Com o IPv6, toda LAN é geralmente uma / 64. Eu acho que o seu provedor permite que você use um / 112 a partir desse / 64, mas você deve configurar um / 64 na interface.

    
por Sander Steffann 03.08.2013 / 19:03