Respostas:
Qualquer endereço IPv6 que comece com fe80:
é equivalente ao 169.254.*.*
endereço IPv4 , ou seja, é um endereço local de link, acessível apenas no segmento de rede ao qual está diretamente conectado, usando a NIC que se conecta especificamente a esse segmento. Ao contrário do IPv4, no entanto, é perfeitamente normal que uma NIC tenha o endereço IPv6 local do link e um ou mais endereços IPv6 globais simultaneamente.
Como um fe80:
endereço IPv6 é link-local, você deve especificar a interface de rede que deseja usar ao executar o ping.
Exemplo:
$ ping6 fe80::beae:c5ff:febe:a742
connect: Invalid argument
$ ping6 -I eth0 fe80::beae:c5ff:febe:a742
PING fe80::beae:c5ff:febe:a742(fe80::beae:c5ff:febe:a742) from fe80::beae:c5ff:febe:a742%eth0 eth0: 56 data bytes
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=2 ttl=64 time=0.167 ms
...
Você também pode acrescentar a interface no final do endereço usando o %
sinal: ping6 fe80::beae:c5ff:febe:a742%eth0
.
Esse requisito é apenas para endereços IPv6 locais de link: você pode executar ping em endereços IPv6 roteáveis globalmente sem especificar a interface.
$ ping6 2a00:1450:400f:80a::200e # that's ipv6.google.com
PING 2a00:1450:400f:80a::200e(2a00:1450:400f:80a::200e) 56 data bytes
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=1 ttl=55 time=17.6 ms
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=2 ttl=55 time=19.6 ms
...
ping6 fe80::beae:c5ff:febe:a742%eth0
ping6: UDP connect: No route to host
Em man ping6
, você deve informar ao ping qual interface você está usando:
-I endereço da interface
Defina o endereço de origem para o endereço de interface especificado. O argumento pode ser o endereço IP numérico ou o nome do dispositivo. Ao executar ping no endereço local do link IPv6, esta opção é necessária.
Por exemplo, se sua interface é eth0
:
ping6 -I eth0 fe80::xxxxxx
ou, sem a -I
opção:
ping6 fe80:xxxxxx%eth0
scope link
direita na saída :)