我使用“IPoE”身份验证连接到 ISP。
它的工作原理如下。当新的网络设备连接时,它会获得一个本地 IP 地址 (100.xxx),租期为 10 分钟,并且需要使用用户名和密码进行网络授权。
授权成功后,路由器将获得一个具有 10 分钟租期的互联网 IP。
当由于未支付账单而关闭互联网访问时,WAN 接口将返回 100.xxx 地址。仅可访问内部资源。
我想用脚本来捕获此类事件。在 中捕获ifup
或ifdown
事件相当容易hotplug.d
,但是存在一个问题。
在某些情况下,当 ISP 端出现问题时,租约会过期,但不会授予新地址。WAN 接口保持运行,但没有任何地址。
我收到一条日志消息
daemon.notice netifd: wan (1019): Lease lost, entering init state
除了解析日志之外,还有什么方法可以捕获此事件?
答案1
我找到了一个解决方案。
deconfig_interface()
如果/lib/netifd/dhcp.script
更新超时,Busybox dhcp 客户端将会调用。
我可以在那里添加一些脚本调用。