Ubuntu queda sen internet despois de retirar unha aplicación VPN
Un cliente VPN purgado pode deixar perfís de NetworkManager e unha interface ficticia. Eses orfos manteñen unha ruta predeterminada ou unha política de cortalumes.
Desinstalar o cliente VPN, reiniciar e despois descubrir que o navegador non carga nada é unha secuencia habitual en Ubuntu. O túnel desapareceu, pero a política que dirixía o tráfico cara a el non, e en Ubuntu eses restos adoitan vivir en NetworkManager e non no paquete. Un perfil de conexión e unha interface ficticia creados en tempo de execución non pertencen a ningún paquete, así que retirar o paquete non os retira.
O túnel desapareceu, a política non
Un kill switch funciona facendo que a rede sexa inutilizable sen o túnel. Cando se retira o cliente mentres ese estado está activo, non queda nada que o desactive. O resultado parece exactamente un adaptador de rede roto e adoita ser un perfil que retén unha ruta.
Por iso reinstalar ás veces restaura a conectividade: recrea o proceso que sabe desfacer a súa propia política. Un cliente retirado mentres o seu conmutador estaba activo deixou un estado que xa ninguén limpa.
Lea os obxectos que o paquete nunca posuíu
Lea o estado antes de cambialo. Enumere dispositivos, conexións activas e ambas as dúas táboas de enrutamento, e despois busque un dispositivo ficticio que se declare conectado ou unha ruta predeterminada que apunte a un. IPv4 e IPv6 fallan por separado, así que un ping que funciona a un enderezo coa resolución de nomes rota apunta a outro obxecto que unha ruta morta. Un dispositivo ficticio que retén unha ruta predeterminada explica toda a caída por si só.
nmcli device status
nmcli connection show --active
ip -4 route
ip -6 routeAnote o que atope, porque a solución é borrar un obxecto concreto e non reinicializalo todo. Calquera cousa máis ampla arrisca unha segunda caída. Esa é a diferenza entre unha reparación e unha conxectura.
Unha táboa de enrutamento baleira cun dispositivo conectado é outra avaría, e apunta a DHCP e non a un perfil sobrante. Lea a concesión antes de editar nada.
Borrar o perfil, non o ficheiro de chave
Borrar o perfil a través de NetworkManager en lugar de retirar o ficheiro de chave. Borrar o ficheiro deixa o perfil en memoria activo ata o próximo reinicio, o que fai que unha reparación correcta pareza pouco fiable. Despois reinicie o servizo e volva ler a lista de dispositivos. O reinicio é o que fai real o borrado.
sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManagerSe sobrevive unha ligazón ficticia, retire tamén esa ligazón e despois probe un enderezo e un nome por separado. Un enrutamento limpo cun nome fallido apunta a DNS, mentres que un enderezo fallido apunta a unha ruta ou a un cortalumes.
Comprobe o gancho de arranque antes de que se repita
Algúns restos reinstálanse en cada arranque. Unha unidade escrita a man ou un script if-up que engade regras de cortalumes segue facéndoo despois de que o paquete desapareza, así que a caída volve e a reparación anterior parece sorte. Busque nos ficheiros de unidade e nos ganchos de rede antes de reiniciar outra vez. O nome da unidade adoita delatalo.
systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.dRetire ou enmascare o ficheiro concreto, reinicie unha vez e confirme que o estado sen túnel é o que quere. Ese reinicio final é a proba, porque unha solución que só aguanta ata o próximo arranque non é unha solución. Garde a nota coa máquina despois. A referencia de nmcli cobre os comandos de dispositivo e conexión usados arriba.