1. 多线负载均衡的基础认知家里拉了两条宽带却只能轮流使用小型企业多条线路接入却无法发挥最大效益这就像买了四驱车却只用前轮驱动一样浪费。RouterOS的PCCPer Connection Classifier功能正是为解决这类问题而生它能将多条宽带线路合并使用实现真正的带宽叠加效果。我最早接触多线负载是在2015年当时工作室需要同时处理视频上传和直播推流单条100M宽带根本不够用。尝试了各种方案后RouterOS的PCC方案以其稳定性和高效性脱颖而出。与传统的NTH方式不同PCC采用哈希算法对连接进行分类确保同一会话始终走同一条线路避免了网银登录、视频会议等应用因切换线路导致的中断问题。PCC的核心优势在于三点一是基于连接而非数据包的负载均衡避免了TCP序列混乱二是支持按比例分配流量适合带宽不对称的多线场景三是配置灵活可以针对特定IP或应用设置独立策略。实测在双线100M宽带环境下通过PCC配置后下载速度能稳定达到190Mbps以上基本实现了11≈2的效果。2. 环境准备与基础配置2.1 硬件连接要点我建议使用RB750Gr3或hEX S这类带硬件NAT加速的设备作为主路由。曾经在CCR1009上测试5条PPPoE线路满载时CPU占用不到15%。将光猫通过不同网线连接到RouterOS的多个以太网口比如ether1到ether5分别对应5条宽带线路ether6作为LAN口。物理连接时有个细节容易忽略最好用不同颜色的网线区分各WAN口去年就遇到过因网线插错导致策略失效的案例。2.2 接口配置实战通过Winbox登录后首先建议备份现有配置/system backup save namebefore_pcc接着进行接口命名以双线为例/interface set [find nameether1] nameWAN1 /interface set [find nameether2] nameWAN2PPPoE拨号配置要注意的是不同地区运营商会限制多拨建议先咨询确认/interface pppoe-client add namepppoe-out1 interfaceWAN1 user宽带账号1 password密码1 /interface pppoe-client add namepppoe-out2 interfaceWAN2 user宽带账号2 password密码23. PCC核心配置详解3.1 连接标记策略PCC的精华在于其分类算法both-addresses参数会同时计算源IP和目标IP的哈希值确保双向流量走同一路径。以下双线配置示例中2/0表示将总连接数分成2份取余数为0的连接2/1则对应余数为1的连接/ip firewall mangle add actionmark-connection chainprerouting connection-statenew \ dst-address-type!local per-connection-classifierboth-addresses:2/0 \ new-connection-markpcc1 passthroughyes add actionmark-connection chainprerouting connection-statenew \ dst-address-type!local per-connection-classifierboth-addresses:2/1 \ new-connection-markpcc2 passthroughyes3.2 路由标记与策略路由连接标记完成后需要将对应的连接绑定到特定路由标记。这里有个坑我踩过必须设置passthroughyes才能让数据包继续后续处理add actionmark-routing chainprerouting connection-markpcc1 \ new-routing-markroute1 passthroughyes add actionmark-routing chainprerouting connection-markpcc2 \ new-routing-markroute2 passthroughyes返程路由的配置很多人会遗漏这会导致响应数据包走默认路由造成不对称路由add chaininput in-interfacepppoe-out1 actionmark-connection \ new-connection-markpcc1 add chainoutput connection-markpcc1 actionmark-routing \ new-routing-markroute14. 路由与NAT配置4.1 多网关路由设置对于PPPoE拨号线路网关可以直接指定为接口名。建议启用网关检测当线路故障时自动剔除/ip route add dst-address0.0.0.0/0 gatewaypppoe-out1 routing-markroute1 \ check-gatewayping add dst-address0.0.0.0/0 gatewaypppoe-out2 routing-markroute2 \ check-gatewayping4.2 NAT伪装技巧常规做法是为每条线路单独设置NAT规则但我发现更高效的方式是使用接口列表/interface list add nameWANs /interface list member add interfacepppoe-out1 listWANs /ip firewall nat add actionmasquerade chainsrcnat out-interface-listWANs5. 调试与优化实战5.1 常见问题排查如果遇到部分网站无法访问大概率是DNS解析问题。建议在内网接口启用DNS代理/ip dns set allow-remote-requestsyes servers223.5.5.5,119.29.29.29用以下命令实时监控各线路流量分布/interface pppoe-client monitor [find] once5.2 进阶优化策略对于带宽不对称的线路如100M50M可以通过增加PCC分母实现3:2的流量比例per-connection-classifierboth-addresses:5/0,5/1,5/2 - 线路1 per-connection-classifierboth-addresses:5/3,5/4 - 线路2在RouterOS v7.1之后新增的ecmp模式可以替代部分PCC场景但经过实测在需要会话保持的应用中PCC仍是更可靠的选择。