為什麼我無法 ping 通本地 IPv6 位址?

為什麼我無法 ping 通本地 IPv6 位址?

作業系統:almalinux9

2610:150:c002::1:a563是我本地網路卡的 IPv6 位址eno2

[root@alpha ~]# ip addr show eno2
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether b8:ca:3a:f9:54:f8 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f1
    inet 192.168.3.242/29 brd 192.168.3.247 scope global noprefixroute eno2
       valid_lft forever preferred_lft forever
    inet6 2610:150:c002::1:a563/124 scope global tentative noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::baca:3aff:fef9:54f8/64 scope link tentative noprefixroute
       valid_lft forever preferred_lft forever

我可以 ping 通lo ::1

[root@alpha ~]# ping ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.081 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.173 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.071 ms
64 bytes from ::1: icmp_seq=4 ttl=64 time=0.080 ms

但我無法 ping 通2610:150:c002::1:a563

[root@alpha ~]# ping6 2610:150:c002::1:a563
PING 2610:150:c002::1:a563(2610:150:c002::1:a563) 56 data bytes
^C
--- 2610:150:c002::1:a563 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3063ms

這是指令 ip -6 Route 的結果

[root@alpha ~]# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2610:150:c002::1:a560/124 dev eno2 proto kernel metric 104 linkdown pref medium
fe80::/64 dev vnet0 proto kernel metric 256 pref medium
fe80::/64 dev vnet1 proto kernel metric 256 pref medium
fe80::/64 dev vnet3 proto kernel metric 256 pref medium
fe80::/64 dev vnet4 proto kernel metric 256 pref medium
fe80::/64 dev vnet8 proto kernel metric 256 pref medium
fe80::/64 dev vnet9 proto kernel metric 256 pref medium
fe80::/64 dev vnet10 proto kernel metric 256 pref medium
fe80::/64 dev vnet13 proto kernel metric 256 pref medium
fe80::/64 dev vnet16 proto kernel metric 256 pref medium
fe80::/64 dev vnet17 proto kernel metric 256 pref medium
fe80::/64 dev vnet18 proto kernel metric 256 pref medium
fe80::/64 dev vnet26 proto kernel metric 256 pref medium
fe80::/64 dev eno2 proto kernel metric 1024 linkdown pref medium
default via 2610:150:c002::1:a561 dev eno2 proto static metric 104 linkdown pref medium
[root@alpha ~]#
[root@alpha ~]# ip route
default via 192.168.3.241 dev eno1 proto static metric 101
192.168.3.240/29 dev eno1 proto kernel scope link src 192.168.3.242 metric 101
192.168.3.240/29 dev eno2 proto kernel scope link src 192.168.3.243 metric 104 linkdown
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@alpha ~]#

這是指令 ip route get 2610:150:c002::1:a563 的結果

[root@alpha ~]# ip route get 2610:150:c002::1:a563
2610:150:c002::1:a563 dev eno2 proto kernel src ::1 metric 102 pref medium
[root@alpha ~]#

誰能幫我。感激的。

答案1

Linux 輸出上 iproute 上的暫定標誌表示重複位址偵測 (DAD) 尚未發生。對您來說,這既是有問題的地址,也是您的本地連結。在 IPv6 上,存在標準 DAD,並且在這種情況發生之前網路堆疊不應傳遞流量。與 IPv4 不同,IPv6 可防止重複位址問題難以解決。

linkdown 和 NO-CARRIER 表示關聯介面由於媒體拔出或類似情況而不可用。正如您在評論中所說。

從明顯的選項開始,然後進行更高級的操作:

插入 NIC 並將其啟動,讓 DAD 完成。這並不是說網路堆疊不知道自己的位址,而是正在執行安全性操作。就像在分散式系統中一樣,在詢問同行之前,不要相信您擁有唯一的用戶提供的 ID。

在其他某個 up 介面上設定位址。如果沒有更多關於你正在做的事情的背景,很難說到底是什麼。可能是其他實體或虛擬以太網,也可能是環回。

在接口上禁用 DAD。回到重複地址的糟糕舊時代,僅在您確定連結上沒有重複的情況下才推薦。

延伸閱讀:關於 DAD 的一些部落格文章

相關內容