I'm trying to set up multiwan, using mwan3 in 22.03.5 running under the ARM architecture.
My interfaces are as follows:
eth0 - 1Gbps (WAN_Failover)
eth1 - 2.5Gbps (WAN)
eth2 - 2.5Gbps (LAN)
I've installed luci-app-mwan3, which automatically installed its dependencies, including mwan3. The versions are:
opkg list-installed *mwan3* luci-app-mwan3 - git-23.093.40772-fa4dc75 mwan3 - 2.11.7-1
I've configured mwan3, using LuCI per instructions:
Assigned metric 10 to interface WAN and metric 20 to interface WAN_FAILOVER in LuCi > Network > Interfaces
In Network > MultiWAN Manager > Interface, added two interfaces (WAN, WAN_FAILOVER). The names match the interface names under the Interfaces tab in LuCI and in /etc/network/config. The metrics 10 was automatically assigned to WAN and 20 automatically assigned to WAN_FAILOVER. The tracking on interface WAN is set as follows:
*Tracking hostname or IP address: 126.96.36.199 188.8.131.52
*Tracking method: ping
*Tracking reliability: 1
*Ping count: 1
*Ping size: 56
*Max TTL: 60
*Check link quality (unselected for now)
*Ping timeout: 1 second
*Ping interval: 5 seconds
*Failure interval: 5 seconds
*Keep failure interval (unselected)
*Interface down: 2
*Interface up: 3 (so short for testing purposes only)
*Flush conntrack table: ifup (netifd); ifdown (netifd); connected (mwan3); disconnected (mwan3)
In Network > MultiWAN Manager > Member, I created two members: WAN_member (interface WAN; metric 1; weight 1) and WANFAILOVER_member (interface WAN_FAILOVER; metric 2; weight 2).
In Network > MultiWAN Manager > Policy, I created a policy named WAN_to_WANFAILOVER, added members WAN and WAN_FAIOVER to the policy, and set Last resort to unreachable (reject).
In Network > MultiWAN Manager > Rule, I modified the default_rule_v4 by assigning to it the policy WAN_to_WANFAILOVER
I have two modems connected to the OpenWRT router:
WAN_Failover: T-Mobile 5G Small Business Internet
WAN: Xfinity Cable modem
Things that do work:
When I unplug the Xfinity modem from interface eth1 (WAN), the OpenWRT router starts routing internet-bound traffic out of interface eth0 (WAN_FAILOVER) with a minimum packet loss (usually less than a second worth of pings).
Things that don't work:
When I unplug the coax cable from the Xfinity cable modem (without downing interface eth1 (WAN) in the router running OpenWRT), mwan3 notices that interface WAN goes down and shows so in Status > MultiWAN Manager. However, the internet-bound traffic doesn't get re-routed out of interface eth0 (WAN_FAILOVER). Instead, the traffic continues to be routed out of interface eth1 (WAN) to the cable modem and gets black-holed there.
The real-world failure scenario of my primary Internet connection (XFinity Cable Internet) is for the cable modem to lose its signal to the CMTS and for the ping test to fail to 184.108.40.206 without the physical interface eth1 (WAN) on the OpenWRT router going down, so the real-world failure test doesn't work in that the Internet-bound traffic doesn't get properly re-routed out of the secondary Internet connection (eth0; WAN_FAILOVER) with this setup even though the mwan3 script detects that the connectivity to 220.127.116.11 fails via the primary WAN interface eth1.
I'm not actually sure how the mwan3 script is supposed to make the default route with the lower metric in the routing table not be used. I don't know if the mwan3 script is supposed to delete the default route with the lower metric from the routing table or mark it inactive in some way to prevent it from being used for the Internet-bound traffic. Whatever the mwan3 script is supposed to do to prevent the default route with metric 10 from being used when the network reachability is lost via the primary WAN interface isn't working. Only the downing of interface eth1 (WAN) by unplugging the Ethernet cable from it results in the failover of the Internet-bound traffic via interface eth0 (WAN_FAILOVER).
When I physically unplug the Ethernet cable from interface eth1 (WAN), the default route via this interface installed in the routing table is automatically removed. I can see that the default route via interface eth1 (WAN) is removed if I issue the ip route command before I unplug the network cable and again after I unplug the network cable from interface eth1 (WAN). However, this behavior of the routing table is not a function of the mwan3 package but rather the standard Linux behavior in that when an interface physically goes down, all the routes via this interface are removed from the routing table.
So, what I'm after is to get mwan3 to fail over the Internet-bound traffic from interface eth1 (WAN) to interface eth0 (WAN_FAILOVER) when the cable modem loses its singal to the CMTS but interface eth1 (WAN) remains up.
I need help please. Thank you.