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???

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐