OpenWRT 下双 WAN 配置(多播、接口相关)

本文讲述如何在 openwrt 家用智能路由器上配置双 WAN 带宽叠加。

前提条件

  • 两条或更多的宽带,或者是支持单线多拨的宽带。
  • 已经安装 MWAN3 及 luci 图形化配置界面(Pandorabox 固件默认已安装)。

VLAN 配置

什么是 VLAN?VLAN 是在同一物理局域网内用于划分若干个不同广播域(子网)的技术,子网内的主机可以互相通信,不同子网的主机之间不可互相通信。
什么是 VLAN ID?用于标识每个 VLAN 子网的 ID。
为什么要划分 VLAN?在 OpenWRT 下,接口是根据 VLAN 划分的,每个逻辑接口(interface)可对应一个 VLAN ID 作为物理接口,这将在后面的步骤中体现出来。

在 openwrt 的 web 配置页面上,进入 网络 -> 交换机 (Network->Switch)。
默认情况下,已经分配的 VLAN 应该有 1 个或者 2 个。
通过插拔网线的方法,将配置页上的端口和路由器的物理 RJ45 接口对应上来。
在小米路由器 mini 上,默认分配如下两个 vlan:

其中,VLAN1 用作 LAN,连接了除端口 4 以外的所有物理端口;VLAN2 是默认的 WAN,只连接端口 4。(此处端口 4 即为小米路由器 mini 上的蓝色 WAN RJ45 物理端口)
注意,端口状态 “不关联”(untagged),即该端口作为本 VLAN 成员,进行二层交换;若选择 “关联”(tagged),端口之间通信无二层交换,而是冲突广播(hub 方式)。

选择一个端口作为第二个 WAN 口的端口,在现有的 VLAN 配置中将其设置为 “关”,然后新建一个 VLAN,将该端口设置为“不关联”,其他端口设置为“关”,CPU 设置为“关联”。注意,小米路由器 mini 有一个特殊的端口 7,按照原有的两个 VLAN,将其设置为“关联” 即可。
如图,博主选择端口 1 来作为第二个 WAN 端口,在 VLAN1 中将其设置为 “关”,并在新建的 VLAN3 中设置其为 “不关联”。

保存即可。

新建 WAN 接口

进入 网络 -> 接口,将当前WAN接口更名为WAN1,并添加一个新接口,命名为WAN2
WAN2的配置中,设置第二条宽带的拨号方式,在 “物理设置” 中选择刚才添加的 VLAN3(eth0.3)。

重要
进入WAN1的编辑页,在 “高级设置” 中,勾选 “使用默认网关”,填写“使用网关跃点” 为 40;
进入WAN2的编辑页,在 “高级设置” 中,勾选 “使用默认网关”,填写“使用网关跃点” 为 41;

若有更多的 WAN 需要添加,方法类似,需要注意每个 WAN 接口的网关跃点必须不一样。

设置完成后,在接口总览中应该能看到两个 WAN 都成功获取到 IP,如果是 PPPoE 方式,应该都已经拨号成功。

MWAN3 配置

接下来需要通过 MWAN3 实现多 WAN 负载均衡。

进入 网络 -> 负载均衡。

  • 接口配置
    进入 配置 -> 接口。
    删除所有已有的默认接口。
    添加两个接口,分别为WAN1WAN2
    在接口详情的 “跟踪的 IP 地址” 中,可添加几个国内的主机 IP 作为检测接口是否上线的 ping 地址。当 ping 该 IP 多次超时后,即该接口视作下线。
    博主的固件版本下,这个跟踪功能并不好使,经常误判断接口下线,因此我清空了跟踪的 IP 地址,并视作接口始终上线。
  • 成员配置
    进入 配置 -> 成员,删除所有已有的默认成员,添加两个成员,分别命名为wan_1, wan_2
    成员wan_1设置接口为WAN1,跃点数 1,接口比重 1;
    成员wan_2设置接口为WAN2,跃点数 1,接口比重 1;
  • 策略配置
    进入 配置 -> 策略,添加一个策略balanced(或者编辑已有的balanced策略),使用的成员为wan_1, wan_2
  • 规则配置
    进入 配置 -> 规则,保留已有的https规则。如果没有default_rule规则,则添加一条default_rule规则,目标地址设置为0.0.0.0/0,协议选择all,使用的策略为balanced,其他留空。
  • 保存并应用全部设置,此时应该能够实现双线负载均衡了。

至此,openwrt 路由器上的双 WAN 配置实现带宽叠加已经完成了,可以测速看看了。

原文链接:https://www.chionlab.moe/2016/07/13/openwrt-multiwan-configuration/

发布者

胡中元

《中原驿站》站长

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注