Solution to if you are hitting a DNS resolution problem that is very common on Linux (especially Linux Mint, Ubuntu derivatives, or any distro using systemd-resolved + dhcpcd / NetworkManager)

You’re hitting a DNS resolution problem that is very common on Linux (especially Linux Mint, Ubuntu derivatives, or any distro using systemd-resolved + dhcpcd / NetworkManager).

The Pangolin CLI (which uses the olm SDK under the hood) tries to inject its own DNS server (usually something like 100.96.128.1) so that your private resource aliases (e.g. my-server.internal) resolve correctly. On many Linux setups this fails because /etc/resolv.conf is being managed/overwritten by another service, so the changes Pangolin makes are ignored.

Step-by-step fix (safe to try)

  1. Check the current state (run these commands):

    ls -l /etc/resolv.conf
    cat /etc/resolv.conf
    
    • If it says lrwxrwxrwx ... -> /run/systemd/resolve/stub-resolv.conf → you already have the correct symlink (skip to step 3).
    • If it is a regular file (-rw-r--r--) or points somewhere else → continue.
  2. Apply the fix (forces the symlink to systemd-resolved’s stub resolver):

    sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    

    (The -f overwrites the old file if needed.)

  3. Restart/reconnect Pangolin:

    • Disconnect if you are connected.
    • Re-run your connect command (with debug if you want to see the logs again):
      pangolin connect --attach --log-level debug
      
      (or however you normally connect).
  4. Verify it worked:

    cat /etc/resolv.conf
    

    You should now see a nameserver line starting with 100. (the Pangolin DNS).

    Then test your alias:

    ping alias-name          # (may not work – see note below)
    # or better:
    ssh user@alias-name
    # or
    curl http://alias-name:port
    

Important notes

  • ICMP ping often doesn’t work even when the alias is correct (Pangolin docs say aliases don’t intercept ICMP). Use SSH, HTTP, or whatever port your service actually uses.

  • The symlink may get overwritten on reboot if dhcpcd or NetworkManager is aggressive.
    If that happens, add this line to /etc/dhcpcd.conf (then reboot):

    nohook resolv.conf
    

    Or create a systemd-resolved drop-in (alternative method):

    sudo mkdir -p /etc/systemd/resolved.conf.d
    sudo nano /etc/systemd/resolved.conf.d/pangolin.conf
    

    Paste:

    [Resolve]
    DNS=100.96.128.1   # ← use whatever Pangolin actually gives you
    Domains=~internal   # or whatever your alias domain is
    

    Then sudo systemctl restart systemd-resolved.

  • Make sure you are on the latest CLI version (0.5.3+ was mentioned as having improvements):

    curl -fsSL https://static.pangolin.net/get-cli.sh | bash
    

If after doing the symlink the alias still doesn’t resolve, paste here:

  • Output of cat /etc/resolv.conf
  • Output of pangolin status (or whatever shows your connection)
  • Your Linux distro + version (cat /etc/os-release)

If anyone is facing the issue please post below.

2 Likes