scripts/bash/usr-local-bin/nordvpn-off

57 lines
1.6 KiB
Plaintext
Raw Normal View History

2024-04-20 06:40:34 +02:00
#!/usr/bin/env bash
set -x
# In my experience killswitch causes issues for NordVPN to restore connection
# and anyway it's enabled by scripts that I actually want to be connected to
# VPN.
2024-04-20 06:40:34 +02:00
nordvpn set killswitch off
# The aforementioned script will restore it.
nordvpn set autoconnect off
# Disconnects VPN
2024-04-20 06:40:34 +02:00
nordvpn disconnect
nordvpn set ipv6 on
nordvpn set notify on
nordvpn set lan-discovery on
# Explicitly restores IPv6 since NordVPN disables it by setting this to 1.
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
# My scripts autostart them, I don't want NordVPN to haunt logs. However
# I have to change my mind since meshnet requires them.
#sudo systemctl stop nordvpnd.socket
#sudo systemctl stop nordvpnd.service
# Restarting networking ensures IPv6 connectivity will return.
2024-04-20 06:40:34 +02:00
sudo systemctl restart iwd.service
sudo systemctl restart systemd-networkd.service
sudo systemctl restart NetworkManager.service
# A bit of sleeping before flushing DNS caches, so we are surely connected
# for the new attempts. They are flushed in case of having private ECS aimed
# at the VPN.
2024-04-20 10:56:32 +02:00
sleep 5
#sudo systemctl restart unbound.service
if hash unbound-control 2> /dev/null; then
sudo unbound-control reload
fi
#sudo systemctl restart systemd-resolved.service
if hash resolvectl 2> /dev/null; then
sudo resolvectl flush-caches
fi
#sleep 5
# Yggdrasil needs IPv6
sudo systemctl restart yggdrasil.service
# The NTP server will now have access to IPv6 sources, possibly local NTP
# servers as well.
if hash chronyc 2> /dev/null; then
sudo chronyc online
fi
# Tor will complain of IP address change and failing guards during
# disconnection.
2024-04-27 11:18:52 +02:00
sudo systemctl restart tor.service
2024-04-20 06:40:34 +02:00
set +x