Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenWrt/LEDE 利用MWAN3多线多拨配置 #3

Open
luckyyyyy opened this issue Jun 14, 2017 · 2 comments
Open

OpenWrt/LEDE 利用MWAN3多线多拨配置 #3

luckyyyyy opened this issue Jun 14, 2017 · 2 comments
Labels

Comments

@luckyyyyy
Copy link
Owner

luckyyyyy commented Jun 14, 2017

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'
@Icetard
Copy link

Icetard commented Jun 28, 2018

博主有同时使用ssr吗,我在LEDE上打开ssrlibev后,网速就跌回原速度了,请教一下😂

@luckyyyyy
Copy link
Owner Author

luckyyyyy commented Jul 8, 2018

没有使用ssr,我一直用的ss,没有任何证据说明协议好破解特征容易判断就会被墙或干预,是用的阿里云的HK自建,很稳定,并没有降速的情况。
@LaboratoryK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants