Intentar habilitar IPv6 da como resultado el error "No hay ruta al host"


8

Estoy configurando una red de doble pila en un servidor KVM utilizando direcciones IPv4 e IPv6 estáticas proporcionadas por mi proveedor.

Ingresé todas las direcciones, servidores de nombres y puertas de enlace según sea necesario al instalar Ubuntu. Después de eso, verifiqué el /etc/network/interfacesarchivo y noté que la estrofa IPv6 estaba ausente (una ifconfigejecución confirmó esto), así que agregué las líneas relevantes. Este es el archivo 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

Luego reinicié las redes a través de sudo /etc/init.d/networking stop && sudo /etc/init.d/networking restarty noté que, mientras IPv4 funcionaba, la conectividad IPv6 saliente no estaba disponible (todavía no verifiqué la conectividad entrante).

ifconfigy ip -6 addrmuestra que se reconoce la dirección IPv6:

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

Por el contrario, no existe una ruta predeterminada para la pila 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 

Intentar agregar la ruta faltante conduce al error "No hay ruta al host":

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

¿Qué podría estar mal y cómo puedo arreglar la configuración de red para que la pila de IPv6 funcione?

Respuestas:


6

Dentro de su máquina virtual, ejecute lo siguiente:

ping6 ff02::2%eth0

Esta ff02::2es la dirección de multidifusión IPv6 "todos los enrutadores". El enrutador en enlace responderá al ping con su propia dirección. Por ejemplo:

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

Luego puede agregar esto como la gatewaydirección.

iface eth0 inet6 static
        .....
        gateway fe80::56e6:fcff:fef4:66f1
        .....

Lo hice, respondieron tres enrutadores (nadie coincidía con la dirección de la puerta de enlace que me dio mi proveedor); Elegí el que tenía la latencia más baja y cambié la configuración de la red. Ahora la resolución de nombres funciona, pero la conectividad IPv6 no (emití ping6 -c 3 ipv6.google.com, el DNS encontró la dirección pero hubo una pérdida de paquetes del 100%). ¿Algunas ideas?
— Alessandro Menti

¿Tres enrutadores diferentes respondieron? Su proveedor tiene una configuración aún más extraña de lo que sospechábamos. En este punto, solo puedo sugerirle que pruebe cada uno de ellos y vea si uno de ellos funciona. Si ninguno de ellos funciona, deberá ponerse en contacto con el proveedor para pedirle que repare su red dañada. :)
— Michael Hampton

3

Su máscara de red debe ser 64. Con IPv6, cada LAN suele ser un / 64. Supongo que su proveedor le permite usar un / 112 de ese / 64, pero debe configurar un / 64 en la interfaz.


Reconfiguré la pila IPv6 para usar un bloque de red / 64, desafortunadamente el problema persiste con los mismos síntomas.
— Alessandro Menti

Lo siento, ahora veo que su host está en 2001: b60: 1000: 151 :: / 64 y su puerta de enlace en 2001: b60: 1000: 0 :: / 64. CDLAN debe haberle dado la información incorrecta, o su red IPv6 está en mal estado y / o se desvía de la práctica estándar ...
— Sander Steffann

1
Desafortunadamente, esta extraña desviación es muy común entre los proveedores de VPS.
— Michael Hampton

1

Resultó que la longitud de la máscara de red que me dio el proveedor era incorrecta: la correcta era la correcta 48. Cambiarlo hizo el truco.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.