普通网友 2025-11-02 08:25 采纳率: 98.5%
浏览 33
已采纳

Immortalwrt如何配置双WAN负载均衡?

在使用Immortalwrt配置双WAN负载均衡时,一个常见问题是:如何正确设置多WAN口并实现基于流量的负载分担?用户常遇到策略路由失效、接口识别错误或负载不均等问题。需确保两个WAN连接分别配置在独立接口(如wan和wan2),并通过“网络”→“负载均衡”模块启用MUMC或mwan3插件。关键步骤包括:定义成员接口、创建策略规则、绑定目标流量(如按源IP或协议分流)。常见误区是未关闭默认网关冲突或未配置正确的健康检测机制,导致链路切换失败。此外,部分用户忽略防火墙区域设置,致使回程流量路径异常,引发断连。如何结合mwan3实现稳定且智能的双线负载,是实际部署中的核心挑战。
  • 写回答

1条回答 默认 最新

  • 爱宝妈 2025-11-02 09:17
    关注

    ImmortalWrt双WAN负载均衡深度配置指南

    1. 基础概念:理解多WAN与mwan3核心机制

    在现代企业或高性能家庭网络中,双WAN接入已成为提升带宽利用率和链路可靠性的标配方案。ImmortalWrt作为OpenWrt的衍生版本,继承并优化了其网络功能,尤其在mwan3(Multi-WAN 3)模块的支持上表现优异。mwan3通过策略路由实现流量分发,而非传统静态默认网关方式,从而支持基于源IP、目标地址、协议类型等维度的智能分流。

    mwan3工作原理依赖于三个核心组件:接口成员(Members)策略(Policies)规则(Rules)。成员定义物理WAN口及其权重;策略决定流量如何分配(如负载均衡、主备切换);规则则绑定特定数据流至某策略。

    2. 配置流程:从接口划分到策略生效

    1. 确认硬件支持双WAN:确保路由器具备至少两个独立WAN口(如eth0.2为wan,eth0.3为wan2)
    2. 进入“网络 → 接口”,分别创建 wanwan2 接口,各自配置PPPoE/DHCP/静态IP等接入方式
    3. 禁用默认网关冲突:在每个WAN接口的“高级设置”中取消勾选“使用默认网关”
    4. 安装并启用 mwan3 插件:opkg update && opkg install mwan3 luci-app-mwan3
    5. 重启后进入“网络 → 负载均衡”页面,初始化mwan3配置
    6. 在“成员”选项卡中添加 wan_memeber 和 wan2_member,设定模式为“在线”、权重相等(如1:1)
    7. 在“策略”中创建 load_balance_policy,选择两个成员并设置为“平衡”模式
    8. 在“规则”中新建 rule_by_srcip,匹配条件设为“源地址=192.168.1.0/24”,应用策略为load_balance_policy
    9. 保存并应用配置,执行 /etc/init.d/mwan3 restart
    10. 验证状态:mwan3 status 查看各链路健康状态与当前策略命中情况

    3. 故障排查:常见问题与诊断路径

    问题现象可能原因解决方案
    策略未生效mwan3服务未启动或规则优先级错误检查日志 /var/log/mwan3.log,调整规则顺序
    回程路径异常防火墙区域未正确关联WAN接口将wan/wan2均加入“WAN”防火墙区域
    链路频繁切换健康检测阈值过严或探测地址不可达修改探测DNS(如8.8.8.8, 1.1.1.1),放宽失败次数
    负载不均权重设置不合理或哈希算法偏差启用“src-dst-ipport”哈希模式,调整成员权重
    部分设备无法上网规则未覆盖该子网或MAC过滤增加默认规则 catchall_rule 使用主线路
    PPPoE拨号失败VLAN或MTU配置错误设置MTU=1492,确认VLAN ID正确
    IPv6流量绕过mwan3mwan3默认不处理IPv6需手动配置ip6tables规则或使用其他工具
    DNS污染或延迟高DNS请求走错出口强制DNS查询绑定单一稳定链路

    4. 进阶优化:实现智能流量调度

    为了实现更精细化的控制,可结合iptables与mwan3进行联动。例如,将视频流量(TCP 443且User-Agent含YouTube)导向高带宽线路,而VoIP流量(UDP 5060/ RTP端口)指定低延迟线路。

    # 示例:通过自定义标记实现协议级分流
    iptables -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 10
    echo "option mark '10'" >> /etc/config/mwan3.rule.video
    
    # 在mwan3规则中引用此mark值
    config rule
        option name 'Video_Traffic'
        option mark '10'
        option dest_ip '0.0.0.0/0'
        option policy 'high_bandwidth_policy'

    5. 架构设计:可视化流程与系统集成

    以下Mermaid流程图展示了mwan3在数据包流转中的介入位置:

    graph TD
        A[客户端发起请求] --> B{mwan3 Rule匹配?}
        B -- 是 --> C[根据Policy选择出口]
        B -- 否 --> D[走默认路由表]
        C --> E[通过对应WAN接口发送]
        E --> F[健康检测守护进程监控链路]
        F -->|失败| G[触发故障转移]
        F -->|恢复| H[按策略重新纳入负载]
        G --> I[更新路由表与conntrack]
        H --> I
        I --> J[继续正常转发]
        

    6. 实践建议:生产环境部署要点

    • 启用链路健康检测:配置多个探测目标(如运营商网关、公共DNS、云服务商IP),避免单点误判
    • 合理设置探测间隔与超时时间:一般建议 interval=5s, timeout=3s, count=2
    • 使用conntrack工具监控NAT会话:watch -n 1 'conntrack -L | grep ESTABLISHED'
    • 定期备份配置文件:/etc/config/network, /etc/config/firewall, /etc/config/mwan3
    • 考虑QoS协同:若某WAN为ADSL,应结合SQM限制上传以保障mwan3探测包及时响应
    • 启用日志审计:log_level 7 可输出详细调试信息用于分析策略命中率
    • 避免与dnsmasq劫持冲突:确保DHCP下发的网关非物理接口地址,而是mwan虚拟接口
    • 测试方法:使用多终端并发下载、iperf3测速、curl结合--interface参数验证出口IP一致性
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月3日
  • 创建了问题 11月2日