
我有一個運行 OpenWrt 的路由器和一台使用 Yocto 構建的嵌入式 Linux 的機器。我需要在我的 C 應用程式中偵測租約續約。在我的路由器上,我將租約時間減少到 30 秒。當我將 Linux 登入 OpenWrt 網路並取得 DHCPv6 位址時,我可以從 Linux ping 到路由器(從 DHCPv6 伺服器指派的位址)。但每次更新地址時,ping 就開始沒有顯示任何內容。沒有錯誤,沒有網路無法存取的訊息,什麼都沒有。此時 tcpdump 仍然顯示 ICMP6 回顯請求和 ICMP6 回顯重播。更新地址後ping不顯示是什麼原因?
這是我的路由器設定/etc/config/dhcp
:
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '50'
option leastime '30s'
option dhcpv6 'server'
option ra 'server'
option ra_useleasetime '1'
option ra_lifetime '30'
編輯
我用 重複測試 3 次,ip -6 route
但沒有得到更改後的指標的條目。唯一改變的是過期時間。ip -6 route
當 ping 有效時:
fd33:a242:c52a::581 dev wlan0 proto kernel metric 256 pref medium
fd33:a242:c52a::/64 dev wlan0 proto kernel metric 256 expires 53sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
ff00::/8 dev eth0 metric 256 pref medium
ff00::/8 dev wlan0 metric 256 pref medium
當 ping 不通時:
fd33:a242:c52a::581 dev wlan0 proto kernel metric 256 pref medium
fd33:a242:c52a::/64 dev wlan0 proto kernel metric 256 expires 51sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
ff00::/8 dev eth0 metric 256 pref medium
ff00::/8 dev wlan0 metric 256 pref medium