無法ping通ECS執行個體IPv6地址的原因較多,您可以參考本文進行排查。
問題現象
ECS執行個體開通IPv6地址之後,無法使用ping -6
命令連通ECS執行個體的IPv6地址。
問題原因
導致無法ping通ECS執行個體IPv6地址的原因可能有以下幾點:
ECS執行個體開通IPv6地址後未正確配置。
ECS執行個體的安全性群組配置錯誤。
IPv6未開通公網頻寬,沒有公網通訊能力。
步驟一:檢查ECS執行個體的IPv6地址相關配置是否正確
通過VNC遠程登入Linux執行個體。關於如何遠程登入,請參見通過VNC遠端連線登入Linux執行個體。
執行以下命令,查看並記錄ECS伺服器的MAC地址。
curl http://100.100.100.200/latest/meta-data/mac && echo
執行以下命令,擷取ECS伺服器的IPv6地址、IPv6網關、IPv6位址區段的中繼資料資訊。
[$MAC_ID]為上一步擷取的ECS伺服器的MAC地址。
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/ipv6s && echo \n && curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/ipv6-gateway && echo \n && curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/vswitch-ipv6-cidr-block && echo \n
系統顯示類似如下。
執行以下命令,查看ECS伺服器的IPv6地址與中繼資料的IPv6地址是否存在不一致的情況。
本文中網卡資訊以eth0網卡為例,現場以實際環境為準。
ifconfig eth0
系統顯示類似如下,確認不存在顯示不一致的情況。若存在顯示不一致的情況,請重新參照配置IPv6地址的步驟進行配置。
執行以下命令,查看ECS伺服器的IPv6網關與中繼資料的IPv6網關是否存在不一致的情況
route -6 -ne | grep ::/0
系統顯示類似如下,確認不存在顯示不一致的情況,若存在顯示不一致的情況,請重新參照配置IPv6地址的步驟進行配置。
執行以下命令,查看ECS伺服器的IPv6位址區段與中繼資料的IPv6位址區段是否存在不一致的情況
route -6 -ne | grep eth0
系統顯示類似如下,確認不存在顯示不一致的情況,若存在顯示不一致的情況,請重新參照配置IPv6地址的步驟進行配置。
步驟二:檢查安全性群組相關配置
訪問ECS控制台-安全性群組。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
找到目標安全性群組,在操作列中,單擊管理規則。
在安全性群組詳情頁,找到訪問規則地區,選擇入方向或出方向。
對於ping命令,您需要設定允許協議類型為全部ICMP(IPv6),並且設定授權對象為相應的IPv6位址區段的規則,例如:
2001:db8:1234:1a00::***
。如果缺少相關安全性群組規則,請參見添加安全性群組規則進行修改。
步驟三:檢查IPv6網關是否開通了公網頻寬
預設雲端服務器的IPv6地址僅具有私網通訊能力,若您想要通過該IPv6地址訪問公網或被公網訪問,則需執行開通IPv6公網頻寬的步驟。
也需要檢查IPv6網關是否配置了僅主動出規則,如果希望互連網主動發起對ECS執行個體IPv6地址的訪問,請將這些規則刪除。