Connect to Pritunl with a custom DNS server
Problem¶
I faced this issue when I disabled systemd-resolved
on my system (Ubuntu 20.04) but Pritunl tried to update the DNS entry via systemd-resolvd
and it failed when the service wasn't running.
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Logs where it tried to look for the service:
tail -f ~/.config/pritunl/profiles/*
<14>Mar 10 23:54:25 a65e97e8075b8b500c5e9cfe29083e4d-up.sh: Link 'tun0' coming up
<14>Mar 10 23:54:25 a65e97e8075b8b500c5e9cfe29083e4d-up.sh: Adding IPv4 DNS Server 1.1.1.1
<14>Mar 10 23:54:25 a65e97e8075b8b500c5e9cfe29083e4d-up.sh: SetLinkDNS(30 1 2 4 1 1 1 1)
Call failed: Unit dbus-org.freedesktop.resolve1.service not found.
<8>Mar 10 23:54:25 a65e97e8075b8b500c5e9cfe29083e4d-up.sh: 'busctl' exited with status 1
Wed Mar 10 23:54:25 2021 WARNING: Failed running command (--up/--down): external program exited with error status: 1
Wed Mar 10 23:54:25 2021 Exiting due to fatal error
You can see it fails at the step Call failed: Unit dbus-org.freedesktop.resolve1.service not found
.
Solution¶
- The solution is to disable
systemd-resolved
at theNetworkManager
level. You need to add the following config block which overrides these settings at/etc/NetworkManager/NetworkManager.conf
:
[main]
...
dns=default
systemd-resolved=false
...
- Restart
network-manager
:
sudo systemctl restart NetworkManager
Now, when you try to connect to Pritunl, it will work fine :)