mwan3 简介,教程总结

OpenWrt上的MWAN3可以支持多根网线或者多个PPPOE账号的同时拨号使用和负载均衡。并且还可以通过Ping方式来检测中断线路并自动屏蔽中断线路。更厉害的是还支持通过IP、端口、甚至配合dnsmasq使用的域名来进行智能的多线路分流。十分实用。主要可以用在如下几个场景:

1、上网人数众多,一根网线不能满足需求,需要引入多根网线进行负载均衡

2、家里已经有一根宽带,但是由于你手机消费高运营商免费送了你一根宽带(中国移动经常这样做),那么与其浪费不如合并成一根宽带使用

3、担心一根宽带会掉线影响工作,希望使用多根宽带作为备用并实现自动掉线切换

4、想要对流量进行分流,想让某些流量发送到A宽带,其他流量发送到B宽带。或者自动连接两个不同网段。


在OpenWrt实现也并不麻烦,主要分为如下几个步骤

1、将原LAN口改成WAN口使用,并为这个新WAN口添加新的VLAN

2、将所有的新WAN口设置不同的网关跃点和MAC值

3、将新的WAN口配置到MWAN3中,并设置每个WAN口的分流比例

4、编写相应的路由策略,并添加到相应的规则中

配置说明

# This is a mwan3 example config. For mwan3 to work you will need at least 这是mwan3的设置示例。至少需要以下几项才能运行mwan3)
#
# - 2 interfaces(2个接口)
# - 2 members(2个成员)
# - 1 policy(1个策略)
# - 1 rule(1条规则)
#
# First define all your wan interfaces. Interface name must match with the
# name used in your network configuration:
(首先要设置所有的wan口,wan口的名字必须跟network配置文件中的wan口名字一致)
 

1.接口

config 'interface' 'wan1'
        option 'enabled' '1'
        list 'track_ip' '8.8.4.4'(这些IP都是测试IP,验证是否能ping的通。这里有4个,前两个都是google提供的免费DNS服务器,国内访问应该比较慢。)
        list 'track_ip' '8.8.8.8'
        list 'track_ip' '208.67.222.222'
        list 'track_ip' '208.67.220.220'
        option 'reliability' '2'(可靠性,测试以上IP的可靠性,必须是有响应的链接的个数。简单说就是要求上面的ip几个能ping通)
        option 'count' '1'(ping几次)
        option 'timeout' '2'(ping后如果超时,超时几秒)
        option 'interval' '5'(多次ping之间的间隔时间)
        option 'down' '3'(出现几个ping不通时就认定该wan口掉线了)
        option 'up' '8'(出现几个ping能成功时就认定已经掉线的wan口又上线了)

config 'interface' 'wan2'
        option 'enabled' '1'
        list 'track_ip' '8.8.8.8'
        list 'track_ip' '208.67.220.220'
        option 'reliability' '1'
        option 'count' '1'
        option 'timeout' '2'
        option 'interval' '5'
        option 'down' '3'
        option 'up' '8'

2.成员

# Next define a member and configure metric and weight values for this member.(接着设置一个成员的权重和跃点值)
# Each interface can have multiple member definitions. Give each member a correct(每一个接口可以含有多重成员定义。每一个成员名称必须有正确的名称)
# name (A-Z, a-z, 0-9, "_" and no spaces).

config 'member' 'wan1_m1_w3'
        option 'interface' 'wan1'
        option 'metric' '1'(1-1000的范围)
        option 'weight' '3'(1-1000的范围)

config 'member' 'wan1_m2_w3'
        option 'interface' 'wan1'
        option 'metric' '2'
        option 'weight' '3'

config 'member' 'wan2_m1_w2'
        option 'interface' 'wan2'
        option 'metric' '1'
        option 'weight' '2'

config 'member' 'wan2_m2_w2'
        option 'interface' 'wan2'
        option 'metric' '2'
        option 'weight' '2'


3.策略

# After that create a routing policy. A routing policy consist of one or more(然后创建一条路由策略。包括一个或者几个成员。每个策略必须有正确的名称。可以创建多重策略,以至于可以使不同的通信走不同的主/次wan口)
# members. Give each policy a correct name (A-Z, a-z, 0-9, "_" and no spaces). You
# can create multiple policies, so that it is possible for different traffic to
# have different primary and/or backup interfaces.

config 'policy' 'wan1_only'(只走wan1)
        list 'use_member' 'wan1_m1_w3'

config 'policy' 'wan2_only'(只走wan2)
        list 'use_member' 'wan2_m1_w2'

config 'policy' 'wan1_wan2_loadbalanced'(wan1、wan2负载平衡)
        list 'use_member' 'wan1_m1_w3'
        list 'use_member' 'wan2_m1_w2'

config 'policy' 'wan1_pri_wan2_sec'(wan1主,wan2次)
        list 'use_member' 'wan1_m1_w3'
        list 'use_member' 'wan2_m2_w2'

config 'policy' 'wan2_pri_wan1_sec'(wan2主,wan1次)
        list 'use_member' 'wan1_m2_w3'
        list 'use_member' 'wan2_m1_w2'

# And to finish the config define your traffic rules. Rules are matched in top to(最后来设置通信规则。他是从你设置的规则由上到下依次匹配,如果你定义的一条规则匹配上了,后面的规则都将忽略。如果平衡选项已经设置,mwan3将使每一个新的包走同一个目标主机地址来到达负载平衡,如果没有设置,那么mwan3会根据目标地址自动负载平衡)
# bottom order. If you define a rule and it matches, all following rules are ignored.
#
# If the option equalize is set, mwan3 will load-balance each new session to the same
# host. If not set, it will load-balance based on destination.

config 'rule'
        option 'src_ip' '192.168.21.0/24'(源IP,支持网段的表示方法)
        option 'proto' 'tcp'(指定协议)
        option 'dest_port' '563'(目标端口)
        option 'use_policy' 'wan2_only'(指定走上面设定的哪个策略)

config 'rule'
        option 'src_ip' '192.168.21.0/24'
        option 'proto' 'tcp'
        option 'dest_port' '995'
        option 'use_policy' 'wan1_only'

config 'rule'
        option 'dest_ip' '88.154.0.0/16'(目标IP)
        option 'proto' 'tcp'
        option 'dest_port' '1024:65535'(1024-65535的所有端口)
        option 'equalize' '1'(1为选中。如果选中,mwan3将使每一个新的包走同一个目标主机地址来到达负载平衡。如果没有,那么mwan3会根据目标地址自动负载平衡)

        option 'use_policy' 'wan1_wan2_loadbalanced'

config 'rule'
        option 'dest_ip' '77.11.41.0/24'
        option 'proto' 'tcp'
        option 'dest_port' '1024:65535'
        option 'use_policy' 'wan1_pri_wan2_sec'

config 'rule'
        option 'dest_ip' '112.136.0.0/16'
        option 'proto' 'udp'
        option 'dest_port' '5352'
        option 'use_policy' 'wan2_pri_wan1_sec'

config 'rule'
        option 'dest_ip' '0.0.0.0/0'
        option 'use_policy' 'wan1_wan2_loadbalanced'

安装以及配置

1.下载安装

opkg update
opkg install mwan3 
opkg install luci-app-mwan3 

2. /etc/config/mwan3配置

以下的例子是直接修改配置文件,运行
/etc/init.d/mwan3 start
修改/etc/config/mwan3
说明:以下配置文件修改后,双网口负载均衡,网速叠加

 1 config interface 'wan'
 2         option enabled '1'
 3         list track_ip '8.8.4.4'
 4         list track_ip '8.8.8.8'
 5         list track_ip '208.67.222.222'
 6         list track_ip '208.67.220.220'
 7         option reliability '2'
 8         option count '1'
 9         option timeout '2'
10         option interval '5'
11         option down '3'
12         option up '8'
13 config interface 'wan2'
14         option enabled '1'
15         list track_ip '8.8.8.8'
16         list track_ip '208.67.220.220'
17         option reliability '1'
18         option count '1'
19         option timeout '2'
20         option interval '5'
21         option down '3'
22         option up '8'
23 config member 'wan_m1_w1'
24         option interface 'wan'
25         option metric '1'
26         option weight '1'
27         config member 'wan2_m1_w1'
28         option interface 'wan2'
29         option metric '1'
30         option weight '1'
31 config policy 'wan_only'
32         list use_member 'wan_m1_w1'
33 config policy 'wan2_only'
34         list use_member 'wan2_m1_w1'
35 config policy 'balanced'
36         list use_member 'wan_m1_w1'
37         list use_member 'wan2_m1_w1'
38 config rule 'default_rule'
39         option dest_ip '0.0.0.0/0'
40         option use_policy 'balanced'

3.查看status

mwan3 status

能看到 双网口的的负载百分比和设置的rule规则

引用

https://blog.csdn.net/qq_29373285/article/details/115872289

原文地址:https://www.cnblogs.com/scoluo/p/15335241.html