El vostre Mac baixa un script de política i després pregunta a aquest script quin intermediari ha d'usar una petició, mentre que el túnel només decideix com s'arriba al salt triat. Totes dues respostes acaben al mateix sòcol, així que una petició que falla després que totes dues hagin reeixit sembla una sola avaria quan n'hi ha dues. Separar la baixada de la selecció, i la selecció de la ruta, és la major part de la feina en aquests tiquets. L'ordre següent segueix el que macOS fa realment, amb les comprovacions que fan visible cada etapa.

On divergeixen l'adreça PAC i el proxy

Una adreça com https://config.corp.example/proxy.pac anomena un document a baixar, i aquest document anomena un servidor pel qual enviar el trànsit. Enganxar l'URL en un camp d'amfitrió del proxy demana al client que obri una connexió de proxy a un servidor de fitxers que mai no escolta una connexió així. Dins del fitxer hi ha una funció que el client crida per a cada petició, i el seu valor de retorn és el salt següent per a aquesta única destinació. Aquesta indirecció explica per què dues màquines del mateix servei de xarxa poden comportar-se diferent tot i tenir totes dues l'URL correcta. També explica per què un canvi de política entra en vigor sense que ningú toqui el proxy mateix.

Llegiu l'script abans d'interpretar res més avall, perquè les regles que conté porten les excepcions de l'organització i l'ordre en què s'apliquen. Un interval ampli primerenc pot fer ombra a un sufix intern posterior, i un amfitrió que òbviament hauria d'evitar el proxy continua usant-lo. Quan algú insisteix que la política és incorrecta, l'script és l'únic lloc on aquesta afirmació es resol.

Cal obtenir l'script abans que decideixi res

Baixar la política requereix un nom resolt i una ruta fins al que serveixi el fitxer, i un túnel connectat no implica cap de les dues coses. Si l'amfitrió només es resol per DNS privat, el resolutor en ús en aquell moment decideix si la baixada pot començar. Si l'amfitrió és en un rang privat, la ruta ha d'existir des d'aquesta màquina i no des de l'ordinador portàtil d'un company. Una còpia emmagatzemada durant una sessió anterior amaga tot això fins que la memòria cau caduca o la màquina es reinicia.

Executeu les tres comprovacions següents en ordre i atureu-vos a la primera fallada, perquè les etapes no comparteixen causa. Plegades mostren si la política està configurada, si és abastable i què retorna.

scutil --proxy
networksetup -getautoproxyurl "Wi-Fi"
curl -sS -o /dev/null -w "%{http_code}\n" https://config.corp.example/proxy.pac

La primera ordre imprimeix el diccionari de proxy del servei actiu, incloent-hi qualsevol URL de configuració automàtica que el sistema tingui. La segona informa de l'URL associada a un servei amb nom, cosa que importa en un portàtil que es mou entre Wi-Fi i Ethernet. La tercera baixa el fitxer sense renderitzar-lo, de manera que un 404, un temps d'espera esgotat i un error del resolutor continuen sent distingibles. Si aquesta darrera ordre retorna l'script mentre les aplicacions encara fallen, el problema ja ha passat la baixada.

Què s'estalvia realment una resposta DIRECT

L'especificació PAC dóna al client un vocabulari petit, i DIRECT és una de les seves paraules. La paraula diu al client que s'estalviï el proxy per a aquesta petició i no diu res sobre quina interfície farà servir el sòcol després. Un sòcol directe en un túnel complet encara surt per la VPN i encara mostra l'adreça de sortida del túnel a la destinació.

Llegir DIRECT com si fos fora de la VPN és l'error que empeny la gent al panell de configuració equivocat. La imatge inversa és igual de freqüent, perquè es pot arribar a un proxy privat per una ruta dividida mentre la resta de la màquina queda fora del túnel. El que la destinació informa aleshores pertany a la sortida del mateix proxy, que pot ser en un altre país. Escriure l'expectativa per a un amfitrió intern i un amfitrió públic ho exposa de seguida, perquè sovint l'script respon de manera diferent als dos. Un cop sabeu quin salt ha produït l'adreça, l'informe deixa de ser misteriós.

Tres fallades que apareixen com una sola pàgina d'error

La política pot fallar en baixar-se, el proxy triat pot ser inabastable, i una petició que arribi al servei encara pot ser refusada allà. Totes tres arriben com un temps d'espera esgotat o una pàgina d'error genèrica, i cap no anomena l'etapa que s'ha trencat. Capturar la decisió al costat de l'error és el que les separa. Les dues sondes següents proven el salt que ha triat l'script, una per a cada branca que pot retornar.

curl -v --max-time 8 http://proxy.corp.example:8080/
curl -v --max-time 8 https://intranet.corp.example/

Una connexió completada al proxy trasllada la pregunta a l'autenticació o a la política pròpia del proxy, que té un altre amo. Una connexió completada a l'amfitrió intern sense proxy al camí descarta la ruta i apunta a la política. Totes dues ordres ignoren el diccionari de proxy de macOS tret que l'intèrpret exporti variables de proxy, així que netegeu-les primer. Cap de les dues sondes no demostra l'altra, i per això una pàgina d'error enganya durant tant de temps.

Què cal lliurar amb el tiquet

Envieu el servei de xarxa actiu, l'URL del PAC, el resultat de l'avaluació per a l'amfitrió que falla i l'etapa on va aparèixer l'error. Aquests quatre permeten a la persona següent reproduir la decisió en lloc d'endevinar quina capa hi havia. Afegiu l'estat del túnel en el moment de la prova, perquè un resultat capturat abans d'una reconnexió és obsolet. Conserveu també la revisió de l'script, ja que el fitxer de política canvia sense avís i la resposta d'ahir pot ja no ser vigent.

Registreu com es comporta el client quan no es pot obtenir l'script, perquè les implementacions difereixen i la decisió del proxy no és un interruptor general del dispositiu. Alguns tornen a una connexió directa i d'altres fallen tancat, i aquesta diferència canvia si una caiguda sembla un proxy trencat o una política que funciona. Confirmeu el comportament per al client i la versió exactes abans de confiar-hi durant un incident.

Articles relacionats