软路由用得好是神器,用得不好就是噩梦——刚装好时跑得飞起,过几天突然断流了,或者某次重启后怎么都连不上了。你不是一个人。从OpenWrt论坛到Telegram群组,软路由排错是出现频率最高的话题。
这篇文章整理了10个最常见的软路由故障场景,每个都从「症状→根因→排查步骤→解决方案」的顺序拆解。不是为了给你一本技术手册,而是让你下次遇到问题时知道从哪下手——而不是盲目重启或重刷固件。
一、排错方法论:先定位,再动手
大多数人遇到软路由出问题,第一反应是「重刷固件」或「重置配置」。这在80%的情况下是过度操作。正确的排错顺序应该是:
- 确认故障范围 — 是所有设备都连不上,还是只有某一台?是所有网站打不开,还是个别?
- 检查最近变更 — 最近改了配置吗?升级了固件或插件吗?连上SSH看了一眼日志?
- 分层排查 — 从最底层(物理链路)到最上层(应用配置),逐层排除。
- 还原测试 — 改回之前能用的配置,确认是配置变更导致的还是其他原因。
这个流程能帮你省掉80%的无效操作。如果你还没有搭建好软路由,可以先看软路由入门指南完成初始配置。已经搭好的,直接从下面的具体问题入手。
二、问题一:软路由连不上/无法代理
症状:所有设备连接软路由WiFi后可以上网,但访问外网时超时或报错"无法连接"。
根因排查:
- 检查节点状态:SSH登录软路由,执行
ps | grep -E "trojan|ss-local|v2ray|xray|passwall|vssr",看看科学上网核心进程是否在运行。如果进程存在,执行curl -x socks5://127.0.0.1:1080 https://www.google.com测试节点连通性。 - 检查订阅更新:很多机场的订阅链接有有效期(通常30-90天),过期后节点自动失效。登录软路由后台,手动更新订阅。如果你用的是自由猫这类支持Clash Meta格式订阅的机场,生成的订阅链接通常稳定性更高,有效期也更长。
- 检查DNS设置:如果节点连通但浏览器打不开网站,90%是DNS问题。检查/etc/resolv.conf是否被修改,确保DNS指向软路由自身(如192.168.1.1)而非运营商的DNS服务器。
- 检查防火墙规则:OpenWrt的防火墙规则覆盖了iptables或nftables。如果之前配置了自定义规则但没保存,重启后规则丢失也会导致无法代理。
快速修复:在OpenWrt后台「系统→启动项」重启科学上网插件,等10秒后测试。如果恢复,说明是进程僵死——可以设置一个cron定时检查进程健康度。
三、问题二:网速慢/延迟高
症状:能连上,但加载网页要等半天,看视频频繁缓冲。
根因排查:
- 确认是全局慢还是个别节点慢:在插件后台手动切换到不同节点测试。如果一个节点慢但另一个快,说明不是软路由的问题,而是该节点的线路质量下降。
- 测试直连速度:临时绕过软路由(把电脑直接连主路由),做一次speedtest。如果直连也慢,说明宽带本身有问题——找运营商。
- 检查CPU负载:执行
top查看CPU占用。如果科学上网进程占用持续>80%,说明软路由性能不够。R2S/友善等ARM架构入门级软路由在开启TUN模式或复杂规则集时容易CPU满载。 - 检查线路选择:不同机场在不同运营商网络下的表现差异很大。电信用户走IEPL专线通常延迟最低,移动用户走BGP中转更稳定。万达云同时提供中转和IEPL专线两种方案,根据你的宽带运营商选择最合适的线路能明显改善速度。
简单判断方法:执行 ping -c 10 你的节点IP 看延迟和丢包率。如果丢包率>5%,基本可以确定线路质量有问题。这时候更换节点或线路类型比调软路由配置更有效。选择万达云这类带中转和专线双方案的机场,可以根据你的宽带运营商灵活选择接入线路。
四、问题三:频繁断流/断连
症状:用几分钟就断一次,断开后等几秒又自动恢复,循环往复。
根因排查:
- 协议兼容性:这是最常见的原因。某些节点协议(如Hysteria2或新版Trojan)在特定OpenWrt内核版本上存在兼容性问题。尝试切换到Shadowsocks或VMess协议看是否改善。
- MTU设置:OpenWrt默认MTU为1500,但代理隧道在加上加密协议头后可能会超过物理链路的MTU限制,导致TCP分片或丢包。尝试将接口MTU设为1440或1400,在「网络→接口→WAN→高级设置」中修改。
- 防火墙连接跟踪:执行
cat /proc/sys/net/netfilter/nf_conntrack_max查看连接跟踪表上限,再执行cat /proc/sys/net/netfilter/nf_conntrack_count查看当前使用量。如果使用量超过上限的80%,就会出现随机断流。临时解决方法:sysctl -w net.netfilter.nf_conntrack_max=262144。 - 电源问题:很多软路由的断流其实是电压不稳造成的。R2S等USB-C供电设备尤其明显——换一个5V/3A以上的电源适配器往往就能解决问题。
五、问题四:DNS污染/泄露
症状:能访问部分外网,但某些网站打不开;或者在浏览器地址栏输入了正确的网址但跳到了奇怪的广告页。
根因排查:
- 检查DNS泄露:访问ipleak.net或dnsleaktest.com测试。如果看到中国运营商的DNS服务器,说明DNS查询走了本地网络而非代理隧道。
- DNS转发设置:OpenWrt默认将DNS请求转发到本地运营商的DNS(通常是路由器自动获取的)。需要在DHCP/DNS设置中将DNS转发指向一个可靠的公共DNS(如223.5.5.5或1.1.1.1),并在科学上网插件中开启「远程DNS」或「DNS加密」。
- DNS劫持对抗:国内运营商对公共DNS(8.8.8.8等)的UDP请求存在劫持。开启DoH(DNS over HTTPS)或DoT(DNS over TLS)可以有效绕过污染。详细配置方法参考DNS解析原理与优化指南。
- 分流问题:如果你的软路由配置了自定义规则集(如China-IP直连、外网代理),DNS查询也可能被错误分流——本该走代理的域名查询走了直连DNS。检查规则集中的DNS相关条目,确保需要代理的域名走代理DNS。
对隐私安全要求高的用户可以使用纯IEPL专线机场,这类机场通常内置了防DNS泄露机制。SS-ID全线路IEPL,加上沪日专线的低延迟路由,DNS查询全程加密走专线隧道,不存在泄露风险。
六、问题五:特定网站或App无法访问
症状:大部分外网正常,但某一个或某类网站/app打不开。
根因排查:
- 证书问题:OpenWrt的ca-certificates包未安装或版本过旧,导致HTTPS证书验证失败。执行
opkg update && opkg install ca-certificates更新。 - 规则集拦截:检查科学上网插件中的规则集。某些规则集默认屏蔽了P2P、流媒体或特定域名。在插件后台搜索被屏蔽的域名,添加到白名单。
- CDN问题:部分网站(如Cloudflare保护的站点)对代理IP的请求频率有限制。如果多个用户使用同一个机场出口IP访问同一个网站,可能触发CDN的速率限制。换一个节点即可解决。
- UDP转发:某些App(如游戏、语音通话)依赖UDP协议。检查插件是否开启了UDP转发,大部分科学上网插件默认只转发TCP。
七、问题六:固件/插件升级后异常
症状:升级OpenWrt或某个科学上网插件后,原来的配置突然不工作了。
根因排查:
- 内核模块变更:OpenWrt大版本升级会更换Linux内核。某些科学上网插件(特别是依赖TUN/TAP或iptables的)需要重新编译内核模块。升级后执行
lsmod | grep tun确认TUN模块是否加载。 - 配置文件格式变更:插件的配置文件格式在大版本更新时可能会变化。最常见的是PassWall从2.x升级到3.x、OpenClash更新到新版本时,旧配置兼容性问题。升级前先备份当前配置,升级后如果异常可以直接恢复。
- 依赖包缺失:升级后可以通过
opkg list-installed | grep -E "luci|curl|iptables|nftables|kmod"检查核心依赖是否存在。缺失的依赖会直接导致插件页面空白或功能失效。 - 版本回退:如果升级后无法使用,最快的恢复方式是刷回旧版本固件——前提是你保留了旧版固件文件。建议每次升级前先备份当前固件,参考OpenClash进阶配置指南中的固件备份章节。
八、问题七:多设备同时使用异常
症状:单设备测试时一切正常,但家里人一用就卡、断流或某些设备完全上不了网。
根因排查:
- 连接数限制:有些机场套餐限制了同时连接数(如3台、5台)。如果超过限制,超出部分的设备无法建立代理连接。检查机场后台的「在线设备数」,如果异常高说明可能被共享了。
- DHCP地址池不足:如果家里设备多(智能家居+手机+电脑超过20台),DHCP的默认地址池(192.168.1.100-250)可能不够用。增加地址池范围或缩短租期。
- WiFi信道干扰:软路由自带的WiFi信号质量通常不如硬路由。如果全屋设备都走软路由的WiFi,信道拥堵会导致频繁断开。建议软路由只负责有线代理,WiFi功能交给硬路由AP。
- QoS未配置:当有人看4K视频或下载大文件时,带宽被占满导致其他设备卡顿。配置QoS(流量整形)或限制单设备最大带宽可以解决。
九、终极排错流程与预防措施
如果以上逐个排查仍然没有解决,执行以下终极流程:
- 最小化测试:只保留软路由+一台电脑,断开所有其他设备和USB外设。如果最小化环境正常,问题出在某一台设备或外设上。
- 源码级日志:在SSH终端中前台运行科学上网插件(如
passwall -F或/etc/init.d/openclash start),实时观察日志输出。大多数插件在debug模式下会输出详细的连接日志,能直接指出问题在哪一步。 - 保留数据重刷:在OpenWrt后台「系统→备份/升级」中勾选「保留当前配置」重刷同版本固件。这能修复文件系统损坏但不影响配置——比完全重刷快得多。
- 长远方案:如果三天两头出问题,可能是硬件性能不足(CPU/内存不够)。当前价位段,推荐ARM架构R4S以上(4核+1GB内存+USB3.0)作为稳定运行的底线配置。详细的选购指南参考软路由硬件选购指南。另外,如果你不想花时间维护这些复杂配置,成熟稳定的机场订阅加上主流客户端(Clash Verge Rev/Sing-Box)的开箱即用体验,可能比软路由更适合你。
日常预防清单:
- 每月手动更新一次机场订阅(或设置订阅自动更新)
- 升级固件前备份配置和固件文件
- 保持至少一个备用节点在你关注的区域
- 核心配置(防火墙规则、DNS设置)写进启动脚本,重启后自动应用
- 设置日志轮转,避免日志写满存储导致系统异常
十、总结
软路由排错的核心原则是分层排查,先确认故障范围,再逐层检查——不要一上来就重刷固件。这篇文章覆盖了软路由最常见的10类故障场景,从连不上到断流、从DNS泄露到多设备冲突,基本能覆盖你日常可能遇到的95%的问题。
最后一条建议:如果你的软路由需要花大量时间维护,说明要么硬件太弱(需要升级),要么配置太复杂(需要简化)。一个好方案应该是配置好后可以稳定运行数月不需操心的——而不是每天都要折腾。
推荐阅读
- PassWall vs Hello World vs SSR-Plus vs OpenClash:软路由代理插件深度对比 — 不同插件的排错要点和适用场景各有不同
- 主流科学上网协议区别与实测对比 — 了解各协议的兼容性和性能特征,排错时就知道该换哪个协议
- DNS解析原理与优化指南 — DNS问题占了软路由故障的30%以上,这篇帮你彻底搞懂
- Xray REALITY协议完全指南 — 自建节点+软路由混合方案的高级排错知识