MT3000 v4.8.0 bug, i suppose

Hi everyone,

I’d like to report some strange behavior with my MT3000 router after a recent upgrade. I performed a fresh installation, no configuration was kept, everything was set up from scratch.

:small_blue_diamond: **Issue #1 After a blackout, when power returns, the router boots up normally. However, DNS seems to fail: I can access the internet and ping any address, but Google Search doesn’t work (other search engines do). A simple reboot via the web GUI resolves this issue.

:small_blue_diamond: **Issue #2 After that reboot, my VPN client tunnels stop working. I use two WireGuard clients and one OpenVPN client. I have to manually toggle them off and on to restore functionality.

:round_pushpin: Right now, the router is working fine, but it's installed in a remote location. If another blackout occurs, I won’t be able to fix these issues without VPN access. I’m planning to add a UPS soon to prevent this.

If you need any details about my configuration to help investigate, feel free to ask. Thanks in advance!

If you use DOH/DOT &/or the kill switch with the VPN connections you're going to have trouble syncing time to NTP as there's no RTC in these devices. The TLS/authentication handshakes won't work properly until then.

Adding NTP IPs will be faster than waiting for a DNS response.

	uci -q batch <<- __EOF
	set system.@timeserver[0].server='0.openwrt.pool.ntp.org 1.openwrt.pool.ntp.org 2.openwrt.pool.ntp.org 3.openwrt.pool.ntp.org 104.167.241.197 73.239.145.47 142.147.88.111 171.66.97.126'
	set system.@timeserver[0].use_dhcp='0'
__EOF
	uci commit system

That's my best guess ATM.

1 Like

Hi there,

Google Search inaccessibility may be caused by a power outage that disrupted the DNS cache or system clock, leading to TLS/SSL verification failures.

VPN tunnel failures may also be caused by routing rules not being properly restored after a power outage, requiring a manual restart.

Maybe you can also consider adding a power outage recovery script to automatically run the router's reboot configuration after a power outage.

Thanks for your help. I modified the NTP configuration through LuCI and tested the solution by unplugging the router. Now the VPN is working fine, but Google DNS resolution is still not functioning. Any ideas?

Hi,

Please SSH to the router, and check:
ifconfig
ip r
ping 8.8.8.8
ping www.google.com

And please disable the VPN client, and check above again.

Please screenshot the VPN Dashboard.

root@GL-MT3000:~# ifconfig
apcli0    Link encap:Ethernet  HWaddr 92:83:C4:29:86:EF
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

apclix0   Link encap:Ethernet  HWaddr 9E:83:C4:29:86:EF
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

br-guest  Link encap:Ethernet  HWaddr CA:1C:28:63:E2:B8
          inet addr:192.168.16.1  Bcast:192.168.16.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:58050 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64916 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19507957 (18.6 MiB)  TX bytes:40874884 (38.9 MiB)

br-lan    Link encap:Ethernet  HWaddr 94:83:C4:29:86:EE
          inet addr:192.168.15.1  Bcast:192.168.15.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16063 errors:0 dropped:7 overruns:0 frame:0
          TX packets:33418 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3234719 (3.0 MiB)  TX bytes:34187272 (32.6 MiB)

eth0      Link encap:Ethernet  HWaddr 56:CB:51:F4:B3:74
          inet6 addr: fe80::54cb:51ff:fef4:b374/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:83963 errors:1 dropped:0 overruns:0 frame:0
          TX packets:59437 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76496773 (72.9 MiB)  TX bytes:27412686 (26.1 MiB)
          Interrupt:75

eth0.835  Link encap:Ethernet  HWaddr E2:15:5D:5A:D6:E3
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:83962 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59415 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:74985397 (71.5 MiB)  TX bytes:26927850 (25.6 MiB)

eth1      Link encap:Ethernet  HWaddr 94:83:C4:29:86:EE
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:75

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1293 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1293 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:160380 (156.6 KiB)  TX bytes:160380 (156.6 KiB)

ovpnclient1 Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.100.0.2  P-t-P:10.100.0.2  Mask:255.255.0.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:64711 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52637 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:39879767 (38.0 MiB)  TX bytes:18850366 (17.9 MiB)

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:82.52.134.156  P-t-P:192.168.100.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:83695 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59148 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:74304541 (70.8 MiB)  TX bytes:25618509 (24.4 MiB)

ra0       Link encap:Ethernet  HWaddr 96:74:0F:7E:9B:13
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36787 errors:2328 dropped:0 overruns:0 frame:0
          TX packets:35475 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6983647 (6.6 MiB)  TX bytes:34297518 (32.7 MiB)
          Interrupt:7

ra1       Link encap:Ethernet  HWaddr CA:1C:28:63:E2:B8
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:126623 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65079 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:41018216 (39.1 MiB)  TX bytes:40973460 (39.0 MiB)

wgclient1 Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.4.2  P-t-P:192.168.4.2  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1420  Metric:1
          RX packets:4612 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3709 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1735320 (1.6 MiB)  TX bytes:661332 (645.8 KiB)

root@GL-MT3000:~# ip r
default via 192.168.100.1 dev pppoe-wan proto static metric 1
10.100.0.0/16 dev ovpnclient1 proto kernel scope link src 10.100.0.2
192.168.15.0/24 dev br-lan proto kernel scope link src 192.168.15.1
192.168.16.0/24 dev br-guest proto kernel scope link src 192.168.16.1
192.168.100.1 dev pppoe-wan proto kernel scope link src 82.52.134.156
root@GL-MT3000:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=116 time=8.092 ms
64 bytes from 8.8.8.8: seq=1 ttl=116 time=7.915 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 7.915/8.003/8.092 ms
root@GL-MT3000:~# ping www.google.com
PING www.google.com (142.251.209.4): 56 data bytes
64 bytes from 142.251.209.4: seq=0 ttl=116 time=7.939 ms
64 bytes from 142.251.209.4: seq=1 ttl=116 time=7.779 ms
^C
--- www.google.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 7.779/7.859/7.939 ms

with vpn clients off

root@GL-MT3000:~# ifconfig
apcli0    Link encap:Ethernet  HWaddr 92:83:C4:29:86:EF
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

apclix0   Link encap:Ethernet  HWaddr 9E:83:C4:29:86:EF
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

br-guest  Link encap:Ethernet  HWaddr CA:1C:28:63:E2:B8
          inet addr:192.168.16.1  Bcast:192.168.16.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:58415 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19550765 (18.6 MiB)  TX bytes:40971570 (39.0 MiB)

br-lan    Link encap:Ethernet  HWaddr 94:83:C4:29:86:EE
          inet addr:192.168.15.1  Bcast:192.168.15.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18046 errors:0 dropped:11 overruns:0 frame:0
          TX packets:47398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3407678 (3.2 MiB)  TX bytes:51626233 (49.2 MiB)

eth0      Link encap:Ethernet  HWaddr 56:CB:51:F4:B3:74
          inet6 addr: fe80::54cb:51ff:fef4:b374/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:97963 errors:1 dropped:0 overruns:0 frame:0
          TX packets:61356 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:94156224 (89.7 MiB)  TX bytes:27632899 (26.3 MiB)
          Interrupt:75

eth0.835  Link encap:Ethernet  HWaddr E2:15:5D:5A:D6:E3
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:97962 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61334 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:92392848 (88.1 MiB)  TX bytes:27132581 (25.8 MiB)

eth1      Link encap:Ethernet  HWaddr 94:83:C4:29:86:EE
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:75

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1476 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1476 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:185099 (180.7 KiB)  TX bytes:185099 (180.7 KiB)

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:82.52.134.156  P-t-P:192.168.100.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:97690 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61062 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:91599817 (87.3 MiB)  TX bytes:25780982 (24.5 MiB)

ra0       Link encap:Ethernet  HWaddr 96:74:0F:7E:9B:13
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:40965 errors:2436 dropped:0 overruns:0 frame:0
          TX packets:49463 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7387941 (7.0 MiB)  TX bytes:51736648 (49.3 MiB)
          Interrupt:7

ra1       Link encap:Ethernet  HWaddr CA:1C:28:63:E2:B8
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:127479 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65329 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:41115816 (39.2 MiB)  TX bytes:41061780 (39.1 MiB)

root@GL-MT3000:~# ip r
default via 192.168.100.1 dev pppoe-wan proto static metric 1
192.168.15.0/24 dev br-lan proto kernel scope link src 192.168.15.1
192.168.16.0/24 dev br-guest proto kernel scope link src 192.168.16.1
192.168.100.1 dev pppoe-wan proto kernel scope link src 82.52.134.156
root@GL-MT3000:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=116 time=7.993 ms
bytes from 8.8.8.8: seq=1 ttl=116 time=7.856 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 7.856/7.924/7.993 ms
root@GL-MT3000:~# ping www.google.com
PING www.google.com (216.58.205.36): 56 data bytes
64 bytes from 216.58.205.36: seq=0 ttl=115 time=8.673 ms
^C
--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 8.673/8.673/8.673 ms

The output you posted above indicates you're able to ping 8.8.8.8 & www.google.com. Are you using DNS:53, DOH, DOT or the DNS:53 used by your WG confs? Your WG conf's DNS:53 will over-ride your GL.iNet GUI -> Network -> DNS settings for DNS:53.

Yes, I'm using DNS over TLS with Cloudflare. Here's my current WireGuard configuration:

[Interface]
Address = 192.168.4.2/24
PrivateKey = XXX
DNS = 64.6.64.6
MTU = 1420

[Peer]
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = myip:51820
PersistentKeepalive = 25
PublicKey = XXX

I'm wondering if the DNS setting might be causing the issue. As it stands, ping and DNS resolution only work after I manually reboot the router via the GUI. However, this doesn't happen after a power loss recovery—the system comes back online, but DNS resolution fails until I reboot again.

Cloudflare should be available as a DOH provider. I'd try that. The underlying process for DOH, dnscrypt-proxy (v.2) & its conf should have bootstrap resolvers to get Cloudflare's DNS IPs. Then everything will start getting put thru DOH.

dnscrypt-proxy starts early in the device boot process so that may be enough of a difference between stubby for DOT.

I'll definitely follow your suggestion to use DoH! In a couple of days, I should be able to test the configuration and let you know how it goes. By the way, the GUI is asking me to choose a DoH server—one of the options is dnscrypt.ca-ipv4-doh. Is that the server you recommended?

Standby... I have to jump onto my Slate AX running v4.8.0-beta9. That should be close enough to your Beryl AX's firmware to check.

No. You should also be aware Cloudflare (US) holds logs for 24-48 hours. Quad9 (CH) does not. Quad9's 'filter' variants blocks malware @ the DNS level as they continually update their threat lists.

1 Like

Thanks for your patience! I finally had the chance to connect to my router locally and apply the changes you suggested. First, I updated the firmware to version 4.8.1. Then I configured DoH using the DNS you recommended (Quad9).

Everything is working perfectly now! I even simulated a power outage to test the setup, and the router resumed operation smoothly after power was restored.

1 Like

I'm really glad you got it sorted & reported back.

@bruce
See, Bruce? The root problem ITT strikes me as an exact case of a race condition caused by NTP DNS v IPs. I know I'd use it as an example to cite & support a solution to it with what we've already discussed.

1 Like

So here will a question, isn't it better to use an IP NTP server? But the IP may not be permanent, and worried about the IP of the NTP server changes in the later period.

This actually doesn't seem to be very useful, if script touch /etc/xxx before restarting - if just restarting, the time deviation may be only 2-3 minutes. This clock skew tolerance may still affect DOT, DOH, VPN, etc., and NTP synchronization is still required.

Even if this script is added, after the system starts up, the time to read the file is still the time before shutdown, and it still has a clock tolerance.

Accurate time is required for WG & TLS so that requires NTP. If using DOT or TLS it'll never get it as it's a race condition from the recursion. Yes, DNS IPs may change which is why I configure 4 NTP IPs in LuCI/uci. If one doesn't hit one of the other three probably will.

Engage WG, full/all kill switches & DOT. Set just NTP DNS. Reboot & let me know what happens.

1 Like

Amazing coincidence, I just ran into this exact race condition on my Brume 2, although it’s running vanilla OpenWrt 24.10.2.

After power cycling (unplugging/replugging), there’s a chance Wireguard (with OpenWrt’s version of “kill switch” enabled) comes up before NTP sync succeeds, and if it does, the router is left without internet access because Wireguard can never connect with the clock too far out of sync.

I haven’t implemented a fix yet, but (I hate to admit) Google AI overview suggested a hotplug script to only bring the Wireguard interface up after NTP sync completes. I have no idea yet how this will interact with the kill switch.

2 Likes

Well, DOH via dnscrypt-proxy comes up before WG including on pure OWRT 23.05.5. The conf @ /etc/dnscrypt-proxy/dnscrypt-proxy.toml has bootstraping IPs to bring up the provider before shunting everything thru the DOH tunnel. I haven't had a problem since also adding those IPs which are the counterparts to the OWRT NTP DNS.

1 Like

Hello,

We cannot reproduce this issue.

Under coupled conditions (NTP servers are domain, using encrypted DNS, VPN client is enabled, KillSwitch is enabled, and the router is restarted), the ntpd service can still be synchronized after the router is started, and the VPN client is connected normally.

I guess the ntpd request should be resolved through the WAN DNS. It may not be initialized by dnsmasq or stubby, resulting in the DNS request of ntpd on the boot not being encrypted, that is, it was not forwarded to port 5435.

In this case, the domain name resolution of the NTP server is not considered a DNS leak, because other traffic has been blocked.
When the system time is obtained normally and all services are running stable, all traffic will go through the encrypted DNS and VPN tunnels.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.