搜索 K
Appearance
最后更新:2026 年 Q1 | 适配 OpenClash v0.46+ / mihomo 内核 | 实测平台:R2S、R4S、N1、J4125、N100、N5105
如果你只想看结论,先把下面这四条刻进脑子里:
opkg install 手动补依赖。别用那种「万能固件」——90% 的莫名断流都来自被魔改过的内核模块。很多人装完 OpenClash 发现速度腰斩,第一反应是「机场不行」,其实绝大多数情况下瓶颈在自己这套转发链路上。把下面这几层物理机理搞懂,你就不会再被玄学困扰。
局域网的请求进入软路由后,实际走的是这样一条链路:
LAN 网卡 → netfilter PREROUTING → 路由决策 → TPROXY/REDIRECT 标记 → Clash 用户态进程 → 出站 socket → WAN 网卡
关键在于**「用户态进程」这四个字**。Clash 是跑在用户空间的 Go 程序,每一个连接都要从内核态拷贝到用户态、做完域名匹配和加密、再拷贝回内核态。这意味着:
R2S 的 RK3328 单核跑分约 800,J4125 单核约 1300,N100 约 2200。这就是为什么同样一份配置,换到 x86 上速度能翻三倍——差距不在网络层,在 CPU。
SO_ORIGINAL_DST 反查原始目标。会丢失端口信息,且只能处理 TCP,是 2018 年前的方案,2026 年除了极老固件不应再使用。IP_TRANSPARENT socket 选项接管连接。保留完整五元组,性能最好,是当前 TCP 分流的标准答案。缺点是对 UDP 支持有限,需要额外配合 UDP relay。utun,数据包在 L3 层进出,走的是 netif_receive_skb 网络接收路径。开销比 TProxy 大 15–30%,但原生支持 UDP,游戏、QUIC(HTTP/3)、DNS over QUIC 都能覆盖。实战配置建议:TCP 走 TProxy,UDP 走 TUN,二者互补,这是目前延迟与兼容性最平衡的组合。
DNS 是分流的命门,两种模式本质上是在解决同一个问题——如何在请求 HTTPS 之前就知道目标域名。
198.18.0.0/16 段的保留地址,Clash 内部维护「假 IP → 真域名」的映射表。等到 TCP 连接建立时,用假 IP 反查域名再做规则匹配。零 DNS 延迟,且天然免疫污染。Fake-IP 的副作用是部分应用(尤其是某些 App 内置的 SNI 校验和 IP 直连逻辑)会报错,此时可以在 OpenClash 的「Fake-IP 过滤」里加入对应域名走 Real-IP。
OpenClash 只负责本地转发,真正决定你在跨境网络上跑多快的是服务端链路:
服务端拥塞控制同样是变量。启用 BBRv3 的服务端,在 5% 丢包链路下仍能维持 70% 以上的带宽利用率;而 CUBIC 在同等条件下会跌到 30% 以下。这也是为什么同一机场不同节点速度差异巨大——不是你的配置问题,是服务端算法在吃分。
下表基于 2026 年 1 月实验室实测(1000Mbps 对称宽带,单条 IEPL 节点,TProxy 模式):
| 平台 | SoC | 单核跑分 | 内存 | TCP 吞吐 | TUN 吞吐 | NAT 转发 | 功耗 | 价格区间 | 推荐场景 |
|---|---|---|---|---|---|---|---|---|---|
| NanoPi R2S | RK3328 双核 | 约 800 | 1GB | 300–500Mbps | 150–250Mbps | 940Mbps | 3W | 200 元 | 300M 以下宽带 |
| NanoPi R4S | RK3399 六核 | 约 1500 | 1/4GB | 700–900Mbps | 400–600Mbps | 940Mbps | 5W | 400 元 | 500M–1000M |
| 斐讯 N1 | S905 四核 | 约 1100 | 2GB | 500–800Mbps | 300–450Mbps | 900Mbps | 4W | 二手 150 元 | 折腾党 |
| J4125 四口 | Celeron | 约 1300 | 4–8GB | 1.5–2Gbps | 1–1.5Gbps | 2.5Gbps | 10W | 700 元 | 千兆宽带首选 |
| N5105 四口 | Celeron | 约 1800 | 8GB | 2–2.5Gbps | 1.5–2Gbps | 2.5Gbps | 12W | 900 元 | 2.5G 内网 |
| N100 四口 | Alder Lake-N | 约 2200 | 8–16GB | 2.5Gbps+ | 2Gbps+ | 2.5Gbps | 15W | 1200 元 | 未来三年不换 |
关键结论:
AES-NI 或 Intel VT-d 相关选项确认启用,可提升 40% 以上加密吞吐。A. 家庭全屋使用者(占比最高) 需求:手机、电脑、电视盒子、NAS 全部无感科学上网。 方案:x86 软路由作为主路由 + Fake-IP + TProxy(TCP)/TUN(UDP)。理由:主路由方案无旁路由的二次转发损耗,延迟低 5–15ms,且规则统一,不会出现「手机能通电视不通」的碎片化问题。
B. 出租屋/单间党 需求:不折腾硬件,预算 200 元内。 方案:N1 盒子刷 Armbian/FriendlyWrt 做旁路由,或者干脆在路由器上用 Clash 插件。旁路由方案需要手动把默认网关指过去,Wi-Fi 设备多的话维护成本高。
C. 小型工作室/多设备 需求:20+ 终端,需要流量统计和分组策略。 方案:x86 N100 + OpenWrt 官方固件 + OpenClash,务必启用分组策略(不同 MAC 走不同策略组),方便排查问题终端。
D. 极客玩家 需求:多机场负载均衡、自动测速切换、链路冗余。 方案:R4S 或 x86 + mihomo 内核 + url-test 组 + fallback 组双层冗余。配合 /etc/crontab 定时拉取订阅。
OpenClash,点击安装(会自动补齐 kmod-tun、iptables-mod-tproxy 等依赖);先在 SSH 里补依赖:
opkg update
opkg install kmod-tun kmod-ipt-nat iptables-mod-tproxy \
iptables-mod-extra iptables-mod-filter iptables-mod-ipopt \
coreutils-nohup bash curl ca-bundle ipset dnsmasq-full注意:dnsmasq-full 会覆盖原 dnsmasq,若报冲突需先 opkg remove dnsmasq。这是最常见的踩坑点——Fake-IP 模式必须依赖 dnsmasq-full 的 ipset 支持。
上传 luci-app-openclash_*.ipk 到 /tmp,执行:
opkg install /tmp/luci-app-openclash_*.ipk若提示依赖缺失,用 opkg install --force-depends 强装后再逐个补,但不建议长期依赖 --force-depends,会导致后续升级连锁失败。
进入 OpenClash → 插件设置 → 版本更新:
mihomo 最新稳定版;ghproxy 类加速源;/etc/openclash/core/,删除旧文件,上传新二进制后执行:chmod +x /etc/openclash/core/clash_meta
/etc/init.d/openclash restart验证内核版本:/etc/openclash/core/clash_meta -v
启用自定义上游 DNS:是
默认 DNS:223.5.5.5 / 119.29.29.29(国内解析)
Fallback DNS:1.1.1.1 / 8.8.8.8(兜底)
启用 DNS 缓存:是,缓存大小 4096
禁止 Dnsmasq 缓存:是(避免双层缓存导致切换延迟)推荐组合:Rule 模式 + GEOSITE + GEOIP 双规则集。GEOSITE 按域名分类(精确但需定期更新),GEOIP 按国家 IP 段(粗粒度但兜底)。两者叠加可将误判率压到 1% 以下。
流量订阅的节点质量才是分流的上限。我们实测过的机场中,光速云的 IEPL 节点在晚高峰(21:00–23:00)仍能维持 800Mbps 以上单线程下载,这是很多公网中转机场做不到的。
以下命令均在软路由 SSH 中执行。
| 症状 | 首个排查命令 | 可能原因 |
|---|---|---|
| 全屋断网 | ping 223.5.5.5 | WAN 掉线或防火墙规则异常 |
| 国内通、国外不通 | nslookup google.com 127.0.0.1 | DNS 未劫持 / Fake-IP 未生效 |
| 国外能通但极慢 | mtr -rwzc 20 1.1.1.1 | 上游链路丢包或 MTU 问题 |
| 部分 App 报错 | tcpdump -i br-lan port 53 | DNS 泄漏或 SNI 校验 |
| 速度只有峰值 1/3 | top 看 CPU 占用 | 单核打满,需换硬件或降级加密方式 |
链路质量:
mtr -rwzc 20 1.1.1.1关注 Loss% 与 StDev。若第一跳就丢包,是本地网线/网卡问题;若中途某跳丢包但后续恢复,属于 ICMP 限速,可忽略。
端口连通性(OpenClash 未内置 tcping,需手动安装):
opkg install tcping
tcping -c 10 1.1.1.1 443Mac 端验证 DNS 是否被劫持:
scutil --dns | grep nameserver
dig @192.168.1.1 google.com若返回 198.18.x.x,说明 Fake-IP 生效;若返回真实 IP 且是污染地址(如 31.13.x.x 类),说明 DNS 未走 OpenClash。
CPU 与内存:
top -d 1
cat /proc/loadavg
free -mOpenClash 单进程 CPU 长期高于 60% 即达到瓶颈。
连接跟踪:
cat /proc/net/nf_conntrack | wc -l超过 10000 条时,考虑调大 net.netfilter.nf_conntrack_max。
MTU 检测(跨境链路最常见隐形杀手):
ping -M do -s 1472 1.1.1.1若提示 Message too long,逐步减到 1400 附近。TUN 模式下建议全局 MTU 设为 1400,TProxy 模式设 1420。
实时抓包:
tcpdump -i any -nn port 7890 -c 100 -w /tmp/oc.pcap配合 Wireshark 分析,重点看 TCP 三次握手是否有重传、RST。
OpenClash 运行日志:/tmp/openclash.log,出现 dial tcp 超时多为节点问题,出现 `rule