Una aplicació de la màquina surt per la VPN i una altra no, i tots dos usuaris juren que no han canviat res. La diferència sol ser una decisió de lligam que pren la pròpia aplicació: un sòcol lligat a un dispositiu, una adreça d’origen triada abans de la connexió o un espai de noms amb la seva pròpia taula d’encaminament. Cadascuna canvia quina ruta s’aplica, i cap no apareix en una comprovació genèrica d’IP al navegador.

Tres lligams diferents, tres efectes diferents

Lligar-se a un dispositiu i lligar-se a una adreça d’origen són operacions relacionades amb conseqüències diferents. Un lligam a dispositiu pot forçar el trànsit a sortir per una interfície i saltar-se la cerca normal de ruta d’aquell sòcol. El lligam a una adreça d’origen encara passa per la selecció de ruta, però l’origen triat pot coincidir amb una regla de política i enviar el paquet a un altre lloc. La distinció sona acadèmica fins que una regla encamina per origen. Llavors ho decideix tot.

L’espai de noms de xarxa és el tercer cas. Té les seves interfícies i la seva taula d’encaminament, així que una aplicació a dins no rep cap efecte del valor predeterminat de l’amfitrió. Tractar els tres com la mateixa cosa produeix explicacions segures que no superen la primera prova.

Determineu què configura realment l’aplicació

Llegiu la configuració de xarxa de l’aplicació o el seu comportament documentat abans de tocar rutes. Si ofereix una tria d’interfície, un camp d’adreça d’origen o una opció d’espai de noms, aquest paràmetre és el primer que cal inspeccionar. Si no, el lligam pot ser intern i només visible mitjançant traçat o els seus propis diagnòstics.

A Linux, opcions de sòcol com SO_BINDTODEVICE tenen abast i requisits de permisos documentats, i un procés sense privilegis pot no poder establir-les. Aquesta restricció és una pista útil: si l’opció no es pot aplicar, probablement l’aplicació no és l’origen de la diferència.

L’encaminament per política llegeix l’origen

Quan hi ha encaminament per política configurat, una regla pot triar una taula segons l’origen del paquet. Per tant, un sòcol que lliga una adreça d’origen pot seguir una regla que la ruta predeterminada no toca mai, encara que no s’hagi nomenat cap interfície explícitament.

Reproduïu la cerca amb la mateixa família d’adreces, origen i espai de noms que fa servir l’aplicació. Una cerca genèrica de ruta des d’un intèrpret a l’espai de noms de l’amfitrió respon una pregunta diferent, i aquest desajust és el motiu més habitual que una ruta que funciona sembli trencada.

Túnel dividit i processos auxiliars

El túnel dividit per aplicació afegeix una altra capa. El client pot coincidir amb el paquet o el procés de l’aplicació, i un auxiliar que obre el seu propi sòcol és un subjecte a part. Un llançador i el seu servei en segon pla poden produir connexions diferents sota el mateix nom visible.

Comproveu si la regla de túnel dividit cobreix el procés que realment es connecta. Si l’aplicació es lliga a una interfície concreta i el client VPN coincideix per paquet, les dues decisions poden discrepar sense que cap sigui incorrecta.

Proveu el camí propi de l’aplicació

Feu una petició nova des de l’aplicació després de cada canvi. Un navegador que mostra la sortida que volíeu no és una prova equivalent per a un altre programa lligat a una altra interfície, i les connexions en memòria cau poden seguir usant el camí antic molt després que un paràmetre canviï. Tanqueu la sessió antiga abans de jutjar la regla nova. Si no, la prova mesura el passat.

La referència de sòcols de Linux documenta SO_BINDTODEVICE i els seus requisits. Llegiu primer la configuració de l’aplicació, reproduïu la cerca en el mateix context i només després decidiu si cal canviar la ruta o el lligam.

Articles relacionats