你的浏览器无法正常显示内容,请更换或升级浏览器!

RouterOS 双线负载均衡与策略路由实战避坑指南

tenfei
tenfei
发布于2026-09-28 16:04 阅读29次
RouterOS 双线负载均衡与策略路由实战避坑指南
RouterOS 双线接入怎么配才稳定?本文用一个真实小办公室案例,讲清 PCC 按连接分流、多路由表策略路由与 NAT 匹配的完整配置步骤,并总结 fasttrack、check-gateway、按连接分流这四个最常见的大坑,附验证方法与排查思路。
## 为什么单线不够用 家里或小办公室只有一条宽带时,一旦有人在跑下载、有人在开视频会议、还有人打游戏,带宽就会被抢得一干二净。很多人第一反应是买一台"多 WAN 路由器",但市面上便宜的多 WAN 设备大多只是简单轮询,断线切换慢、会话被拆散,登录态频繁掉线,体验反而更差。 RouterOS 在这方面非常能打,它可以用 PCC(Per Connection Classifier)做按连接分流,也可以用路由表做策略路由,两条宽带各司其职。但配置不当会掉进几个大坑,下面把踩过的坑一次性讲清楚。 ## 准备工作 先确认两条线路都已在 `/ip address` 里拿到地址,并各自有一条默认路由: ```rsc /ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=wan1 comment="WAN1" add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=wan2 comment="WAN2" add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping ``` 注意最后两条是不带 routing-mark 的主路由,负责断线自动切换;前面两条带 mark 的才是策略路由入口。顺序不能反,否则分流会失效。 ## PCC 分流标记 ```rsc /ip firewall mangle add chain=prerouting src-address=192.168.88.0/24 dst-address-type=!local \ connection-mark=no-mark in-interface=bridge action=mark-connection \ new-connection-mark=wan1_conn passthrough=yes \ nth=2,1 comment="奇偶分流-第一条" add chain=prerouting src-address=192.168.88.0/24 dst-address-type=!local \ connection-mark=no-mark in-interface=bridge action=mark-connection \ new-connection-mark=wan2_conn passthrough=yes comment="奇偶分流-第二条" add chain=prerouting connection-mark=wan1_conn in-interface=bridge \ action=mark-routing new-routing-mark=wan1 passthrough=no add chain=prerouting connection-mark=wan2_conn in-interface=bridge \ action=mark-routing new-routing-mark=wan2 passthrough=no ``` 关键点:**connection-mark 只在第一条包上打**,后续包靠 `connection-mark=no-mark` 的条件自动跳过,这样一条连接的上下行会走同一条线,不会出现"出去一条线、回来另一条线"导致 TCP 卡死。 ## NAT 必须匹配全部线路 ```rsc /ip firewall nat add chain=srcnat out-interface=pppoe-out1 action=masquerade add chain=srcnat out-interface=pppoe-out2 action=masquerade ``` 不要偷懒写一个 `action=masquerade` 不带出接口的规则,那样在双线环境里会随机选出口,导致回包路由不对称,表现就是网页能开、视频加载到一半卡住。 ## 踩坑记录 **坑一:忘了关 fasttrack。** `/ip firewall filter` 里默认的 fasttrack 规则会把 mangle 标记跳过,导致分流时有时无。排查时先把它 disable 掉再测。 **坑二:DNS 兜底。** 两条线各自的 DNS 可能不同,建议统一在 `/ip dns` 里指定公共 DNS,并开 `allow-remote-requests`,否则解析超时会让人误以为是线路问题。 **坑三:check-gateway 别用 arp。** 用 `check-gateway=arp` 时,只要对方设备还活着就认为线路正常,实际断网也切不过去。用 `ping` 或 `bfd` 更靠谱。 **坑四:分流比例不等于带宽比例。** PCC 按连接数分流是"连接数"公平,不是"带宽"公平。100 条小连接和 1 条大连接会被同等对待,若想按带宽,需要结合 `bandwidth` 或改用 queue 做限速。 ## 验证方法 配置完成后,用 `/tool torch` 观察 interface 的流量分布,再用浏览器分别访问测速站点,确认两条线都在承载流量。断开其中一条,观察主路由是否在 3 秒内切换,已建立的下载任务是否会中断。 把上面的步骤走一遍,双线环境基本能稳定运行。真正需要长期维护的其实只有两件事:定期检查线路健康状态,以及给关键业务(比如 NAS 备份、远程桌面)单独打策略路由,避免被分流打散。 --- **小结**:RouterOS 双线的核心是 mangle 标记 + 多路由表 + NAT 匹配。先标记连接、再标记路由、最后统一 NAT,顺序错了就白配。避开 fasttrack、ARP 检测、按连接分流这三个坑,稳定性会有质的提升。

1

0

文章点评
Copyright © from 2021 by namoer.com
458815@qq.com QQ:458815
蜀ICP备2022020274号-2