我有一台运行 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