這近某機器遇到一個奇特的狀態,ipv6的突然找不到路由器,重啟網卡,重新啟動也一樣。後來直接把MAC設定上去後,解決了這個惱人問題。
OS
CentOS Linux release 7.3.1611 (Core)
查看其他的節點
fe80::8e60:4fff:fe2b:c1e1 dev eno16777984 lladdr 8c:60:4f:2b:c1:e1 STALE
2001:288:5000:80::1 dev eno16777984 FAILED
fe80::72e4:22ff:fe25:7b8f dev eno16777984 lladdr 70:e4:22:25:7b:8f router REACHABLE
192.168.56.4 dev eno33557248 lladdr 00:50:56:9b:08:e7 REACHABLE
163.28.10.207 dev eno16777984 FAILED
192.168.56.3 dev eno33557248 lladdr 00:50:56:9b:ef:34 DELAY
163.28.84.254 dev eno16777984 lladdr 70:e4:22:25:7b:8f STALE
其中ne是neighbor的懶惰寫法,也可以更懶寫成 ip n,其顯示結果為
1. IP或IP6位址,如果fe80開頭的IP6位址,代表那是link-local的IP6位址。
2. dev+介面卡的id,可由指令ip addr 來查看,特別注意的是不會出現本機的位址,因為這顯示的是鄰居節點。
3. lladdr+MAC位址,lladdr是link-layer address的縮寫,如果狀態是FAILED此欄不會出現。
4.如果是IPv6的router會出現這個字,否則不會出現
5. 狀態,會出現的狀態主要有幾種,代表的意義如下,以下內容是我研究過並不是翻譯文:
IMCOMPLETE 向鄰居節點發送NS的封包,但未接到鄰居回應
REACHABLE 鄰居節點回應了NA的封包表示已收到NS封包,節點可達性確認
STALE (過期)自從上次鄰居可達性狀態後過了ReachableTime之後都沒有再和此節點連繫過。ReachableTime預設會是隨機15~45之間,因此只要超過此時間未和此節點再交換封包(可能無資料交換),則進入此狀態。另一種情形是鄰居節點自動送過來NA,裡面的MAC位址不同
DELAY 自從上次節點可達性狀態後過了ReachableTime之後都沒有再和此節點連繫過,向鄰居發送NS封包,等待鄰居回應,進入此狀態,若鄰居有回應則進入REACHABLE 狀態,若在DELAY_FIRST_PROBE_TIME期間內無回應(一般而言是5秒),進入PROBE狀態。
PROBE 在DELAY狀態向鄰居發送NS封包,在DELAY_FIRST_PROBE_TIME期間內鄰居無回應,進入此狀態,此時每RETRANS_TIMER秒(預設1秒)發送NS封包直到回應,更改狀態為REACHABLE或達到MAX_UNICAST_SOLICIT限制為止(預設3次),此時狀態變為FAILED。
FAILED PROBE狀態後無回應或初次向鄰居發送NS無回應進入此狀態。
PERMANENT 手動設定,系統不會向鄰居節點偵測可達性,只有管理員能刪除此清單
NONE 虛擬狀態,初始或刪除時預設狀態,在初始發送NS前或被從清單要被清掉前的狀態(EMPTY),理論上應該看不到這個狀態,因為太短暫。
NOARP 系統不會向鄰居節點偵測可達性,生命期終止後可被移除
查看失敗的鄰居
查看鄰居節點資料
2001:288:5000:80::1 dev eno16777984 lladdr 00:50:56:9b:e5:30 ref 1 used 179/170/163 probes 1 DELAY
179/170/163 分別是 幾秒前被使用/幾秒前被確認可達性/幾秒前被刷新 ,查看全部
新增刪除修改節點
新增--新增後狀態變為 PERMANENT
修改
刪除--刪掉後狀態變為FAILED,不知多久才會被系統回收
刷新--只有學來的才會清掉,刷新後狀態變為FAILED,不知多久才會被系統回收
參考資料
[1] http://blog.xuite.net/mb1016.flying/linux/28884358
[2] http://blog.sina.com.cn/s/blog_5ec353710102uwn6.html
[3] https://www.ietf.org/rfc/rfc2461.txt
[4] http://man7.org/linux/man-pages/man8/ip-neighbour.8.html