Portàtil descriu l’instal·lador, no el nucli. Un client pot arribar com un sol executable en una memòria USB i encara necessitar un dispositiu de túnel, una entrada a la taula de rutes i una escriptura al resolutor abans que es mogui el primer paquet. Quin d’aquests tres us deixarà tocar la màquina de destinació decideix si aquesta compilació hi funciona de fet. Les proves de sota responen la pregunta en l’ordre en què el client les trobarà.

Portàtil cobreix tres promeses diferents, i només una és gratuïta

Sense instal·lador vol dir que el proveïdor no va registrar cap servei, no va enviar cap desinstal·lador ni va afegir cap entrada al menú. Sense administrador vol dir que un compte ordinari pot iniciar el client i completar una connexió. Sense canvi a l’amfitrió vol dir que la màquina sembla idèntica després que sortiu. Les pàgines de descàrrega que diuen portàtil normalment només prometen la primera d’aquestes, i les altres dues són on fallen els desplegaments. Una compilació també pot ser portàtil en el sentit estricte que s’executa des de mitjans de només lectura sense cap escriptura de fitxers punt, cosa que encara no diu res sobre la pila de xarxa.

Les promeses cares són la segona i la tercera. Un sol executable que necessita un adaptador, una ruta o una escriptura al resolutor demana al sistema operatiu una autoritat que l’etiqueta portàtil mai no va cobrir.

Trobeu l’ajudant privilegiat que el client cridarà

Gairebé cap client VPN mou paquets per si mateix. A Windows el camí de dades passa pels filtres WFP i el Base Filtering Engine, a macOS per un proveïdor NetworkExtension que l’usuari aprova a Configuració del sistema, i a Linux per un dispositiu tun més la pila d’encaminament. El binari que heu copiat és una superfície de control per a aquests components, no un substitut. Pregunteu quin component espera el client i després confirmeu que està instal·lat, en marxa i que el vostre compte el pot utilitzar.

Linux és el lloc més fàcil per demostrar-ho, perquè la comprovació és una sola crida al sistema. Obrir /dev/net/tun i demanar un dispositiu al nucli requereix CAP_NET_ADMIN, i la documentació del nucli sobre TUN/TAP indica tant la regla de propietat com la capacitat. Executeu la prova amb el compte que iniciarà el client, no com a root.

ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest

Un error de permisos a la línia del mig és la resposta que buscàveu: aquest compte no pot crear una interfície de túnel, així que qualsevol client d’espai d’usuari que en necessiti una falla en connectar, no en descarregar. L’última línia elimina el dispositiu de prova i no imprimeix res quan funciona. Si les dues línies tenen èxit, l’amfitrió no ha canviat res de manera permanent.

Proveu els canvis de ruta i de resolutor abans de la primera connexió

El tunelatge dividit converteix una connexió en una decisió d’encaminament, mentre que un túnel complet la converteix en una substitució de la ruta per defecte. Tots dos són escriptures a la pila de xarxa de l’amfitrió, i tots dos fallen per a un compte sense privilegis fins i tot quan el client mateix arrenca net. El resolutor és la tercera escriptura, i als amfitrions amb systemd normalment és la que es trenca l’última. Aquest ordre importa quan decidiu on gastar una instal·lació amb privilegis elevats.

Una prova de ruta necessita una destinació que realment us importi, així que substituïu una subxarxa del vostre propi perfil en lloc del marcador de posició de sota. El nom del dispositiu ha d’existir perquè la ruta es pugui enganxar a alguna cosa.

ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal

Si la primera línia retorna RTNETLINK answers: Operation not permitted, vol dir que el compte no pot instal·lar la ruta privada que el perfil requereix. La segona línia demostra el mateix dret a l’inrevés, cosa que importa perquè un client que pot afegir rutes però no treure-les deixa una taula trencada al darrere. La consulta al resolutor després mostra si els noms privats es resolen a través del túnel o es filtren cap al resolutor en què l’amfitrió ja confia.

Executeu les tres línies mentre el dispositiu de prova encara existeixi i després esborreu-lo. Una ruta que apunta a un dispositiu que ja no hi és és la causa més comuna que un portàtil perdi la connectivitat després d’una connexió fallida.

Decidiu què ha de sobreviure a la sessió

Esborrar la carpeta no és un pla de neteja. Els adaptadors, les rutes, la configuració del resolutor, els certificats de confiança i les credencials desades poden cadascun sobreviure al procés, i un servei en arrencar pot restaurar-ne alguns sense preguntar. Anoteu què se li permet deixar al client abans d’executar-lo, no després de la primera desconnexió fallida.

La regla pràctica és fer una instantània de les tres superfícies que esteu a punt de canviar i comparar-les després. Registreu les interfícies, la taula d’encaminament principal i l’estat del resolutor abans de la primera connexió, i després repetiu les mateixes tres lectures quan el client hagi sortit.

ip -brief addr show
ip route show table main
resolvectl status

Tot el que apareix a la segona captura i falta a la primera necessita un propietari. O el client ho elimina en sortir, o ho elimineu vosaltres amb les mateixes ordres que ho van crear, i aquesta eliminació pertany a les notes de desplegament i no a la memòria d’algú sobre què va passar. A Windows les lectures equivalents són Get-NetAdapter, Get-NetRoute i Get-DnsClientServerAddress, que no necessiten elevació però mostren les mateixes restes.

Articles relacionats