Openwrtのmwan3ロードバランシング、マルチラインマルチダイヤル

mwan(mulit wan)、つまり、マルチWANポートおよびマルチダイヤルテクノロジー。複数のWANインターフェースを使用した重み分散またはフェイルオーバーに基づいて、アウトバウンドWANトラフィックのロードバランシングを実現できます。
mwan3は、ホットプラグイベントによってトリガーされ、インターフェイスの変更とインターフェイスが有効かどうかを検出できます。

使用シナリオ:
1。ルーターはネットワークケーブルと4gの両方をサポートします。このとき、mwan3を使用してネットワークケーブルと4gを管理し、設定された重みに応じてトラフィック分散を調整して負荷分散を実現できます。
2.アップストリームLANポートのトラフィック制限により、mwan3は複数のWANを使用して同時トラフィックを実現し、トラフィックの拡張を実現できます。

  • menuconifg open 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 initial_state 'online'
        option track_method 'ping'
        option count '1'
        option size '56'
        option max_ttl '60'
        option check_quality '0'
        option timeout '2'
        option interval '5'
        option failure_interval '5'
        option recovery_interval '5'
        option down '3'
        option up '3'
        list flush_conntrack 'ifup'
        list flush_conntrack 'ifdown'
        list flush_conntrack 'connected'
        list flush_conntrack 'disconnected'

config policy 'wan_only'
        list use_member 'wan_m1_w3'
        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'

config interface 'wan_4g'
        option enabled '1'
        option initial_state 'online'
        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 timeout '2'
        option interval '5'
        option failure_interval '5'
        option recovery_interval '5'
        option down '3'
        option up '3'
        list flush_conntrack 'ifup'
        list flush_conntrack 'ifdown'
        list flush_conntrack 'connected'
        list flush_conntrack 'disconnected'

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 'wan4g_only'
        list use_member 'wan4g_m3_w1'
        option last_resort 'default'


  • 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.ネットワークポートwan + usb 4gwan。
2. WANポートネットワークケーブルが初めて接続されない場合、システムループバックネットワークは自動的に4gネットワークを有効にします。
3. WANポートネットワークケーブルが接続されると、システムループバックネットワークは自動的にWANポートネットワークに切り替わります。
4. WANポートネットワークケーブルを取り外した後、システムループバックネットワークは4gネットワークに再び切り替わりませんか?
5. 4gインターフェース(ifdown ifup)を再起動する必要があり、後者はネットワークを再起動して4gに再接続しますか?

おすすめ

転載: blog.csdn.net/pyt1234567890/article/details/112731529