新しいUbuntu16.04(Xenial Xerus)のインストールでIPv6を動作させようとして立ち往生しています。私のシナリオは非常に基本的です-ローカルIPv6アドレスにpingを実行しようとしています。
$ 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
トラブルシューティングするにはどうすればよいですか?
/ 64を削除し、-Iを指定して動作します。/64はマスクのビット数を示し、pingでは使用しないでください。
$ 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
Pingのアドレスに/64
を使用しないでください。これは、IPv4のpingコマンドでマスク長またはマスクを使用するのと同じです。 pingコマンドがそれをホスト名として解釈しようとしていたと思います。