Desinstal·lar el client VPN, reiniciar i després trobar que el navegador no pot carregar res és una seqüència habitual a Ubuntu. El túnel ha desaparegut, però la política que hi dirigia el trànsit no, i a Ubuntu aquestes restes solen viure a NetworkManager i no al paquet. Un perfil de connexió i una interfície fictícia creats en temps d'execució no pertanyen a cap paquet, així que treure el paquet no els treu.

El túnel ha desaparegut, la política no

Un kill switch funciona fent que la xarxa sigui inutilitzable sense el túnel. Quan es treu el client mentre aquest estat és actiu, no queda res que el desactivi. El resultat sembla exactament un adaptador de xarxa espatllat i normalment és un perfil que reté una ruta.

Per això reinstal·lar de vegades restaura la connectivitat: recrea el procés que sap desfer la seva pròpia política. Un client tret mentre el seu commutador era actiu va deixar un estat que ningú no pot netejar.

Llegeix els objectes que el paquet mai no va posseir

Llegeix l'estat abans de canviar-lo. Llista els dispositius, les connexions actives i les dues taules d'encaminament, i després busca un dispositiu fictici que es declari connectat o una ruta per defecte que apunti a un. IPv4 i IPv6 fallen per separat, així que un ping que funciona a una adreça amb la resolució de noms trencada apunta a un objecte diferent del d'una ruta morta. Un dispositiu fictici que reté una ruta per defecte explica tota la caiguda per si sol.

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

Anota el que trobis, perquè l'arranjament és esborrar un objecte concret i no reiniciar-ho tot. Qualsevol cosa més àmplia arrisca una segona caiguda. Aquesta és la diferència entre una reparació i una endevinalla.

Una taula d'encaminament buida amb un dispositiu connectat és una altra fallada, i apunta al DHCP i no a un perfil sobrant. Llegeix la concessió abans d'editar res.

Esborra el perfil, no el fitxer de clau

Esborra el perfil a través de NetworkManager en lloc de treure el fitxer de clau. Esborrar el fitxer deixa el perfil a la memòria actiu fins al proper reinici, cosa que fa que una reparació correcta sembli poc fiable. Després reinicia el servei i torna a llegir la llista de dispositius. El reinici és el que fa real l'esborrat.

sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManager

Si sobreviu un enllaç fictici, treu també aquest enllaç i després prova una adreça i un nom per separat. Un encaminament net amb un nom fallit apunta al DNS, mentre que una adreça fallida apunta a una ruta o a un tallafocs.

Comprova el ganxo d'arrencada abans que es repeteixi

Algunes restes es reinstal·len a cada arrencada. Una unitat escrita a mà o un script if-up que afegeix regles de tallafocs continua fent-ho després que el paquet desaparegui, així que la caiguda torna i la reparació anterior sembla sort. Cerca els fitxers d'unitat i els ganxos de xarxa abans de reiniciar una altra vegada. El nom de la unitat normalment delata el cas.

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

Treu o emmascara el fitxer concret, reinicia un cop i confirma que l'estat sense túnel és el que vols. Aquest reinici final és la prova, perquè una solució que només aguanta fins a la propera arrencada no és una solució. Després guarda la nota amb la màquina. La referència de nmcli cobreix les ordres de dispositiu i connexió usades més amunt.

Articles relacionats