DNS issue with Pritunl client on Debian 12 Bookworm

It seems like there might be an issue related to DNS with the Pritunl client running on Debian 12 Bookworm.

This is what can be seen in the profile log for all clients from version 1.3.4269.93 and upwards:

Call failed: The name org.freedesktop.resolve1 was not provided by any .service files
<8>Mar 23 13:52:10 5e847c18ba2bae82-up.sh: 'busctl' exited with status 1
2026-03-23 13:52:10 WARNING: Failed running command (--up/--down): external program exited with error status: 1
2026-03-23 13:52:10 Exiting due to fatal error

The only way to establish a stable connection is to set the “Disable DNS” option, but then of course DNS resolution is not correct.

Pritunl client version 1.3.4262.38 seems to work just fine.

Run these commands to get the DNS configuration state.

sudo bash -x << 'EOF'
set -x
cat /etc/resolv.conf
cat /etc/resolvconf.conf
cat /etc/resolv.conf.bak
ls -la /etc/resolv.conf
resolvectl status
resolvectl dns
systemctl status systemd-resolved
resolvconf -l
NetworkManager --print-config | grep rc-manager
EOF

Thanks for the quick reply.

Here is the requested output:

+ set -x
+ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.

nameserver 192.168.1.1
search home
+ cat /etc/resolvconf.conf
cat: /etc/resolvconf.conf: No such file or directory
+ cat /etc/resolv.conf.bak
cat: /etc/resolv.conf.bak: No such file or directory
+ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 29 May 16  2025 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
+ resolvectl status
bash: line 6: resolvectl: command not found
+ resolvectl dns
bash: line 7: resolvectl: command not found
+ systemctl status systemd-resolved
Unit systemd-resolved.service could not be found.
+ resolvconf -l
# resolv.conf from NetworkManager
search home
nameserver 192.168.1.1
+ NetworkManager --print-config
+ grep rc-manager
# rc-manager=

It looks like you have modified the system DNS configuration. The Pritunl client will look for 127.0.0.53 and systemd-resolved in the file /etc/resolv.conf to detect systemd-resolved. You have this in the file but nameserver 192.168.1.1 indicates it is not actually using the systemd stub resolver. Deleting those commented lines at in the /etc/resolv.conf should correct the issue. I may make changes to the DNS code to detect this but the system resolv conf file should still be corrected.

Thanks for the advice.

I do not recall making any change to DNS settings explicitly on this system, but maybe I did…

I am trying to figure out the sequence of events:

  • Run sudo apt-get --purge autoremove pritunl-client resolvconf
  • Remove network interfaces via GNOME GUI
  • Power-cycle
  • Diagnostics:
    + set -x
    + cat /etc/resolv.conf
    # Generated by NetworkManager
    + cat /etc/resolvconf.conf
    cat: /etc/resolvconf.conf: No such file or directory
    + cat /etc/resolv.conf.bak
    cat: /etc/resolv.conf.bak: No such file or directory
    + ls -la /etc/resolv.conf
    -rw-r--r-- 1 root root 30 Mar 24 16:18 /etc/resolv.conf
    + resolvectl status
    bash: line 6: resolvectl: command not found
    + resolvectl dns
    bash: line 7: resolvectl: command not found
    + systemctl status systemd-resolved
    Unit systemd-resolved.service could not be found.
    + resolvconf -l
    bash: line 9: resolvconf: command not found
    + NetworkManager --print-config
    + grep rc-manager
    # rc-manager=
    
  • Add network interface via GNOME GUI
  • Power-cycle
  • Check network connectivity OK
  • Diagnostics:
    + set -x
    + cat /etc/resolv.conf
    # Generated by NetworkManager
    search home
    nameserver 192.168.1.1
    + cat /etc/resolvconf.conf
    cat: /etc/resolvconf.conf: No such file or directory
    + cat /etc/resolv.conf.bak
    cat: /etc/resolv.conf.bak: No such file or directory
    + ls -la /etc/resolv.conf
    -rw-r--r-- 1 root root 65 Mar 24 16:23 /etc/resolv.conf
    + resolvectl status
    bash: line 6: resolvectl: command not found
    + resolvectl dns
    bash: line 7: resolvectl: command not found
    + systemctl status systemd-resolved
    Unit systemd-resolved.service could not be found.
    + resolvconf -l
    bash: line 9: resolvconf: command not found
    + NetworkManager --print-config
    + grep rc-manager
    # rc-manager=
    
  • Run sudo apt-get install pritunl-client (installs latest available version, which also installs resolvconf as dependency, but not systemd-resolved)
  • Power-cycle
  • Diagnostics (note how comments have been added automatically):
    + set -x
    + cat /etc/resolv.conf
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    # 127.0.0.53 is the systemd-resolved stub resolver.
    # run "resolvectl status" to see details about the actual nameservers.
    
    nameserver 192.168.1.1
    search home
    + cat /etc/resolvconf.conf
    cat: /etc/resolvconf.conf: No such file or directory
    + cat /etc/resolv.conf.bak
    cat: /etc/resolv.conf.bak: No such file or directory
    + ls -la /etc/resolv.conf
    lrwxrwxrwx 1 root root 29 Mar 24 16:25 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
    + resolvectl status
    bash: line 6: resolvectl: command not found
    + resolvectl dns
    bash: line 7: resolvectl: command not found
    + systemctl status systemd-resolved
    Unit systemd-resolved.service could not be found.
    + resolvconf -l
    # resolv.conf from NetworkManager
    search home
    nameserver 192.168.1.1
    + NetworkManager --print-config
    + grep rc-manager
    # rc-manager=
    
  • Connection attempt to VPN tunnel via pritunl-client fails with log:
    Call failed: The name org.freedesktop.resolve1 was not provided by any .service files
    <8>Mar 24 16:30:14 ti35cbauojpbmi0h-up.sh: 'busctl' exited with status 1
    2026-03-24 16:30:14 us=534846 WARNING: Failed running command (--up/--down): external program exited with error status: 1
    2026-03-24 16:30:14 us=534855 Exiting due to fatal error
    
  • Remove comments in /etc/resolv.conf so that it reads:
    nameserver 192.168.1.1
    search home
    
  • Connection attempt to VPN tunnel via pritunl-client succeeds and is stable
  • Diagnostics while connected to VPN tunnel (note how comments are back):
    + set -x
    + cat /etc/resolv.conf
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    # 127.0.0.53 is the systemd-resolved stub resolver.
    # run "resolvectl status" to see details about the actual nameservers.
    
    nameserver REDACTED
    nameserver REDACTED
    nameserver 192.168.1.1
    search REDACTED REDACTED home
    + cat /etc/resolvconf.conf
    cat: /etc/resolvconf.conf: No such file or directory
    + cat /etc/resolv.conf.bak
    cat: /etc/resolv.conf.bak: No such file or directory
    + ls -la /etc/resolv.conf
    lrwxrwxrwx 1 root root 29 Mar 24 16:25 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
    + resolvectl status
    bash: line 6: resolvectl: command not found
    + resolvectl dns
    bash: line 7: resolvectl: command not found
    + systemctl status systemd-resolved
    Unit systemd-resolved.service could not be found.
    + resolvconf -l
    # resolv.conf from tun0.vpn
    search REDACTED REDACTED
    nameserver REDACTED
    nameserver REDACTED
    # resolv.conf from NetworkManager
    search home
    nameserver 192.168.1.1
    + NetworkManager --print-config
    + grep rc-manager
    # rc-manager=
    
  • Disconnect from VPN tunnel
  • Diagnostics:
    + set -x
    + cat /etc/resolv.conf
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    # 127.0.0.53 is the systemd-resolved stub resolver.
    # run "resolvectl status" to see details about the actual nameservers.
    
    nameserver 192.168.1.1
    search home
    + cat /etc/resolvconf.conf
    cat: /etc/resolvconf.conf: No such file or directory
    + cat /etc/resolv.conf.bak
    cat: /etc/resolv.conf.bak: No such file or directory
    + ls -la /etc/resolv.conf
    lrwxrwxrwx 1 root root 29 Mar 24 16:25 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
    + resolvectl status
    bash: line 6: resolvectl: command not found
    + resolvectl dns
    bash: line 7: resolvectl: command not found
    + systemctl status systemd-resolved
    Unit systemd-resolved.service could not be found.
    + resolvconf -l
    # resolv.conf from NetworkManager
    search home
    nameserver 192.168.1.1
    + NetworkManager --print-config
    + grep rc-manager
    # rc-manager=
    
  • Attempt to connect to same VPN tunnel again fails with log:
    Call failed: The name org.freedesktop.resolve1 was not provided by any .service files
    <8>Mar 24 16:45:27 ti35cbauojpbmi0h-up.sh: 'busctl' exited with status 1
    2026-03-24 16:45:27 us=42847 WARNING: Failed running command (--up/--down): external program exited with error status: 1
    2026-03-24 16:45:27 us=42857 Exiting due to fatal error
    

It feels to me like the comments in /etc/resolv.conf get added automatically. If I remove these comments manually, it is possible to establish a stable VPN connection, but the comments are added to /etc/resolv.conf and the subsequent attempt to connect to the VPN tunnel fails.

As far as I understand, the header comment that gets added to /etc/resolv.conf by resolvconf comes from /etc/resolvconf/resolv.conf.d/head:

$ cat /etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.

I suppose I could edit /etc/resolvconf/resolv.conf.d/head, so that it does not contain the content that confuses pritunl-client in a manner that is more durable.

It appears that this comment was removed in newer versions of resolvconf:

following this issue report:

The next release will adjust the systemd-resolved detection so that this will not occur.