openwrt mwan3配置

来源:互联网 发布:three.js 全景图 插件 编辑:程序博客网 时间:2024/05/31 19:17

http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=178799

# 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口名字一致
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'

# 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'

# 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'


http://blog.csdn.net/liubiggun/article/details/50805706

  搞多线多拨的时候,手上刚好有一个8M和一个22M的移动宽带,8M的准备不用了,但是浪费可是很罪恶的,于是想到多线多播,并使用mwan3来负载均衡。其实mwan3就是是用iptables和iproute2协同作用达到负载均衡的。iptables主要是打mark,而iproute2则是根据mark走不同的路由表。源码是由shell写的,清晰简单。这里主要记录一下配置过程。 
  一、首先修改交换机配置,将4个lan口中的一个划为一个新的wan口: 
  刚开始如下图(我的路由器只有一个网卡~端口4是wan口,对应物理设备是eth0.2,0-3是lan口,对应物理设备是eth0.1,eth0.1和eth0.2是通过vlan将实际物理接口eth0划分出来的): 
  这里写图片描述
  修改完后如下图,这时端口3变成了一个新的wan口,对应物理设备为eth0.3,即通过vlan将eth0分为了eth0.1,eth0.2,eth0.3: 
  这里写图片描述
  在网络接口处添加新的wan接口,命名为wan2,再添加一个pppoe2,这时就有wan、wan2、pppoe、pppoe2,四个属于防火墙wan域的接口了。 
   
  二、让wan和wan2的协议为dhcp,pppoe和pppoe2的协议为pppoe并填写好相应的宽带账号和密码。 
   
  三、设置以上4个网络接口的网关跃点(不设置的话,mwan3无法工作)优先级高的跃点设置小一点,比如pppoe所拨号的宽带是22M,那么它可以设置为10,则pppoe2设置为20,而wan和wan2只是用来访问校内资源的,可以简单设置为30、40。 
   
  四、配置uci config第一步,配置interface,这里只列出wan和pppoe的,其他两个同理。假设校园网某台服务器为192.168.66.123,那么能ping通它则说明我们的wan是正常连接的;我们的pppoe则ping多个常用DNS,要是ping通则说明是可以正常连接网络的。track_ip 列表是一次测试所需要测试的ip列表,reliability是指track_ip列表中几个能ping通就说明正常,count 是对每一个ip ping几次,timeout 是超时,interval 是每一次测试的间隔,down 是有多少次测试不正常则说明掉线,up 是有多少次测试正常则说明在线。

config interface 'pppoe'    option enabled '1'    list track_ip '8.8.4.4'    list track_ip '8.8.8.8'    list track_ip '4.2.2.1'    list track_ip '223.5.5.5'    option reliability '2'    option count '1'    option timeout '2'    option interval '5'    option down '3'    option up '8'config interface 'wan'    option enabled '1'    option reliability '1'    option count '1'    option timeout '2'    option interval '5'    option down '3'    option up '3'    list track_ip '192.168.66.123'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

  五、配置uci config第二步,配置member,设置它的权重和跃点,决定该wan的优先权。这里的跃点指的是在同一个policy下的优先值,值越小,优先值越大,而跃点相同的几个member将会根据它们的权重来分配比例,数值越大,比例越大。比如我这里的22M的pppoe和8M的pppoe2可以如此设置:

config member 'pppoe_m1_w3'    option interface 'pppoe'    option metric '1'    option weight '3'config member 'pppoe2_m1_w1'    option interface 'pppoe2'    option metric '1'    option weight '1'config member 'wan_m2_w1'    option interface 'wan'    option metric '2'    option weight '1'config member 'wan2_m2_w1'    option interface 'wan2'    option metric '2'    option weight '1'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

  member的名字可以由interface名称、跃点和权重来命名,pppoe和pppoe2的跃点为一组,pppoe的权重是pppoe2的3倍,因为pppoe的带宽大概为pppoe2的3倍,wan和wan2为一组,它们只是为了访问校园内站点,只用一个member就好了,权重不需要考虑。 
  六、配置uci config第三步,配置policy,这里开始利用各个member,制定policy。policy决定了要使用那些网络接口,并且按怎样的比例使用它们。如:

config policy 'wan_only'    list use_member 'wan_m2_w1'    option last_resort 'unreachable'config policy 'pppoe_only'    list use_member 'pppoe_m1_w3'    option last_resort 'unreachable'config policy 'balanced'    list use_member 'pppoe_m1_w3'    list use_member 'pppoe2_m1_w1'    option last_resort 'unreachable'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

  wan_only只使用了一个member,这个member是关联网络接口’wan’的,因为访问校内站点而已,从其中一个校园网线走就可以了;pppoe_only只使用了关联网络接口’pppoe’的一个member,这个policy用来以后8M宽带过期后只有一个宽带(22M)的情况;而balanced则使用了两个member,它们关联’pppoe’和’pppoe2’,使用了它们的意思就是融合这两个宽带,进行负载均衡的意思了。这个policy就是当前所需要使用的。 
  七、配置uci config第四步,配置rule,这个则是确定怎样的数据包应该使用怎样的policy,最终的负载均衡或策略路由就是靠它们的了。例如:

config rule 'VPN_rule'    option dest_ip '192.168.67.0/24'    option proto 'all'    option use_policy 'wan_only'config rule 'CN_rule'    option dest_ip '192.168.66.0/20'    option proto 'all'    option use_policy 'wan_only'config rule 'default_rule'    option dest_ip '0.0.0.0/0'    option proto 'all'    option use_policy 'balanced'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

  VPN_rule等效于我们前边所说的在PPTP VPN设置时添加的静态路由,通往实验室的电脑的数据包走校园网(wan_only);CN_rule则等效于我们要访问校内站点所要添加的静态路由,通往校内站点的数据包走校园网(wan_only);default_rule则是默认的规则,即其他的所有数据包都走pppoe和pppoe2(balanced,成功负载均衡则融合了两个宽带)。

  设置完毕以后,启动mwan3,发送我们的获取权限的udp包给服务器,然后成功拨号后,多线多拨就成功了,下载东西理论上可以达到22+8=30M。

How to use multiple WAN connections using the mwan3 package

https://wiki.openwrt.org/doc/howto/mwan3


0 0
原创粉丝点击