Abres a táboa de rutas tras conectarte e atopas un só enderezo encamiñado polo túnel mentres a subrede que o rodea segue indo á pasarela local. Esa entrada é unha ruta de host: un enderezo, emparellado por un prefixo de todos uns. Importa porque as decisións de encamiñamento usan o prefixo coincidente máis longo, así que un /32 pode impoñerse a un /24 ou a unha ruta por defecto sen cambiar ningunha das dúas. Que iso sexa unha excepción coidadosa ou unha futura caída depende de que enderezo nomea e de quen a mantén.

Un enderezo, unha entrada na táboa

Unha ruta de host IPv4 leva un prefixo /32 e unha ruta de host IPv6 leva /128, o que significa que a entrada pode coincidir exactamente cun enderezo de destino. Nada máis na táboa se move: a subrede que a cobre e a ruta por defecto quedan onde estaban. A entrada estreita gaña para ese enderezo porque o seu prefixo é máis longo, non porque se engadise despois.

Esa propiedade fai dunha ruta de host unha boa excepción e un mal costume. Dúas entradas /32 que nomean a porta de entrada dun servizo non cobren o seu segundo enderezo, o seu enderezo IPv6 nin o enderezo ao que se muda o mes que vén. Unha táboa chea de entradas dun só enderezo sen explicar adoita significar que alguén seguiu parcheando arredor dunha decisión de subrede en lugar de tomala. Le primeiro a lonxitude do prefixo e despois pregunta que debe protexer a entrada.

Le a entrada desde o cliente cara a fóra

Comeza pola máquina co problema, porque o mesmo enderezo pode encamiñarse de forma distinta nun portátil e na pasarela que ten diante. Pregunta ao núcleo que camiño elixiría para o enderezo exacto que usa a aplicación, en lugar de ler a táboa desde arriba. A resposta inclúe a interface e o seguinte salto, que xuntos son a decisión.

ip route get 203.0.113.25
ip -6 route get 2001:db8:4::25
ip route show | grep -F 203.0.113.25
Find-NetRoute -RemoteIPAddress 203.0.113.25

Repite a consulta para a familia de enderezos que a aplicación escolle realmente, xa que un cliente pode preferir IPv6 e saltarse en silencio unha excepción IPv4. Compara o resultado antes e despois de que suba o túnel, e garda ambas saídas. Esa comparación mostra se o cliente engadiu a entrada ao conectar ou se xa estaba alí.

Unha entrada persistente e unha entrada de execución fallan de forma distinta. A de execución desaparece coa sesión, mentres que a persistente sobrevive a un reinicio e segue enviando tráfico a unha pasarela que xa non existe.

A excepción do extremo e a trampa da recursión

Os clientes de VPN adoitan instalar unha ruta de host ao enderezo exterior do servidor a través da pasarela orixinal antes de redirixir a ruta por defecto. Sen esa entrada, os paquetes cifrados enviaríanse dentro do túnel que intentan construír, e a conexión entraría en bucle ata esgotar o tempo.

A trampa aparece cando as subredes aceptadas do túnel inclúen por casualidade ese enderezo do extremo, ou cando un segundo perfil engade despois unha ruta máis ampla. A entrada do extremo perde entón fronte a un prefixo máis longo e a sesión derrúbase en canto comeza a pasar tráfico. Escribir o enderezo do extremo xunto ás subredes aceptadas é a forma máis barata de notar a colisión antes que os usuarios. Tamén explica por que o mesmo perfil funciona desde unha rede e falla desde outra.

Verifica o camiño que a aplicación usa de verdade

Un ping correcto ao nome do host é unha proba feble cando a aplicación se conecta a outro enderezo ou outra familia. Verifica a combinación exacta de enderezo, familia, porto e interface desde a máquina que executa o cliente.

ip route get 203.0.113.25
sudo nft list ruleset | grep -A 4 'chain output'
curl -sS --max-time 8 -o /dev/null -w '%{remote_ip}
' https://app.example.net

Se o camiño é incorrecto, decide se o requisito é unha rede ou un enderezo antes de editar nada. Un requisito dun só enderezo xustifica unha ruta de host cun comentario e un responsable; un servizo con enderezos rotativos necesita encamiñamento baseado en dominio ou unha decisión honesta de subrede.

Elimina as entradas que xa non correspondan a un destino real e anota as que conserves. Un /32 sen explicar é indistinguible dun erro tres meses despois, e a persoa seguinte borrarao sen saber de que dependía.

Artigos relacionados