zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    DMA+USART重定义打印接口
    FTP初探
    ESP8266-lua开发
    GPIO常见问题分析
    新装系统简介
    java四个元注解的作用
    Linux常用操作指令
    @Autowired 与@Resource的区别(详细)
    内存溢出的几种原因和解决办法
    什么是NIO2
  • 原文地址:https://www.cnblogs.com/scoluo/p/15335241.html
Copyright © 2011-2022 走看看