DNS lookups to unreachable servers
Posted: Sun Apr 18, 2021 3:26 am
I am having a problem with long DNS lookups when connected to VPN and using the Viscosity DNS system.
It appears that the problem is that Viscosity is trying to first lookup to the DNS server for the connection which the default route is not pointing to, and that server being unreachable since it is a private address.
The machine is running Windows 10 version 20H2 (on Arm) with Viscosity 1.9.3 beta 4.
This is what the two NIC configurations look like:
Is it possible to cause Viscosity to not query DNS servers whose routes are not pointing through the adapter they are configured on? Or to order the DNS servers it tries based on weights of the corresponding routes in the routing table? I am guessing they are currently queried sorted by IP (since 172.26.38.1 is less than 192.168.231.193)?
David
It appears that the problem is that Viscosity is trying to first lookup to the DNS server for the connection which the default route is not pointing to, and that server being unreachable since it is a private address.
The machine is running Windows 10 version 20H2 (on Arm) with Viscosity 1.9.3 beta 4.
This is what the two NIC configurations look like:
Code: Select all
While both adapters are up, the second one is not actually used because of the default route preference (it is a cellular adapter that is not preferred since there is an active WiFi connection):Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Qualcomm(R) Wi-Fi B/G/N/AC (2x2) Svc
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::6c1f:c7e3:a6c6:6955%23(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.231.236(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.192
Lease Obtained. . . . . . . . . . : Saturday, April 17, 2021 12:48:14 PM
Lease Expires . . . . . . . . . . : Saturday, April 17, 2021 3:49:42 PM
Default Gateway . . . . . . . . . : 192.168.231.193
DHCP Server . . . . . . . . . . . : 192.168.231.193
DHCPv6 IAID . . . . . . . . . . . : 164893091
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-A3-30-6F-D4-11-A3-A7-28-2D
DNS Servers . . . . . . . . . . . : 192.168.231.193
NetBIOS over Tcpip. . . . . . . . : Enabled
Mobile Broadband adapter Cellular:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Qualcomm Mobile Broadband Device
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2600:380:bc33:628e:2493:e55d:c635:3695(Preferred)
Temporary IPv6 Address. . . . . . : 2600:380:bc33:628e:b974:36a9:1e89:7365(Preferred)
Link-local IPv6 Address . . . . . : fe80::2493:e55d:c635:3695%12(Preferred)
IPv4 Address. . . . . . . . . . . : 10.23.190.157(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . : fe80::3516:81c1:7ade:4bf%12
10.23.190.158
DHCP Server . . . . . . . . . . . : 10.23.190.158
DNS Servers . . . . . . . . . . . : fc00:a:a::300
172.26.38.1
NetBIOS over Tcpip. . . . . . . . : Enabled
Code: Select all
The 172.26.38.1 DNS server configured by DHCP on this adapter is therefore not reachable, since routing is through WiFi and it's a private address not reachable through the WiFi connection. But it seems like Viscosity is trying this server first as DNS lookups are slow and need to be retried multiple times:IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.23.190.158 10.23.190.157 311
0.0.0.0 0.0.0.0 192.168.231.193 192.168.231.236 35
Code: Select all
The workaround I am using is to disable the cellular adapter when not needed, but this doesn't take advantage of the machine's ability to switch back and forth between connections automatically as needed.C:\Users\david>nslookup viscosity.com
Server: Viscosity
Address: fd53:7061:726b:4c61:6273:5669:7344:4e56
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
Name: viscosity.com
Addresses: 2606:4700:3032::ac43:b7d6
2606:4700:3030::6815:2415
172.67.183.214
104.21.36.21
Is it possible to cause Viscosity to not query DNS servers whose routes are not pointing through the adapter they are configured on? Or to order the DNS servers it tries based on weights of the corresponding routes in the routing table? I am guessing they are currently queried sorted by IP (since 172.26.38.1 is less than 192.168.231.193)?
David