旁路由OpenWRT部署OpenClash连接特别慢卡顿问题排查记录
最近在调试家庭网络时遇到个邪门问题:当设备走OpenClash旁路由时,网页加载像挤牙膏,还经常白屏。主路由爱快稳如老狗,一到旁路由就拉胯。折腾一周终于找到原因,把排查过程分享给各位。
一、症状描述
网络结构:爱快主路由 + OpenWRT旁路由(单跑OpenClash)
带宽情况:千兆宽带+公网IP,连接数上限5万
故障现象:
设备指向主路由:网速正常,油管 4K秒开
走旁路由时:网页经常卡loading,Chrome显示ERR_CONNECTION_RESET
活动连接数暴涨到3万+,但CPU占用仅40%
二、问题定位
# 关键排查命令: ping 223.5.5.5 → 延迟<10ms(正常) dig @localhost www.google.com → 响应超时 conntrack -L | wc -l → 29876(接近上限)
最终锁定两个罪魁祸首:
DNS服务过载:OpenClash的fake-ip模式导致DNS查询雪崩
连接数限制:防火墙默认conntrack上限3万,刚好卡在临界值
三、解决方案
1. DNS优化配置
# 修改/etc/config/OpenClash option dnsmasq_cachesize '10000' # 原值1500 option filter_aaaa '1' # 禁用IPv6解析 option remote_dns 'tls://8.8.4.4' # 直连DoT
2. 连接数扩容
# 修改/etc/sysctl.conf net.netfilter.nf_conntrack_max=65535 net.netfilter.nf_conntrack_tcp_timeout_established=1800
3. 分流策略调整
国内域名直连:
geoip,cn,direct
视频网站走代理:
geosite:youtube,Proxy
开启UDP中继避免白屏
四、效果验证
修改后连续监测48小时:
指标 | 优化前 | 优化后 |
---|---|---|
网页首屏时间 | 3-5秒 | 0.8-1.2秒 |
活动连接数 | 2.8万+ | 1.2万左右 |
DNS查询延迟 | 200-300ms | 20-50ms |
警告:不要无脑开大conntrack值!建议根据内存容量计算,每个连接约300字节,65535连接需要约20MB内存空间。
五、后续优化
启用DNS-over-HTTPS缓存
设置智能分流策略:
rule-providers
自动更新规则开启硬件加速:
echo 1 > /sys/module/tcp_bbr/parameters/cpu_save
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看