diff --git a/etc/systemd/system/chrony.service.d/mullvad-exclude.conf b/etc/systemd/system/chrony.service.d/mullvad-exclude.conf index 838bb3c1..f882db01 100644 --- a/etc/systemd/system/chrony.service.d/mullvad-exclude.conf +++ b/etc/systemd/system/chrony.service.d/mullvad-exclude.conf @@ -8,7 +8,7 @@ After=network.target mullvad-daemon.service [Service] # Wait a minute before actually starting Chrony so Mullvad has surely had # time to start and thus not fail at excluding (cannot set the cgroup, no -# such file or directory +# such file or directory) ExecStartPre=/usr/bin/sleep 60 # Empty the main chrony.service ExecStart line so it can be overwritten ExecStart= diff --git a/etc/systemd/system/yggdrasil.service.d/mullvad-exclude.conf b/etc/systemd/system/yggdrasil.service.d/mullvad-exclude.conf new file mode 100644 index 00000000..b7191f9c --- /dev/null +++ b/etc/systemd/system/yggdrasil.service.d/mullvad-exclude.conf @@ -0,0 +1,15 @@ +# Split-tunneling Yggdrasil outside of Mullvad VPN (won't work without it) + +[Unit] +# Don't start until mullvad-daemon is online to allow excluding +Wants=mullvad-daemon.service +After=network.target mullvad-daemon.service + +[Service] +# Wait a ~minute before actually starting Yggdrasil so Mullvad has surely had +# time to start and thus not fail at excluding (cannot set the cgroup, no +# such file or directory) +ExecStartPre=/usr/bin/sleep 45 +# Empty the main yggdrasil.service ExecStart line so it can be overwritten +ExecStart= +ExecStart=/usr/bin/mullvad-exclude /usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf