Como faço ping do host local usando o IPv6?

21

Estou tentando entender melhor IPv6 .

Primeiramente, eu tento o ifconfig , e recebo o seguinte:

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

Portanto, do acima exposto, posso assumir que o IPv6 está ativado (corrija-me se estiver errado aqui).

Agora, se eu usar ping localhost , obtenho:

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
...

Mas quando eu uso ping6 localhost eu recebo:

unknown host

Como uso o ping6 ? Ou, mais especificamente, que mudanças precisam ser feitas para tornar ping6 localhost funcionando (se possível)?

    
por nafas 25.11.2015 / 15:09

3 respostas

14

Resposta curta [ 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'

Alterações para tornar o trabalho ping6 localhost

Se você quiser definir localhost como alias para ping e ping6 e ainda não estiver na sua máquina, basta escrever no arquivo /etc/hosts as linhas:

127.0.0.1       localhost
# ... and below
::1             localhost ipv6-localhost ipv6-loopback

Para o que diz respeito ao alias atualmente usado em seu sistema, você pode verificar seu arquivo hosts, /etc/hosts [ 1 ] ou em um lugar diferente se em um sistema diferente [2 ] .
Você pode encontrar ip6-localhost , ip6-loopback , ipv6-localhost , ipv6-loopback ou localhost em si ...

Algumas palavras mais

Eu entendo sua confusão de fato pelo que eu li do rfc6761 sobre "Nomes de Domínio de Uso Especial" 6.3 [< a href="http://tools.ietf.org/html/rfc6761"> 3 ] , sobre o nome localhost ,

Users may assume that IPv4 and IPv6 address queries for localhost names will always resolve to the respective IP loopback address.

so deve ser esperado como padrão mas:

  • No atual e atualizado Ubuntu 14.04.3 LTS /etc/hosts , encontrei a seguinte seção com 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
    
  • Em um sistema Suse Enterprise 10 , encontrei localhost , ipv6-localhost , ipv6-loopback

    # special IPv6 addresses
    ::1             localhost ipv6-localhost ipv6-loopback
    
  • Em um sistema antigo Debian GNU / Linux 8.2 localhost , ip6-localhost , ip6-loopback

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    

Isso significa que, na minha experiência limitada, você deve procurar em seu arquivo /etc/host e modificá-lo ou usar o que você vai encontrar fazendo, por exemplo,

ping6 ipv6-localhost   # On some systems (maybe on Suse) 
ping6 ip6-localhost    # On some systems (maybe on Debian/*buntu)
    
por 26.11.2015 / 14:01
24

Tente:

ping6 ::1

O resultado seria parecido com:

# 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

(O mesmo para ping6 -V .)

    
por 25.11.2015 / 15:14
8

localhost é o nome do host que resolve o endereço 127.0.0.1 . Seu arquivo /etc/hosts deve ter uma entrada separada para ::1 , provavelmente localhost6 . Então tente estes:

ping6 ::1
ping6 localhost6
    
por 25.11.2015 / 15:15