OpenConnect macOS-is: pakett, väljalaske arhiiv või git-kloon
Homebrew paigaldab binaarfaili ja võrguskripti; lähtekoodipuu ei anna kumbagi enne, kui need genereerite ja käivitate. Teadke, millist teie ühendus kasutab.
Kolm teed annavad Macis OpenConnecti kliendi ja jätavad kettale erinevaid asju. Homebrew valem paigaldab kompileeritud binaarfaili ja võrguskripti, mis seadistab marsruudid ja DNS-i. Väljalaske arhiiv annab lähtekoodi genereeritud ehitussüsteemiga. git-i väljavõte annab lähtekoodi ilma selleta. Vale valimine on põhjus, miks inimesed ei leia configure faili mõni minut pärast juhendi algust.
Kaks erinevat masinat sama nime all
Paketi tee on üks käsk ja see on õige vaikevalik kõigile, kelle töö on ühenduda, mitte arendada.
brew install openconnect
See, mida paigaldatakse, on tähtsam kui käsk. Saate kliendi binaarfaili ja veel ühe osa: vpnc-script, mille klient kutsub liidese, marsruutide ja resolveri programmeerimiseks. Need kaks töötavad paarina: binaarfail lõpetab TLS-i sessiooni ja annab tekkinud liidese skriptile, ning skript on see osa, mis teab, kuidas see operatsioonisüsteem soovib oma võrku muuta.
See jaotus selgitab tervet klassi segadust tekitavaid raporteid. Klient, mis ühendub, teatab edust ja saadab seejärel liikluse vale teele, on tavaliselt skripti, mitte tunneliprobleem, ja valemi uuesti paigaldamine parandab selle ainult seetõttu, et ka skript paigaldatakse uuesti. Kontrollige valemi praegust macOS-i ja CPU-arhitektuuri tuge enne, kui sellele plaanite; Mac, mis käivitab shelli laitmatult, ei pruugi ikkagi omada praegust selle jaoks ehitatud paketti.
Mida lähtekoodi tee tegelikult teeb
Väljalaske arhiiv saabub genereeritud ehitussüsteemiga, nii et tuttav ./configure on algusest peale olemas. git-i väljavõttel mitte, sest genereeritud failid on ehitustooted, mitte asjad, mida projekt hoiustab. Just seetõttu esineb ./autogen.sh väljavõtete juhendites, mitte väljalaske arhiivide omades.
./autogen.sh
./configure
make
make install
Iga rida teeb midagi konkreetset ja teadmine, milline ebaõnnestus, säästab palju oletusi. autogen-i samm käivitab autotoolsid, et toota configure. configure-i samm kontrollib kompilaatorit, teeke ja päiseid, mida klient vajab, ning kirjutab seejärel makefile'id, mis peegeldavad leitut. make-i samm kompileerib. install-i samm kopeerib tulemused kuhugi teie teele.
Just sellel viimasel real läheb nõuanne sageli valesti. Paigaldamine ei tõesta, et ehitus õnnestus, ja selle käivitamine suvalises allalaadimiskaustas kõrgendatud õigustega on hea viis pillutada faile, mida te hiljem ei mäleta. Kui configure ebaõnnestub puuduva teegi tõttu, on kasulik väljund esimene trükitud viga, mitte logi viimased kakskümmend rida.
Sessioon ja võrgukonfiguratsioon on eraldi
See erinevus otsustab, kas ühendus tegelikult liiklust kannab. TLS-i sessiooni loomine annab kliendipoolel liidese. Marsruutide, aadresside ja DNS-i resolverite rakendamine on teine samm, mis toimub võrguskripti kaudu, ja ehitus, mis tootis binaarfaili ilma skriptita, omab poolt klienti.
Sama eraldatus selgitab, miks kaks identsete klientidega masinat käituvad erinevalt: skript konsulteerib süsteemi võrgukonfiguratsiooniga ja see konfiguratsioon hõlmab kõike muud, mis on marsruudi nõudnud. Kui jagatud tunnel saadab liikluse ootamatusse kohta, teeb tunnel oma tööd ja uurida tuleb marsruutimisotsust.
Seega silumisel küsige, milline kiht ebaõnnestus. Sessioon, mis kunagi ei loomise, on protokoll, sertifikaat või volitused. Sessioon, mis luuakse ja ei edasta midagi, on liides ja skript. Paigaldatud klient, mis töötab ühest võrgust ja teisest mitte, on kättesaadavus ja seda ei muuda ükski ümberehitus.
Teadke, millist binaarfaili käivitate
Käsitsi paigaldatud ehitus ja pakendatud binaarfail võivad rahulikult kõrvuti eksisteerida ning see, milline töötab, sõltub teie teest, mitte teie kavatsustest. Tehke see kindlaks enne, kui kellelegi versiooninumbri teatate.
which -a openconnect
openconnect --version
brew list --versions openconnect
Esimene käsk loetleb iga koopia, mida teie shell näeb, selles järjekorras, milles see neid prooviks. Teine ütleb, milline vastas. Kui see lahkneb teie ootusest, käivitate vana katse ehitust ja ükski konfiguratsioonimuudatus ei liiguta seda.
Kliendi paigaldamine ei ole lüüsi heakskiit
Töötav binaarfail ei tee juurutust ühilduvaks. Kinnitage lüüsi protokoll, selle autentimisvoog ja kõik hallatava seadme nõue inimestega, kellele see kuulub, sest need on poliitika- ja rakenduskihi faktid, mida ehitus pakkuda ei saa.
Projekti ehitusjuhised käsitlevad autotoolside järjestust ja võrguskripti nõuet üksikasjalikumalt ning neid tuleb järgida, mitte blogipostitust, mis on teie macOS-i väljalasest vanem. Kui eesmärk on lihtsalt ühenduda, võtke pakett, jätke skript alles ja jätke kompilaator kõrvale.