blog
blog copied to clipboard
OpenWrt/LEDE 利用MWAN3多线多拨配置
OpenWrt/LEDE是目前大部分联发科、博通、高通解决方案的路由器固件,可玩性较高,基于Linux,具体内容请各位自行查阅资料,这里主要记录个人的一些配置过程。
多线多拨主要是用于多运营商,目前由于我个人住所有移动和电信两条线路,电信的带宽较小,希望只用于游戏,移动的带宽可以拿来看视频或其他娱乐,希望通过MWAN3负载均衡来达到预期的效果。
接下来直接上配置过程,由于个人很少使用Luci,如果希望使用luci的同学也可以根据本文反推。
安装mwan3
opkg update
opkg install mwan3
# 使用luci的同学可以安装luci界面
opkg install luci-app-mwan3
Switch配置
交换机配置这里,主要是将一个LAN口作为WAN使用,这样使路由器可以拥有两个WAN口,具体需要看各种解决方案提供的交换机方案,以下是NETGEAR R7800的配置,大部分联发科和此例有非常大的区别,建议新手通过luci观察后再进行配置。
配置文件路径/etc/config/network
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option vid '1'
option ports '1 2 4 6'
config switch_vlan
option device 'switch0'
option vlan '2'
option vid '2'
option ports '0 5 6t'
config switch_vlan
option device 'switch0'
option vlan '3'
option vid '3'
option ports '3 6t'
Interface配置
这就简单了,由于lan已经存在,我们就不需要在创建,一般长下面这样。
配置文件路径/etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
下面我们需要创建两个wan接口,分配到不同的端口上,并且需要指定不同的gateway metric, 注意下面实例配置中的ifname和metric,ifname必须对应上述交换机配置的位置,使其可以正确工作。
config interface 'cmcc'
option ifname 'eth0'
option _orig_ifname 'eth0'
option _orig_bridge 'false'
option proto 'pppoe'
option ipv6 'auto'
option metric '41'
option username '********'
option password '********'
config interface 'ctcc'
option ifname 'eth1.3'
option _orig_ifname 'eth0'
option _orig_bridge 'false'
option proto 'pppoe'
option ipv6 'auto'
option metric '42'
option username '********'
option password '********'
如果完成以上步骤,网络应该已经可以通了,两个接口分别可以使用PPPoE取到对应的公网IP。 但是目前还没有配置均衡,所以也没法让对应的出口走对应的线路。 这里提醒一句,如果两条线是不同的运营商就不要想着带宽叠加了,因为由于DNS关系,不同的运营商都有最优的DNS,由于浏览器等软件都有缓存策略,反而会遇到一些意外情况的发生,例如电信走移动DNS或移动走电信DNS,都会导致解析出的IP很奇怪,当然如果仅仅是迅雷等P2P下载是没有关系的,可以完美叠加网速。
mwan3负载均衡配置
我们可以删除mwan3的示例配置文件然后一步步来重新配置。
配置文件路径/etc/config/mwan3
新建interface
我们需要新建两个和上述network中一致的interface,具体配置如下,配置项都是字面意思,可以为不同的运营商配置不同的track ip。
config interface 'cmcc'
option enabled '1'
option reliability '1'
option count '1'
option timeout '2'
option interval '5'
option down '3'
option up '8'
list track_ip '211.140.13.188'
list track_ip '211.140.188.188'
config interface 'ctcc'
option enabled '1'
option reliability '1'
option count '1'
option timeout '2'
option interval '5'
option down '3'
option up '8'
list track_ip '223.5.5.5'
list track_ip '114.114.114.114'
新建Member
Member用于配置每个接口的分流比例,做一个简单的配置即可,这里我们没有特殊的需求。
config member 'cmcc_m1_w1'
option metric '1'
option weight '1'
option interface 'cmcc'
config member 'ctcc_m1_w1'
option metric '1'
option weight '1'
option interface 'ctcc'
新建Policy
策略就简单了,我们需要建三个策略,分别是balanced,only_ctcc,only_cmcc。
config policy 'balanced'
list use_member 'ctcc_m1_w1'
list use_member 'cmcc_m1_w1'
option last_resort 'unreachable'
config policy 'only_ctcc'
list use_member 'ctcc_m1_w1'
option last_resort 'unreachable'
config policy 'only_cmcc'
list use_member 'cmcc_m1_w1'
option last_resort 'unreachable'
新建Rule
路由策略就是我们最终的杀手锏了,在这里可以对不同的APP,不同的IP,配置不同的策略,balanced亦或是only_ctcc或是only_cmcc,但是注意他们的先后顺序,最先的会先被匹配。
config rule 'hz_sd'
option proto 'all'
option sticky '0'
option use_policy 'only_ctcc'
option dest_ip '202.91.240.0/24,202.75.216.0/24'
config rule 'jx3'
option sticky '0'
option use_policy 'only_ctcc'
option proto 'all'
option dest_ip '121.14.64.0/24,121.14.23.0/24,121.14.28.0/24'
config rule 'icmp'
option proto 'icmp'
option sticky '0'
option use_policy 'only_ctcc'
config rule 'yy'
option dest_port '8443:8460'
option proto 'udp'
option sticky '0'
option use_policy 'only_ctcc'
config rule 'default_rule'
option dest_ip '0.0.0.0/0'
option proto 'all'
option sticky '0'
option use_policy 'only_cmcc'
博主有同时使用ssr吗,我在LEDE上打开ssrlibev后,网速就跌回原速度了,请教一下😂
没有使用ssr,我一直用的ss,没有任何证据说明协议好破解特征容易判断就会被墙或干预,是用的阿里云的HK自建,很稳定,并没有降速的情况。 @LaboratoryK