I am using wireguard Application to establish a VPN between my Mac running (Catalina 10.15.6) and my home. At home I run two RPi:
- one with wireguard in docker
- one with Pihole in docker (IP 192.168.178.120)
The wireguard configuration i am using specifies the use of the Pihole as DNS):
[Interface]
PrivateKey = [private_key]
ListenPort = [public_port]
Address = 10.13.14.3/32
DNS = 192.168.178.120
[Peer]
PublicKey = [public_key]
AllowedIPs = 192.168.178.0/24
Endpoint = [endpoint hostname]
The same configuration is in use on all my devices (iOS, Windows 10 etc) and I can always use the specified DNS to resolve all the domains.
Under OSX instead using that DNS is hit or miss:
- I can ping correctly the IP of the DNS and any other internal IP without any packet loss
- I can use
nslookup
to specify 192.168.178.120 as a server and correctly query for both external and internal names - Safari might be able to resolve one internal name, but after some time tries to use the router-defined DNS (192.168.1.1) thus not resolving internal names anymore (I notice this from the presence of Ads that would normally be blocked by PiHole)
- Network utility shows the same hit/miss scenario: sometimes it is resolving internal names,sometimes it is not
- adding the 192.168.178.120 in the network settings of the Wifi in OSX might help for a while but is not 100% reliable
So I am asking for help on what to do to diagnose the problem further. DNS resolution on Mac seems really strange to me to be honest.