Teie Mac laadib alla poliitikaskripti ja küsib seejärel sellelt skriptilt, millist vahendajat peaks päring kasutama, samal ajal kui tunnel otsustab ainult seda, kuidas valitud hüppele jõutakse. Mõlemad vastused jõuavad samasse soklisse, nii et päring, mis ebaõnnestub pärast seda, kui mõlemad õnnestusid, näeb välja nagu üks rike, kuigi neid on kaks. Allalaadimise valikust ja valiku marsruudist eraldamine on nendes piletites suurem osa tööst. Allolev järjekord järgib seda, mida macOS tegelikult teeb, koos kontrollidega, mis teevad iga etapi nähtavaks.

Kus PAC-aadress ja puhverserver lahku lähevad

Aadress nagu https://config.corp.example/proxy.pac nimetab dokumendi allalaadimiseks ja see dokument nimetab serveri, mille kaudu liiklust saata. URL-i kleepimine puhverserveri hosti väljale palub kliendil avada puhverserveri ühendus failiserveriga, mis ei kuula kunagi sellist ühendust. Faili sees on funktsioon, mida klient kutsub iga päringu kohta, ja selle tagastusväärtus on järgmine hüpe selle ühe sihtkoha jaoks. See kaudsus selgitab, miks kaks masinat samas võrguteenuses võivad käituda erinevalt, kuigi mõlemal on õige URL. See selgitab ka, miks poliitika muudatus jõustub ilma, et keegi puhverserverit ennast puudutaks.

Lugege skripti enne, kui tõlgendate midagi allavoolu, sest sees olevad reeglid kannavad organisatsiooni erandeid ja nende kehtimise järjekorda. Varajane lai vahemik võib varjutada hilisema sisemise sufiksi ja host, mis peaks puhverserverist ilmselgelt mööda minema, kasutab seda edasi. Kui keegi väidab, et poliitika on vale, on skript ainus koht, kus see väide lahendatakse.

Skript tuleb hankida enne, kui see midagi otsustab

Poliitika allalaadimine nõuab lahendatud nime ja marsruuti selle juurde, mis faili teenindab, ning ühendatud tunnel ei taga kumbagi. Kui host lahendatakse ainult privaatse DNS-i kaudu, otsustab sel hetkel kasutatav resolver, kas allalaadimine saab alata. Kui host asub privaatses vahemikus, peab marsruut eksisteerima sellest masinast, mitte kolleegi sülearvutist. Varasemas seansis vahemällu salvestatud koopia peidab kõike seda, kuni vahemälu aegub või masin taaskäivitub.

Käivitage kolm allolevat kontrolli järjekorras ja peatuge esimesel ebaõnnestumisel, sest etappidel pole ühist põhjust. Koos näitavad need, kas poliitika on seadistatud, kas see on kättesaadav ja mida see tagastab.

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

Esimene käsk trükib aktiivse teenuse puhverserveri sõnastiku, sealhulgas iga automaatse seadistuse URL-i, mida süsteem hoiab. Teine teatab ühe nimetatud teenusega seotud URL-i, mis loeb sülearvutil, mis liigub Wi-Fi ja Etherneti vahel. Kolmas toob faili ilma seda renderdamata, nii et 404, aegumine ja resolveri tõrge jäävad eristatavaks. Kui see viimane käsk tagastab skripti, samal ajal kui rakendused ikka ebaõnnestuvad, on probleem juba hankimisest mööda läinud.

Mida DIRECT-vastus tegelikult vahele jätab

PAC-spetsifikatsioon annab kliendile väikese sõnavara ja DIRECT on üks selle sõnadest. See sõna ütleb kliendile, et see päring tuleks puhverserverist mööda saata, ega ütle midagi selle kohta, millist liidest sokkel seejärel kasutab. Otsene sokkel täistunnelis väljub siiski VPN-i kaudu ja näitab sihtkohale siiski tunnelist väljumise aadressi.

DIRECT lugemine väljaspool VPN-i olevana on viga, mis saadab inimesed vale seadete paneeli juurde. Peegelpilt on sama tavaline, sest privaatsele puhverserverile saab ligi jagatud marsruudi kaudu, samal ajal kui ülejäänud masin jääb tunnelist välja. See, mida sihtkoht siis teatab, kuulub puhverserveri enda väljundile, mis võib asuda teises riigis. Ootuse kirjutamine ühe sisemise ja ühe avaliku hosti jaoks paljastab selle kiiresti, sest skript vastab neile kahele sageli erinevalt. Kui teate, milline hüpe aadressi tekitas, ei ole aruanne enam mõistatuslik.

Kolm ebaõnnestumist, mis ilmnevad ühe vealehena

Poliitika allalaadimine võib ebaõnnestuda, valitud puhverserver võib olla kättesaamatu ja teenusesse jõudev päring võidakse seal ikkagi tagasi lükata. Kõik kolm saabuvad aegumise või üldise vealehena ja ükski ei nimeta etappi, mis katki läks. Otsuse fikseerimine vea kõrval on see, mis need eraldab. Kaks allolevat sondi testivad hüpet, mille skript valis, üks iga haru kohta, mille see võib tagastada.

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

Lõpetatud ühendus puhverserveriga viib küsimuse autentimise või puhverserveri enda poliitika juurde, millel on teine omanik. Lõpetatud ühendus sisemise hostiga ilma puhverserverita teel välistab marsruudi ja osutab poliitikale. Mõlemad käsud ignoreerivad macOS-i puhverserveri sõnastikku, kui kest ei ekspordi puhverserveri muutujaid, seega tühjendage need esmalt. Kumbki sond ei tõesta teist, mistõttu üks vealeht eksitab nii kaua.

Mida piletiga üle anda

Saatke aktiivne võrguteenus, PAC-i URL, ebaõnnestuva hosti hindamistulemus ja etapp, kus viga ilmus. Need neli võimaldavad järgmisel inimesel otsust reprodutseerida, selle asemel et arvata, milline kiht oli seotud. Lisage tunneliseisundi testimise hetkel, sest enne taasühendamist fikseeritud tulemus on aegunud. Hoidke ka skripti redaktsiooni, sest poliitikafail muutub ilma teavituseta ja eilne vastus ei pruugi enam kehtida.

Kirjutage üles, kuidas klient käitub, kui skripti pole võimalik hankida, sest rakendused erinevad ja puhverserveri otsus ei ole kogu seadet hõlmav hädaseiskaja. Mõned lülituvad tagasi otseühendusele ja teised ebaõnnestuvad suletult, ning see erinevus muudab, kas katkestus näeb välja nagu katkine puhverserver või nagu töötav poliitika. Kinnitage käitumine täpse kliendi ja versiooni jaoks enne, kui loote sellele intsidendi ajal.

Seotud artiklid