L’eina de captura funciona tot el matí, el túnel es connecta i l’eina calla. Desconnecteu i torna a començar. La intuïció diu que la VPN ha trencat el proxy, però la configuració del proxy no ha canviat. El que ha canviat és quina configuració llegeixen ara les aplicacions: una entrada de túnel pot portar configuració de proxy pròpia, un perfil gestionat pot tornar a activar la configuració automàtica, i alguns entorns d’execució només llegeixen una part del que ofereix el sistema operatiu. Llegiu el valor per connexió abans de tocar el global.

Windows guarda un proxy per connexió

A les opcions d’Internet hi ha dues capes que al diàleg semblen idèntiques. La configuració de la LAN s’aplica a la connexió local ordinària, mentre que una entrada de marcació o de VPN guarda la seva pròpia còpia sota HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections, desada com a valor binari. Escriure els coneguts valors globals del registre no actualitza aquesta còpia.

Així és exactament com una eina es comporta correctament abans de connectar i incorrectament després, sense cap canvi visible a la seva configuració. El diàleg que mirava era el plafó de la LAN. Era correcte i era irrellevant. L’entrada que Windows feia servir de debò era la creada per al túnel.

La manera admesa de canviar una entrada és l’API d’opcions de connexió WinINET: ompliu un INTERNET_PER_CONN_OPTION_LIST amb el nom de la connexió, els indicadors, el servidor proxy i una llista d’exclusions, apliqueu-lo i actualitzeu. Per a una comprovació ràpida, obriu el diàleg de configuració de l’entrada del túnel i compareu-ne el plafó de proxy amb el de la LAN; la diferència sol ser evident quan saps on mirar.

Un PAC gestionat es pot tornar a activar

A macOS, l’script de configuració automàtica de proxy i el descobriment automàtic de proxy són propietats d’un servei de xarxa, no de la màquina. Un perfil de configuració pot exigir-los, així que reapareixen després de desmarcar-los, i cada petició s’envia llavors al proxy que tria l’script.

Inspeccioneu i, si teniu autorització, desactiveu aquests dos interruptors per al servei que porta el trànsit:

networksetup -setautoproxystate "Wi-Fi" off
networksetup -setproxyautodiscovery "Wi-Fi" off
scutil --proxy

Feu servir el nom real del servei, no una suposició. Un portàtil amb Wi-Fi i un adaptador Ethernet USB en té dos, i només un porta el vostre trànsit. scutil --proxy imprimeix els valors del servei principal actual. Compareu aquesta sortida amb el que heu editat abans de concloure que el perfil ha guanyat.

Adreceu l’eina a l’origen real

Si l’script conté el proxy corporatiu, llegiu-lo i introduïu la mateixa adreça com a proxy extern dins de l’eina de captura. Llavors l’eina reenvia a l’origen real, que és el que espera el proxy corporatiu, i es queda al camí de la petició en lloc de barallar-se amb la política.

Aquest és el moviment que us manté depurant en lloc de reconfigurant.

Empenyeu el proxy dins del túnel

Un client basat en OpenVPN pot acceptar opcions de proxy que s’apliquen quan el túnel ja és a dalt, cosa convenient quan el client és l’amo de les rutes:

dhcp-option HTTPPROXY 127.0.0.1:8888
dhcp-option HTTPSPROXY 127.0.0.1:8888

Només els clients que respecten l’opció la faran servir, i aquesta fixa el vostre port d’escolta dins d’un perfil. Tracteu-ho com una comoditat de laboratori i no com un estàndard de desplegament, perquè el proper enviament de perfil la traurà.

Alguns clients no llegeixen mai el proxy del sistema

Firefox guarda la seva pròpia configuració de proxy, i per això de vegades continua capturant quan un navegador amb proxy del sistema no ho fa. Un client .NET antic que no entén la configuració automàtica es connecta directament allà on corre, de manera que una pàgina que es carrega per l’entrada del túnel pot fallar igualment dins de l’aplicació.

Les eines de xarxa també tenen les seves causes. Una sessió FTP que es penja a través d’un túnel o d’un tethering de telèfon sovint és un problema de mode actiu enfront de passiu que negocia el client, i cap ajust de proxy ho canviarà.

Llegiu la configuració, no l’interruptor

Treballa en aquest ordre: el valor de proxy propi de l’entrada del túnel, l’estat de PAC i de descobriment automàtic per servei, i després la gestió de proxy pròpia de l’aplicació. Atura’t al primer que difereixi del que suposaves.

Cada cas d’aquí és un problema de precedència de configuració. Cap no és el túnel trencant la teva eina.

Articles relacionats