Un túnel pode informar de que está conectado mentres nada chega a el, e eses dúas cousas viven en lugares distintos. Unha é a táboa de rutas, que aínda pode enviar paquetes a un dispositivo que ninguén posúe. A outra é o resolvedor, que aínda pode listar un servidor nunha ligazón que xa non está. O cambio de rede non danou o perfil, orfanou o estado pertencente á conexión anterior, e a reparación depende de cal dos dous estás mirando de verdade.

Primeiro, pregunta ao núcleo que dispositivo usaría

Unha listaxe de rutas mostra o que existe; unha consulta de ruta mostra o que pasaría. Pregunta por un enderezo público e le o nome do dispositivo na resposta, porque ese único campo decide se o paquete chega a algún sitio útil. Cando a resposta nomea un dispositivo de túnel, o núcleo entregaralle os paquetes aínda que non quede ningún proceso cliente executándose detrás desa interface. Cando a resposta nomea o adaptador físico mentres o cliente di estar conectado, o túnel está levantado e simplemente non é o camiño escollido.

O segundo caso é o habitual despois de que un cable substitúa o wifi, e preséntase como unha VPN avariada.

ip route show default
ip route get 203.0.113.9

Le despois as entradas por defecto, xa que unha ruta engadida pola conexión base anterior pode sobrevivir a un cambio de ligazón e situarse diante da nova. Unha ruta por defecto por un dispositivo que está caído é peor que non ter ningunha, porque o núcleo aínda a prefire. Fixa a métrica xunto a cada entrada, porque esa orde explica a preferencia máis rápido ca os nomes das interfaces.

Despois, le o resolvedor por ligazón, non por ficheiro

A resolución de nomes leva o seu propio estado e a súa propia obsolescencia. Un resolvedor que lista servidores DNS por ligazón conserva os servidores dunha ligazón de túnel que está caída pero aínda rexistrada, e cada consulta espera entón un servidor que non responderá. O síntoma é unha rede que parece morta mentres a táboa de rutas está impecable.

Inspecciona o estado por ligazón en lugar do ficheiro, porque en moitas distribucións ese ficheiro é unha ligazón simbólica ao resolvedor e editalo ou non fai nada ou sobrescríbese axiña. Mira que ligazón posúe que servidores e que dominio de busca, e despois pregunta se a ligazón de túnel debería seguir rexistrada. Se non debería, desactiva a conexión que a posúe en vez de editar a man un estado xerado. Un nome que se resolve mentres a consulta de ruta envía paquetes a outro sitio é unha terceira falla, separada.

resolvectl status
resolvectl query app.internal.example

Se os enderezos se resolven e as conexións fallan, o resolvedor está ben e a ruta non. Se os enderezos non se resolven en absoluto, este é o sitio por onde comezar.

Como sobrevive unha ruta obsoleta ao cambio

O cliente non posúe a rede por si só. Nunha máquina con NetworkManager un perfil de VPN actívase por riba dunha conexión base, e os axustes de conexión permiten que esa base nomee a VPN que debe seguila. Cando a base cambia porque outro perfil pasa a ser preferido, o túnel segue sobre a nova base ou queda sen ningunha.

Un perfil de VPN non se levanta só, así que o emparellamento importa moito máis ca a preferencia de conexión automática do propio perfil.

Le a lista activa e anota que base está levantada antes de tocar o túnel. Se a base aparece e o túnel non, falta a ruta en vez de estar obsoleta e a solución é a activación. Se ao activar o túnel se queixa de que non existe conexión de orixe, a base coa que estaba emparellado desapareceu, así que érguena primeiro ou repara o emparellamento en vez de reintentar o túnel. Reintentar un perfil cuxo pai falta produce o mesmo erro cada vez, o que é un sinal útil e non unha molestia.

nmcli device status
nmcli connection show --active
nmcli connection up office-vpn

Distingue o estado obsoleto dun pai ausente

Tres estados explican case todos os informes, e cada un precisa unha reparación distinta. Unha ruta por defecto por un dispositivo que aínda existe pero xa non leva o túnel é estado obsoleto, limpado borrando a entrada ou reiniciando o perfil responsable. Un dispositivo de túnel cuxo proceso cliente desapareceu é un fallo de limpeza, así que o camiño de desconexión merece a atención e non a táboa de rutas. Non ter ningún dispositivo de túnel significa que falta o pai ou o emparellamento e que a táboa de rutas nunca entrou en xogo.

Reiniciar agocha cal dos tres tiñas, e é exactamente por iso que parece unha reparación.

Despois da reparación, pide ao núcleo un enderezo público e un interno, e despois consulta un nome interno. Cando o enderezo funciona e o nome non, atopaches un problema de ámbito de dominio no resolvedor e non de encamiñamento. Anota que estado atopaches, porque o vindeiro cambio de rede reproducirá o que deixaches tranquilo.

Artigos relacionados