I do not believe MWAN handles the DNS servers on its own.
During our OpenWRT testing we had to configure this ourselves.
Perhaps there is another (better?) way to resolve this issue but when you have a multi-homed system - especially with LTE - I think the system needs to add routes to the DNS servers.
DNS servers on LTE networks are rarely accessible from the Internet side (i.e. are only accessible thru the LTE network) and often use RFC-1918 addresses.
If you have another WAN connection with a lower metric, be it WiFi, another LTE, wired, or even a VPN that routes then DNS resolution attempts will end up sent out the wrong interface and fail.
As MWAN switches between interfaces the wrong DNS servers can be used and then fail to resolve. If there are routes for the DNS servers then at least if the wrong one is selected it will go out the correct interface and resolve.
Using a public DNS server (e.g. 1.1.1.1 or 8.8.8.8) to work around this deficiency fails when you are using a private CBRS LTE network.
During our OpenWRT testing we resolved this with an iface hotplug hook.
Save under /etc/hotplug.d/iface/21-dns-routes
(For completeness, also add to the backup file list in LUCI; Backup/Flash: Configuration)
#!/bin/sh
. /lib/functions/network.sh
if [ "${ACTION}" = "ifup" ]
then
logger -t hotplug "DNS routes $INTERFACE $@"
network_get_device iface "$INTERFACE"
network_get_gateway gateway4 "$INTERFACE"
if [ -n "$gateway4" ]
then
network_get_dnsserver nameservers4 "$INTERFACE"
for ns4 in $nameservers4
do
logger -t hotplug "DNS route added ${ns4}/32 via $gateway4 dev $iface"
ip -4 route add "${ns4}/32" via "$gateway4" dev "$iface"
done
fi
network_get_gateway6 gateway6 "$INTERFACE"
if [ -n "$gateway6" ]
then
network_get_dnsserver nameservers6 "$INTERFACE"
for ns6 in $nameservers6
do
logger -t hotplug "DNS route added ${ns6}/128 via $gateway6 dev $iface"
ip -6 route add "${ns6}/128" via "$gateway6" dev "$iface"
done
fi
fi