You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OPNsense(FreeBSD) devd.conf匹配项查找及PPPoE断网脚本触发问题

解决PPPoE断网时devd自动触发脚本的问题

1. 捕获PPPoE状态变化的devd事件

要找到正确的匹配项,先实时监控devd事件,记录PPPoE断开时的实际参数:

  • 执行命令:devd -d,该命令会让devd以调试模式运行,实时输出所有触发的事件。
  • 手动断开PPPoE连接(比如在OPNsense界面操作),观察终端中与pppoe0相关的事件输出。

2. 分析捕获到的事件参数

PPPoE断开时,触发的事件可能和你当前配置的LINK_DOWN不符,常见的实际参数包括:

  • system为IFNET
  • subsystem为pppoe0
  • type为STATUS,同时伴随status参数为down
  • 部分场景下会出现interface参数明确指向pppoe0

举个典型的事件输出示例:

IFNET pppoe0 status: down

3. 调整devd.conf配置

根据捕获到的实际事件修改配置,比如针对上述示例的配置调整如下:

# Notify WAN 1 Down
notify 0 {
    match "system" "IFNET";
    match "subsystem" "pppoe0";
    match "type" "STATUS";
    match "status" "down";
    action "/usr/local/bin/homeassistant/wan1_down.sh &";
};

4. 验证配置有效性

  • 修改配置后执行service devd restart重启devd服务,使新配置生效。
  • 再次断开PPPoE连接,可通过在脚本中添加日志(如echo "WAN1 down at $(date)" >> /var/log/wan_down.log)确认是否触发。

额外注意事项

  • 确保脚本权限正确:执行chmod +x /usr/local/bin/homeassistant/wan1_down.sh,保证devd具备执行权限。
  • 脚本内的命令尽量使用绝对路径,避免环境变量缺失导致执行失败。
  • 若调试模式下未捕获到pppoe0事件,可检查OPNsense的PPPoE配置是否正常触发接口状态事件,或考虑用ifstated作为替代监控方案。

内容的提问来源于stack exchange,提问作者PickOne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:42:38