J'essaie de comprendre IPv6 mieux.
Tout d'abord, j'essaie ifconfig et j'obtiens ce qui suit:
eth0 Link encap:Ethernet HWaddr XXXXXXX
inet addr:X.X.X.X Bcast:X.X.X.X Mask:XXXXXXXXX
inet6 addr: XXXX::XXXX:XXX:XXXX:XXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:138752772 errors:0 dropped:0 overruns:0 frame:0
TX packets:67894054 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:67347428211 (67.3 GB) TX bytes:168368922639 (168.3 GB)
Interrupt:43
Donc, de ce qui précède, je peux supposer que IPv6 est activé (corrigez-moi si je me trompe ici).
Maintenant si j'utilise ping localhost
je reçois:
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.026 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.019 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.025 ms
...
Mais quand j'utilise ping6 localhost
je reçois:
unknown Host
Comment utiliser ping6
? Ou plus précisément, quels changements faut-il apporter pour que ping6 localhost
fonctionne (si possible)?
réponse courte [ rcf4291 ]
ping6 ip6-localhost # Or the alias you have in /etc/hosts file (See below)
ping6 0:0:0:0:0:0:0:1 # Similar to `ping 127.0.0.1` with 7 `:` instead of 4 `.`
ping6 ::1 # The used analogous of `ping 127.0.0.1`
Modifications permettant de travailler ping6 localhost
Si vous souhaitez définir localhost
comme alias à la fois pour ping
et ping6
et que ce ne soit pas déjà le cas sur votre ordinateur, il suffit d'écrire dans le fichier /etc/hosts
les deux lignes:
127.0.0.1 localhost
# ... and below
::1 localhost ipv6-localhost ipv6-loopback
En ce qui concerne l’alias actuellement utilisé sur votre système, vous pouvez vérifier votre fichier hosts, /etc/hosts
[ 1 ] ou à un autre endroit si celui-ci est sur un autre système [ 2 ] .
Vous pouvez trouver ip6-localhost
, ip6-loopback
, ipv6-localhost
, ipv6-loopback
ou localhost
lui-même ...
Quelques mots de plus
Je comprends votre confusion en effet pour ce que je lis dans le rfc6761 à propos de "Noms de domaine à usage spécial" 6,3 [ 3 ], à propos du nom localhost ,
Les utilisateurs peuvent supposer que les requêtes d'adresses IPv4 et IPv6 pour les noms d'hôte local seront toujours résolues en adresses de bouclage IP respectives .
so devrait être prévu par défaut mais:
Sur la mise à jour actuelle et intacte Ubuntu 14.04.3 LTS /etc/hosts
J'ai trouvé la section suivante avec ip6-localhost
, ip6-loopback
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Sur un système Suse Enterprise 10 , j'ai trouvé localhost
, ipv6-localhost
, ipv6-loopback
# special IPv6 addresses
::1 localhost ipv6-localhost ipv6-loopback
Sur un ancien Debian GNU/Linux 8.2 système localhost
, ip6-localhost
, ip6-loopback
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
Cela signifie que, dans mon expérience limitée, vous devriez regarder dans votre fichier /etc/Host
et le modifier ou utiliser ce que vous constaterez faire, par exemple:
ping6 ipv6-localhost # On some systems (maybe on Suse)
ping6 ip6-localhost # On some systems (maybe on Debian/*buntu)
Essayer:
ping6 ::1
Le résultat ressemblerait à ceci:
# ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.040 ms
(...)
64 bytes from ::1: icmp_seq=9 ttl=64 time=0.037 ms
^C
--- ::1 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 7998ms
rtt min/avg/max/mdev = 0.035/0.042/0.055/0.011 ms
Ubuntu 14.04.1 LTS (Trusty Tahr):
# ping ::1
ping: unknown Host ::1
# ping -6 ::1
ping: invalid option -- '6'
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination
# ping -V
ping utility, iputils-s20121221
(Idem pour ping6 -V
.)
localhost
est le nom d'hôte qui résout l'adresse 127.0.0.1
. Votre fichier /etc/hosts
doit comporter une entrée distincte pour ::1
, probablement localhost6
. Alors essayez ceci:
ping6 ::1
ping6 localhost6