校园网&openwrt记(十二)多线多播与mwan3

本文介绍如何使用mwan3实现多线多拨并进行负载均衡。通过详细步骤讲解配置过程,包括修改交换机配置、设置接口协议及优先级、配置uciconfig等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  搞多线多拨的时候,手上刚好有一个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'

  五、配置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'

  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'

  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'

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

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

OpenWrt是一个开源的嵌入式操作系统,用于路由器和其他网络设备。它提供了一种名为"policy 分流"的功能,可以根据特定的规则将数据包分流到不同的网络接口或策略中。在OpenWrt中,可以通过配置UCI(Unified Configuration Interface)文件来实现policy 分流。 在配置UCI文件时,需要设置policy和rule。policy定义了不同的网络接口或策略,而rule则确定了哪些数据包应该使用哪个policy。例如,可以使用wan_only policy来指定只使用wan接口,pppoe_only policy来指定只使用pppoe接口,balanced policy来指定使用个接口进行负载均衡。 以下是一个示例配置UCI文件的rule部分的代码: ``` 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' ``` 在上述示例中,VPN_rule规则指定了目标IP为192.168.67.0/24的数据包应该使用wan_only policy,CN_rule规则指定了目标IP为192.168.66.0/20的数据包也应该使用wan_only policy,而default_rule规则指定了其他所有数据包应该使用balanced policy。 通过配置这些rule,可以实现根据特定的目标IP将数据包分流到不同的policy中,从而实现负载均衡或策略路由的功能。 请注意,以上只是一个示例配置,实际的配置可能会根据具体的网络环境和需求有所不同。建议参考OpenWrt的官方文档和相关教程进行详细配置。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [15 --> OpenWrt 实现双 4G 通道号上网、实现负载均衡和主备](https://blog.youkuaiyun.com/weixin_38387929/article/details/117088345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [校园网&openwrt十二多线多播mwan3](https://blog.youkuaiyun.com/liubiggun/article/details/50805706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [openwrt路由器(红米AC2100)折腾全程——、ipv6负载均衡、ipv6 nat6、ddns、端口转发](https://blog.youkuaiyun.com/Flying_x/article/details/120596522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值