私はIPv6の世界に初めて触れました。
同じネットワーク上の他のホストのアドレスでpingを試みていますが、fc00::a6:32:67:c9:23
これまでは機能していません(リンクローカルユニキャストアドレスを使用してデバイスにpingを送信できますが)。
ローカルホスト(pingが発生する場所)の私のネットワーク構成は次のとおりです。
host1$ ip addr
2: wlp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 10:4a:7d:cd:e6:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.61/24 brd 192.168.55.255 scope global dynamic noprefixroute wlp6s0
valid_lft 348sec preferred_lft 348sec
inet6 fe80::68b0:2809:2bab:2e8b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: enx000ec6a6aea4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0e:c6:a6:ae:a4 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.198/24 metric 1024 brd 192.168.55.255 scope global dynamic enx000ec6a6aea4
valid_lft 599sec preferred_lft 599sec
inet6 fc00::e:c6a6:aea4/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::2576:c20e:e91d:7677/64 scope link noprefixroute
valid_lft forever preferred_lft forever
ローカルルーティングテーブルは次のとおりです。
$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:db8:100:1ff:ff:ff:ff:ff dev enx000ec6a6aea4 proto static metric 1024 pref medium
fc00::/64 dev enx000ec6a6aea4 proto kernel metric 256 pref medium
fe80::/64 dev wlp6s0 proto kernel metric 1024 pref medium
fe80::/64 dev enx000ec6a6aea4 proto kernel metric 1024 pref medium
default via 2001:db8:100:1ff:ff:ff:ff:ff dev enx000ec6a6aea4 proto static metric 1024 pref medium
宛先ホストのインターフェイスは次のとおりです。
host2$ ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:67:c9:23 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.187/24 brd 192.168.55.255 scope global dynamic noprefixroute eth0
valid_lft 599sec preferred_lft 524sec
inet6 fc00::a6:32:67:c9:23/64 scope global tentative noprefixroute
valid_lft forever preferred_lft forever
inet6 2001::a6:32:67:c9:23/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::a790:54e2:224b:f14/64 scope link
valid_lft forever preferred_lft forever
tentative
ターゲットホストの私のプレフィックスIPアドレスの隣になぜ?があるのか疑問に思います。fc00
知っている人はいますか?これが私のping問題の原因ですか?
答え1
ソースホストには以下が含まれます。
inet6 fc00::e:c6a6:aea4/64 scope global
出力にはip -6 route
そのネットワークへのパスは表示されず、デフォルトのipv6パスも表示されません。ソースホストは宛先アドレスに到達する方法を知りません。
ローカルシステムにそのアドレスを割り当てると、自動的に適切なルートが作成されます。
host1$ ip addr add fc00::e:c6a6:aea4/64 dev eth0
host1$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fc00::/64 dev eth0 proto kernel metric 256 pref medium # <-- this one here
fe80::/64 dev eth0 proto kernel metric 1024 pref medium
しかし、2番目の問題があります。アドレスがfc00::e:c6a6:aea4/64
ネットワークにあることですfc00::/64
。ただし、宛先アドレスはfc00::a6:32:67:c9:23/64
ネットワークにありますfc00:0:0:a6::/64
。つまり、 に自動的に生成された経路があっても、host1
の宛先アドレスに到達することはできませんhost2
。
テスト設定でこれを機能させるには、両方のシステムにルーティングを追加する必要があります。
- では、
host1
パスを追加する必要がありますfc00:0:0:a6::/64
。
host1$ ip route add fc00:0:0:a6::/64 dev eth0
- では、
host2
パスを追加する必要がありますfc00::/64
。
host2$ ip route add fc00::/64 dev wlan0
これらの変更を行った後、fc00::a6:32:67:c9:23
以下から正常にpingできますfc00::e:c6a6:aea4
。
[root@host1 ~]# ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
altname eno2
altname enp0s31f6
inet6 fc00::e:c6a6:aea4/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ed9c:756f:92a:ef21/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@host1 ~]# ip -6 route | grep -v fe80
::1 dev lo proto kernel metric 256 pref medium
fc00::/64 dev eth0 proto kernel metric 256 pref medium
fc00:0:0:a6::/64 dev eth0 metric 1024 pref medium
[root@host1 ~]# ping -c2 fc00::a6:32:67:c9:23
PING fc00::a6:32:67:c9:23(fc00::a6:32:67:c9:23) 56 data bytes
64 bytes from fc00::a6:32:67:c9:23: icmp_seq=1 ttl=64 time=107 ms
64 bytes from fc00::a6:32:67:c9:23: icmp_seq=2 ttl=64 time=15.3 ms
--- fc00::a6:32:67:c9:23 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 15.287/61.178/107.070/45.891 ms