openwrt mwan3配置

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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 上使用 QEMU 模拟 OpenWrt 路由器时,你需要进行以下网络配置: 1. 创建一个 TAP 网络适配器 在 Windows 上,你需要创建一个 TAP 网络适配器,它将充当 OpenWrt 虚拟机和物理网络之间的桥梁。你可以使用一些第三方软件来创建 TAP 网络适配器,例如 OpenVPN 或 TunTap。 2. 配置 OpenWrt 虚拟机 在启动 OpenWrt 虚拟机之前,你需要对其进行一些网络配置。你可以通过编辑 OpenWrt 虚拟机的配置文件来完成这项工作。以下是一个示例配置文件: ```bash # 确保网卡类型为 virtio-net netdev = user,id=eth0 device = virtio-net-pci,netdev=eth0 # 启用串口 serial = 'pty' # 确保网卡名称为 eth0 kernel_cmdline = "console=ttyS0,115200 root=/dev/sda1" # 设置网卡 IP 地址和网关 network={ type=static ipaddr=192.168.1.2 netmask=255.255.255.0 gateway=192.168.1.1 } ``` 3. 启动 OpenWrt 虚拟机 现在,你可以启动 OpenWrt 虚拟机并测试网络连接是否正常。你可以通过以下命令启动虚拟机: ```bash qemu-system-x86_64 -enable-kvm -cpu host -m 512M -hda openwrt.img -net nic,model=virtio -net tap,ifname=TAP1,script=no,downscript=no -serial stdio ``` 其中 TAP1 是你在第一步中创建的 TAP 网络适配器的名称。这个命令还启用 KVM 虚拟化和串口连接。 4. 配置路由器 现在,你可以登录 OpenWrt 路由器并配置其网络设置。在默认情况下,OpenWrt 路由器的 IP 地址为 192.168.1.1。你可以使用 web 界面或 SSH 连接来进行配置。 在 web 界面中,你可以使用以下步骤进行配置: 1. 打开浏览器并输入 `http://192.168.1.1`。 2. 输入用户名和密码(默认为 root/空密码)。 3. 转到 Network -> Interfaces。 4. 点击 Edit 按钮以编辑 LAN 接口。 5. 在 IPv4 地址字段中输入 192.168.1.1。 6. 在子网掩码字段中输入 255.255.255.0。 7. 点击 Save & Apply 按钮以保存更改。 在 SSH 中,你可以使用以下命令进行配置: ```bash uci set network.lan.ipaddr='192.168.1.1' uci set network.lan.netmask='255.255.255.0' uci commit network /etc/init.d/network restart ``` 现在,你已经成功配置了 Windows QEMU OpenWrt 的网络连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值