This runbook provides step-by-step instructions for installing and configuring IVPN and Tailscale on Arch Linux to ensure they work together seamlessly. By default, IVPN's aggressive firewall (kill switch) blocks Tailscale's virtual network adapter. This guide resolves that conflict using split tunneling.
- Arch Linux system (e.g., Garuda, EndeavourOS, vanilla Arch)
- Sudo privileges
- Active IVPN account
- Active Tailscale account
- Install the IVPN client from the AUR (Arch User Repository). Using a helper like
yayorparuis recommended:(Note:yay -S ivpn-ui
ivpn-uiincludes the background daemonivpn-service) - Enable and start the IVPN service:
sudo systemctl enable --now ivpn-service - Open the IVPN GUI, log in to your account, and connect to a server.
- Install Tailscale from the official Arch repositories:
sudo pacman -S tailscale
- Enable and start the Tailscale service:
sudo systemctl enable --now tailscaled - Authenticate and connect Tailscale to your Tailnet:
(Note: At this point, your internet connection may drop or Tailscale may fail to route traffic due to IVPN's firewall.)
sudo tailscale up
To allow Tailscale traffic to bypass the IVPN tunnel, you must add the Tailscale daemon to IVPN's split tunnel list.
- Open the IVPN GUI.
- Navigate to Settings (gear icon) -> Split Tunnel.
- Check the box for Split Tunnel.
- Ensure Inverse mode (BETA) is unchecked.
- Uncheck Block DNS servers not specified by the IVPN application. (Crucial for Tailscale MagicDNS)
- Click Add application...
- Navigate to
/usr/sbin/and selecttailscaled. (Alternatively, via CLI:ivpn split-tunnel -add /usr/sbin/tailscaled)
If you experience DNS resolution issues, prevent Tailscale from hijacking the system DNS, allowing IVPN to handle public DNS queries while Tailscale handles internal MagicDNS.
- Bring Tailscale down:
sudo tailscale down
- Bring Tailscale back up without accepting DNS:
sudo tailscale up --accept-dns=false
- Verify Tailscale is running and connected:
tailscale status
- Test connectivity to another node on your Tailnet:
tailscale ping <TAILSCALE_IP_OF_OTHER_NODE>
- Test general internet connectivity:
ping 8.8.8.8
- No Internet: Ensure IVPN's "Block DNS servers not specified by the IVPN application" is unchecked.
- Cannot reach Tailnet nodes: Verify
/usr/sbin/tailscaledis exactly what was added to the IVPN split tunnel. Do not add the CLI tool/usr/bin/tailscale.