大部分关闭SFE Fast Path 加速即可解决
在 OpenWrt 中,SFE(Stream Filter Engine)是一种用于网络数据包处理的机制,它可以加速数据包的处理速度,特别是在涉及到防火墙规则和流量过滤时。SFE Fast Path 是一种优化模式,旨在提高数据包处理的效率。
如果你需要关闭或禁用 SFE Fast Path,可以通过以下几种方法来实现:
方法 1:修改配置文件
找到 SFE 相关的配置文件:
通常,SFE 的配置位于 /etc/config/ 目录下的 firewall 配置文件中。
编辑 firewall 配置文件:
使用文本编辑器打开 /etc/config/firewall 文件,例如使用 vi 或 nano:
vi /etc/config/firewall
查找并修改 SFE 相关的配置:
在文件中查找与 SFE Fast Path 相关的配置项,通常看起来像这样:
option sfe_fast_path '1'
将 '1' 改为 '0' 来禁用 SFE Fast Path:
option sfe_fast_path '0'
重启防火墙:
修改配置后,需要重启防火墙服务以使更改生效:
/etc/init.d/firewall restart
方法 2:使用命令行工具
如果你倾向于使用命令行工具来管理 OpenWrt 的配置,可以使用 uci 命令来修改配置:
uci set firewall.@defaults[0].sfe_fast_path=0 uci commit firewall /etc/init.d/firewall restart
方法 3:通过 LuCI 管理界面(如果可用)
如果你使用的是 LuCI(OpenWrt 的 Web 管理界面),可以尝试通过图形界面来禁用 SFE Fast Path:
登录到 LuCI。
导航到 “网络” -> “防火墙”。
在 “设置” 或 “高级设置” 部分查找与 SFE Fast Path 相关的选项。
禁用该选项并保存配置。
重启防火墙服务。
注意:
在禁用 SFE Fast Path 前,确保了解其对系统性能和网络吞吐量的潜在影响。在某些情况下,禁用它可能会导致性能下降。
在进行任何配置更改后,确保重新加载或重启相关服务以使更改生效。
如果不确定,可以先在测试环境中尝试更改以观察效果。
通过上述方法之一,你应该能够成功关闭或禁用 OpenWrt 中的 SFE Fast Path 功能。
如果不定时重启可以通过SHH查看错误日志
logread | grep -i "watchdog\|reboot" 查看重启前的错误日志
dmesg | tail -20 查看最后二十条错误日志
查看重启前最后二十条错误日志定位错误点:
[root@jdcloud_Ax1800:09:14 AM ~] # logread | tail -20 Sun Jan 25 09:13:25 2026 daemon.notice ttyd[7569]: [2026/01/25 09:13:25:3134] N: started process, pid: 9943 Sun Jan 25 09:13:31 2026 auth.info login[9943]: root login on 'pts/0' Sun Jan 25 09:13:32 2026 daemon.err olsrd[10014]: olsrd exit: main: Bad configuration Sun Jan 25 09:13:32 2026 daemon.err olsrd[10079]: olsrd exit: main: Bad configuration Sun Jan 25 09:13:47 2026 daemon.err olsrd[10110]: olsrd exit: main: Bad configuration Sun Jan 25 09:13:47 2026 daemon.err olsrd[10135]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:02 2026 daemon.err olsrd[10160]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:02 2026 daemon.err olsrd[10185]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:17 2026 daemon.err olsrd[10210]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:17 2026 daemon.err olsrd[10235]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:32 2026 daemon.err olsrd[10262]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:32 2026 daemon.err olsrd[10287]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:47 2026 daemon.err olsrd[10313]: olsrd exit: main: Bad configuration Sun Jan 25 09:14:47 2026 daemon.err olsrd[10338]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:02 2026 daemon.err olsrd[10363]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:02 2026 daemon.err olsrd[10388]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:17 2026 daemon.err olsrd[10413]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:17 2026 daemon.err olsrd[10438]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:32 2026 daemon.err olsrd[10466]: olsrd exit: main: Bad configuration Sun Jan 25 09:15:32 2026 daemon.err olsrd[10491]: olsrd exit: main: Bad configuration
发现是 olsrd 错误导致无限重启,查看重启前的日志,寻找与 olsrd 相关的错误或警告信息
logread | grep olsrd logread | grep -i "watchdog\|reboot" 查看重启前的错误日志 dmesg | tail -20 查看最后二十条错误日志
发现 olsrd 进程频繁崩溃、无法绑定端口或报告内存分配失败,这很可能是罪魁祸首。
在 OpenWrt 中,olsrd(Optimized Link State Routing Daemon)是一个用于在无线网络中实现动态路由的软件包,通常用于 mesh 网络或需要节点间自动路由的场景。是否可以卸载它,取决于你的具体使用需求。
是否可以卸载 olsrd?
可以卸载,但前提是你不需要它提供的 mesh 路由功能。
如果你只是将 OpenWrt 用作普通家用路由器、网关或接入点,不涉及多台设备组成 mesh 网络,那么 olsrd 是冗余的,卸载它不会影响基本的网络功能(如上网、DHCP、防火墙等)。
如果你正在使用或计划使用 OpenWrt 构建 mesh 网络(例如多个路由器自动组网、信号中继),则不应卸载 olsrd,否则会导致网络拓扑中断。
卸载
在 OpenWrt 系统中卸载 olsrd(开放最短路径优先路由守护进程),推荐使用其内置的包管理工具 opkg,这是最安全、最标准的方式。
卸载步骤
登录到 OpenWrt 系统
通过 SSH 或串口连接到你的 OpenWrt 设备的命令行界面。
ssh root@192.168.1.1
确认 olsrd 已安装
运行以下命令列出所有已安装的软件包,并通过 grep 筛选出 olsrd:
opkg list-installed | grep olsrd
你可能会看到类似 olsrd - 0.9.8-1 或 olsrd - 0.9.8-2 的输出,这确认了软件包已安装及其确切名称。
卸载 olsrd 软件包
使用 opkg remove 命令卸载 olsrd。请将 olsrd 替换为上一步中确认的精确包名(通常就是 olsrd):
opkg remove olsrd
此命令会自动删除 olsrd 的二进制文件、配置文件(通常位于 /etc/config/olsrd)以及相关的启动脚本。
重要说明
优先使用 opkg:olsrd 是 OpenWrt 官方软件源中的标准软件包,应始终通过 opkg 进行安装和卸载,以确保系统包管理数据库的完整性。1
配置文件残留:opkg remove 通常会删除配置文件。如果希望保留配置文件以便日后重新安装使用,可以使用 opkg remove --keep-config 选项(如果 opkg 版本支持)。
手动删除风险:除非你非常确定 olsrd 是通过非标准方式(如手动编译安装)部署的,否则不要手动删除 /usr/sbin/olsrd 或 /etc/init.d/olsrd 等文件。这会导致包管理器状态与系统实际状态不一致,可能引发后续问题
openwrt 卸载 STUN,无用插件
在OpenWrt系统中卸载STUN(Session Traversal Utilities for NAT,NAT穿越技术)通常涉及到从系统中移除相关的软件包。STUN通常用于网络通信,特别是在需要穿越NAT或防火墙的情况下,例如VoIP、视频会议和在线游戏。在OpenWrt中,你可以通过以下几种方法之一来卸载STUN
方法1:使用opkg包管理器
查找STUN相关的包:
首先,你需要确定STUN相关的软件包名称。这可以通过搜索所有已安装的包来实现:opkg list | grep stun
这将列出所有包含“stun”字样的包。
卸载STUN包:
一旦你找到了STUN相关的包,你可以使用opkg remove命令来卸载它。例如,如果包名是stun-client,你可以运行:opkg remove stun-client
方法2:手动删除配置文件和文件系统中的相关文件
如果你不确定STUN是通过哪个包提供的,或者你想要彻底移除所有与STUN相关的文件和配置,可以手动查找并删除这些文件。
查找相关文件:
使用find命令来搜索与STUN相关的文件:
find / -name "*stun*" 2>/dev/null
删除相关文件:
根据find命令的输出,你可以手动删除这些文件。请小心操作,确保你不会误删其他重要文件。例如:
rm -rf /path/to/stun/files

发表评论