openwrt之mwan3负载均衡·多线多拨
mwan(mulit wan),即多wan口多拨技术。能够实现基于权重分配的出站WAN流量负载平衡或具有多个WAN接口的故障转移。mwan3由热插拔事件触发,可以检测到接口变化,以及接口是否连接有效。使用场景:1、路由同时支持网线和4g,此时可以用mwan3管理网线和4g,依据设定的权重,调节其流量分配,达到负载均衡。2、由于上游lan口流量限制,mwan3可以利用多个wan,实现流量并发,达到流
mwan(mulit wan),即多wan口多拨技术。能够实现基于权重分配的出站WAN流量负载平衡或具有多个WAN接口的故障转移。
mwan3由热插拔事件触发,可以检测到接口变化,以及接口是否连接有效。
使用场景:
1、路由同时支持网线和4g,此时可以用mwan3管理网线和4g,依据设定的权重,调节其流量分配,达到负载均衡。
2、由于上游lan口流量限制,mwan3可以利用多个wan,实现流量并发,达到流量扩容。
…
- menuconifg开启mwan3
.config - OpenWrt Configuration
> LuCI > 3. Applications ────────────────────────────────────────────────────────────
┌─────────────────────────────── 3. Applications ────────────────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty │
│ submenus ----). Highlighted letters are hotkeys. Pressing <Y> includes, <N> │
│ excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, │
│ </> for Search. Legend: [*] built-in [ ] excluded <M> module < > module │
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
│ │ < > luci-app-https-dns-proxy..................... DNS Over HTTPS Proxy W│ │
│ │ < > luci-app-ksmbd.......... Network Shares - Ksmbd the SMB kernel files│ │
│ │ < > luci-app-lxc....................................... LXC management W│ │
│ │ < > luci-app-minidlna.............................. LuCI Support for min│ │
│ │ < > luci-app-mjpg-streamer........ MJPG-Streamer service configuration m│ │
│ │ <*> luci-app-mwan3........ LuCI support for the MWAN3 multiwan hotplug s│ │
│ │ < > luci-app-nextdns................................ LuCI support for Ne│ │
│ │ < > luci-app-nft-qos....................................... Qos over Nft│ │
│ │ < > luci-app-nlbwmon...................... Netlink based bandwidth accou│ │
│ │ < > luci-app-ntpc.............. NTP time synchronisation configuration m│ │
│ │ < > luci-app-nut............................. Network UPS Tools Configur│ │
│ │ < > luci-app-ocserv......................... LuCI Support for OpenConnec│ │
│ │ < > luci-app-olsr....................... OLSR configuration and status m│ │
│ │ < > luci-app-olsr-services │ │
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ <Select> < Exit > < Help > < Save > < Load > │
└────────────────────────────────────────────────────────────────────────────────┘
- web界面设置参数
名称 | 功能 |
---|---|
接口 | 设置mwan接口参数,ping服务器设置,ping次数、间隔设置,通知设置等 |
成员 | 用来设置每一个 MWAN 接口的跃点数(即接口优先级)和所占比重 |
策略 | 把成员进行分组,告诉 MWAN 如何分配“规则”中使用这一策略的流量,拥有较低跃点数的成员将会被优先使用,拥有相同跃点数的成员把流量进行负载均衡 |
- 根据自己的应用,设置完成,配置文件如下
root@OpenWrt:~# cat /etc/config/mwan3
config globals 'globals'
option mmx_mask '0x3F00'
option rtmon_interval '5'
list rt_table_lookup '1'
list rt_table_lookup '2'
config interface 'wan'
option enabled '1'
list track_ip '8.8.4.4'
list track_ip '8.8.8.8'
list track_ip '208.67.222.222'
list track_ip '208.67.220.220'
option family 'ipv4'
option reliability '2'
option track_method 'ping'
option count '1'
option size '56'
option max_ttl '60'
option check_quality '0'
option recovery_interval '5'
option timeout '5'
option initial_state 'offline'
option interval '10'
option failure_interval '5'
option down '2'
option up '2'
config interface 'wan_4g'
option enabled '1'
option family 'ipv4'
list track_ip '8.8.8.8'
list track_ip '8.8.4.4'
list track_ip '114.114.114.114'
list track_ip 'www.baidu.com'
option track_method 'ping'
option reliability '2'
option count '1'
option size '56'
option max_ttl '60'
option check_quality '0'
option recovery_interval '5'
option initial_state 'offline'
option timeout '5'
option interval '10'
option failure_interval '5'
option down '2'
option up '2'
config member 'wan_m1_w3'
option interface 'wan'
option metric '1'
option weight '3'
config member 'wan4g_m3_w1'
option interface 'wan_4g'
option metric '3'
option weight '1'
config policy 'wan_only'
list use_member 'wan_m1_w3'
option last_resort 'default'
config policy 'wan4g_only'
list use_member 'wan4g_m3_w1'
option last_resort 'default'
config policy 'balanced'
list use_member 'wan_m1_w3'
list use_member 'wan4g_m3_w1'
option last_resort 'default'
config rule 'https'
option sticky '1'
option dest_port '443'
option proto 'tcp'
option use_policy 'balanced'
config rule 'default_rule_v4'
option dest_ip '0.0.0.0/0'
option use_policy 'balanced'
option family 'ipv4'
config rule 'default_rule_v6'
option dest_ip '::/0'
option use_policy 'balanced'
option family 'ipv6'
- mwan3.user脚本应用
当wan口状态发生变化的时候,mwan3进程自动调用mwan3.user脚本,根据全局参数ACTION、INTERFACE、DEVICE做对应的处理。
比如当wan口断开,则自动重启wan_4g接口等。
echo "$INTERFACE $INTERFACE $ACTION" > /dev/console
case "$ACTION" in
ifdown|\
disconnected)
if [ "$INTERFACE" = "wan" ]
then
echo "restart 4g" > /dev/console
ifdown wan_4g
ifup wan_4g
echo "done" > /dev/console
fi
;;
connected|\
ifup)
echo "no action" > /dev/console
;;
*)
echo "*" > /dev/console
;;
esac
return 0
注意:
1、mwan3依赖network配置文件metric,所以要设置metric
2、为保证mwan3模式下4g网络顺利切换,设置所有接口初始状态为“离线”
疑问??
1、网口wan+usb 4g wan。
2、首次wan口网线未接入,系统回环网络自动启用4g网络。
3、当接入wan口网线,系统回环网络自动切到wan口网络。
4、去掉wan口网线,系统回环网络却不会再次切回4g网络??
5、需要再次重启4g接口(ifdown ifup),后者重启network,才可以再次接入4g???
更多推荐
所有评论(0)