3

Я застрял, пытаясь заставить IPv6 работать на новой установке Ubuntu 16.04 (Xenial Xerus). Мой сценарий очень прост - попытка пропинговать локальный адрес IPv6.

$ ifconfig
enp0s25   Link encap:Ethernet  HWaddr b8:ae:ed:77:91:fa
          inet6 addr: fe80::ba94:3d5e:9929:4c6e/64 Scope:Link

а также

$ ping6 -c 5 -I enp0s25 fe80::ba94:3d5e:9929:4c6e/64

результаты в

unknown host

Как мне устранить неполадки?

2 ответа2

8

Работает с удаленным /64 и указанным -I. /64 относится к числу битов в маске и не должна использоваться в пинге.

$ ping6 -c 1 -I enp0s25 fe80::ba94:3d5e:9929:4c6e
PING fe80::ba94:3d5e:9929:4c6e(fe80::ba94:3d5e:9929:4c6e) from fe80::ba94:3d5e:9929:4c6e enp0s25: 56 data bytes
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=1 ttl=64 time=0.043 ms

Аргумент локального интерфейса -I можно указать в адресе, добавив % и имя интерфейса:

$ ping6 fe80::ba94:3d5e:9929:4c6e%enp0s25
PING fe80::ba94:3d5e:9929:4c6e%enp0s25(fe80::ba94:3d5e:9929:4c6e) 56 data bytes
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=2 ttl=64 time=0.059 ms
...

Эти комбинации не работают:

$ ping6 -c 1 -I enp0s25 fe80::ba94:3d5e:9929:4c6e/64
unknown host

или же

$ ping6 fe80::ba94:3d5e:9929:4c6e
connect: Invalid argument
8

Вы не должны использовать /64 по адресу в пинге. Это было бы эквивалентно использованию длины маски или маски в команде ping для IPv4. Я полагаю, что команда ping пыталась интерпретировать это как имя хоста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .