Odinstalovat VPN klienta, restartovat a pak zjistit, že prohlížeč nic nenačte, je na Ubuntu běžná posloupnost. Tunel je pryč, ale pravidlo, které na něj směrovalo provoz, ne, a na Ubuntu tyto zbytky obvykle žijí v NetworkManageru, nikoli v balíčku. Profil připojení a fiktivní rozhraní vytvořené za běhu nepatří žádnému balíčku, takže odebrání balíčku je neodstraní.

Tunel je pryč, pravidlo ne

Kill switch funguje tak, že bez tunelu udělá síť nepoužitelnou. Když je klient odebrán, zatímco je tento stav aktivní, nezůstane nic, co by ho vypnulo. Výsledek vypadá přesně jako rozbitý síťový adaptér a obvykle jde o profil, který drží trasu.

Proto přeinstalace někdy obnoví připojení: znovu vytvoří proces, který umí zrušit vlastní pravidlo. Klient odebraný za aktivního přepínače zanechal stav, který už nikdo neuklidí.

Přečtěte objekty, které balíček nikdy nevlastnil

Přečtěte stav dřív, než ho změníte. Vypište zařízení, aktivní připojení a obě směrovací tabulky, pak hledejte fiktivní zařízení, které hlásí připojení, nebo výchozí trasu, která na něj ukazuje. IPv4 a IPv6 selhávají odděleně, takže fungující ping na adresu s rozbitým překladem jmen ukazuje na jiný objekt než mrtvá trasa. Fiktivní zařízení s výchozí trasou vysvětlí celý výpadek samo.

nmcli device status
nmcli connection show --active
ip -4 route
ip -6 route

Zapište, co najdete, protože oprava je smazat jeden konkrétní objekt, ne resetovat všechno. Cokoli širšího riskuje druhý výpadek. To je rozdíl mezi opravou a hádáním.

Prázdná směrovací tabulka s připojeným zařízením je jiná závada a ukazuje na DHCP, ne na zbytkový profil. Před jakoukoli úpravou si přečtěte pronájem.

Smažte profil, ne soubor s klíčem

Smažte profil přes NetworkManager, místo abyste odstraňovali soubor s klíčem. Smazání souboru nechá profil v paměti aktivní do dalšího restartu, což dělá správnou opravu nespolehlivou. Pak restartujte službu a znovu přečtěte seznam zařízení. Restart je to, co smazání udělá skutečným.

sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManager

Pokud fiktivní spoj přežije, odstraňte i ten spoj, pak otestujte adresu a jméno odděleně. Čisté směrování s nefunkčním jménem ukazuje na DNS, zatímco nefunkční adresa ukazuje na trasu nebo firewall.

Zkontrolujte háček při startu, než se to zopakuje

Některé zbytky se při každém startu samy přeinstalují. Ručně psaná unit nebo skript if-up, který přidává pravidla firewallu, to dělá dál i po zmizení balíčku, takže výpadek se vrací a dřívější oprava vypadá jako štěstí. Před dalším restartem prohledejte soubory unit a síťové háčky. Název unitu to obvykle prozradí.

systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.d

Odstraňte nebo zamaskujte konkrétní soubor, jednou restartujte a potvrďte, že stav bez tunelu je to, co chcete. Ten poslední restart je test, protože oprava, která vydrží jen do dalšího startu, není oprava. Potom mějte poznámku u stroje. Referenční příručka nmcli pokrývá příkazy pro zařízení a připojení použité výše.

Související články