Excluír un nome de host é algo que un túnel non pode facer. Unha ruta, porén, pode enviar unha soa dirección máis alá do túnel e cara a fóra pola pasarela da casa, e iso adoita abondar para un sitio. O problema é que todo o que está despois da ruta ten que coincidir: a devasa ten que deixar saír o paquete, o DNS ten que devolver a dirección que encamiñaches e o sitio ten que seguir usando esa dirección. Cando calquera dos tres deriva, a excepción deixa de funcionar sen anunciarse.

Le a dirección de destino antes de tocar o túnel

Carga o sitio unha vez co túnel activo e despois mira a dirección do par á que o navegador se conectou realmente. En Linux, ss -tunp lista a dirección remota de cada socket aberto, e dig +short sobre o mesmo nome mostra o que devolveu o resolutor. Ten os dous números diante.

As dúas respostas adoitan non coincidir, e esa discrepancia é todo o problema. Os sitios grandes colocan unha rede de contidos diante da súa orixe, así que a dirección que o teu resolutor devolve agora pode non ser a que o navegador usou hai un minuto. Encamiña o que observaches no socket, non o que enumera unha guía antiga. Se as respostas seguen a rotar entre rexións, unha excepción de dirección é o instrumento equivocado para ese sitio concreto.

Executa a busca unha segunda vez desde outra rede e anota a resposta IPv6 xunto coa IPv4. Un túnel que transporta as dúas familias necesita unha excepción en ambas, se non o navegador recae en silencio na ruta IPv6 que nunca tocou. Pon as direccións e a data nun lugar onde volvas mirar.

Pon unha ruta de host no cliente

Supoñamos que a interface se chama home-wg e que o router LAN está en 192.168.1.1. NetworkManager toma unha ruta cuxa pasarela é ese router e cuxa lonxitude de prefixo cobre os 32 bits completos, e o núcleo prefírea porque gaña o prefixo máis longo.

nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20

A pasarela ten que ser alcanzable sen o túnel; apuntar o seguinte salto á dirección do túnel frustra o propósito, porque o paquete volvería entrar na interface que intentas evitar. Cando a conexión volve levantarse, ip route get para a excepción debería imprimir a pasarela LAN, e o mesmo comando para un resolutor público debería seguir imprimindo o dispositivo do túnel.

Un perfil de wg-quick non ten campo de rutas, así que a mesma excepción vive nunha liña PostUp que engade a ruta de host á táboa principal coa interface LAN como o seu dispositivo. Baixa e volve subir a interface despois de editar, porque unha interface en marcha nunca rele o seu ficheiro. As regras fwmark que instala wg-quick só dirixen os seus propios paquetes encapsulados, así que o tráfico normal do navegador segue a táboa principal e atopa o teu /32.

O interruptor de emerxencia é o seguinte que o bloquea

Unha política de devasa que só admite tráfico na interface do túnel descartará a excepción mesmo cando a ruta sexa exactamente correcta. Le as regras detrás do conmutador en vez de confiar no conmutador, porque as que implementan un interruptor de emerxencia adoitan estar limitadas a un nome de interface.

O que queres é un permiso estreito para a interface física e ese único destino, colocado antes do descarte, mentres a política predeterminada queda intacta. Pausar o interruptor de emerxencia por completo demostra o punto, pero tamén deixa a máquina exposta mentres te esqueces de volver acendelo.

Proba as dúas direccións por separado. Unha petición á dirección da excepción debería funcionar mentres unha petición a un sitio non relacionado segue saíndo polo túnel. Se ambas funcionan pero a segunda informa da dirección da casa, a orde das regras da devasa é incorrecta, non a ruta.

O DNS decide a que dirección marca o navegador

Cando o nome se resolve dentro do túnel, o resolutor do provedor pode responder cunha dirección distinta da que deu o local. Entón a túa ruta aplícase a unha dirección que o navegador nunca contacta, e a páxina cárgase polo túnel coma se nada cambiase. Este fallo parece unha excepción rota aínda que a táboa de encamiñamento sexa correcta.

Envía tamén as consultas dese nome a través do resolutor local, ou salta os nomes por completo e proba a dirección directamente. Separar a dirección mentres o DNS queda dentro do túnel é a versión a medio rematar máis común desta configuración, e tamén a máis difícil de notar, porque o sitio segue funcionando, só que non como pretendías.

A mesma excepción no router, unha vez, para cada dispositivo

Co túnel funcionando no router, a ruta de host pertence á táboa de encamiñamento por políticas do router e apunta á pasarela WAN en lugar da LAN. Cada dispositivo que hai detrás herda a excepción, o que importa para unha caixa de streaming ou un portátil de traballo cuxos axustes de rede non podes cambiar.

Deixa o túnel como saída predeterminada para todos os demais clientes e despois verifica desde unha máquina cliente en lugar de desde a consola do router. Carga o sitio da excepción e un segundo sitio na mesma sesión do navegador e compara as direccións de saída; se o segundo segue mostrando o túnel, a táboa de políticas fai o que pediches.

Anota a dirección, a data e o motivo nas notas do router. Unha excepción construída arredor dunha dirección que despois se move convértese nunha avaría que ninguén pode explicar dentro dun ano, e a solución sempre parece un misterio ata que alguén atopa a nota vella.

Artigos relacionados