web-dev-qa-db-fra.com

Essayer d'activer les résultats IPv6 avec une erreur "No route to Host"

Je configure un réseau à double pile sur un serveur KVM à l'aide d'adresses IPv4 et IPv6 statiques fournies par mon fournisseur.

Je saisis toutes les adresses, les serveurs de noms et les passerelles nécessaires à l’installation d’Ubuntu. Après cela, j'ai vérifié le fichier /etc/network/interfaces et remarqué que la strophe IPv6 était absente (une exécution de ifconfig l'a confirmé), j'ai donc ajouté les lignes appropriées. Ceci est le fichier 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

J'ai ensuite redémarré la mise en réseau via Sudo /etc/init.d/networking stop && Sudo /etc/init.d/networking restart et constaté que, alors qu'IPv4 fonctionnait, la connectivité IPv6 sortante n'était pas disponible (je n'avais pas encore vérifié la connectivité entrante).

ifconfig et ip -6 addr indiquent que l'adresse IPv6 est reconnue:

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

Au contraire, il n’existe pas de route par défaut pour la pile 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 

Essayer d’ajouter l’itinéraire manquant mène à l’erreur "Aucun itinéraire à héberger":

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

Qu'est-ce qui pourrait ne pas être correct et comment puis-je corriger la configuration du réseau afin de pouvoir faire fonctionner la pile IPv6?

7
Alessandro Menti

Il s'est avéré que la longueur du masque de réseau que le fournisseur m'avait donnée était incorrecte: celle de droite était 48. Le changer a fait l'affaire.

1
Alessandro Menti

Dans votre machine virtuelle, exécutez ce qui suit:

ping6 ff02::2%eth0

Ce ff02::2 est l'adresse de multidiffusion IPv6 "tous les routeurs". Le routeur en liaison répondra au ping avec sa propre adresse. Par exemple:

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

Vous pouvez ensuite l'ajouter dans l'adresse gateway.

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

Votre masque de réseau doit être 64. Avec IPv6, chaque réseau local est généralement un/64. Je suppose que votre fournisseur vous permet d’utiliser un/112 à partir de ce/64, mais vous devez configurer un/64 sur l’interface.

3
Sander Steffann