Tri poti vam dajo odjemalca OpenConnect na Macu in pustijo na disku različne stvari. Homebrew formula namesti prevedeno binarno datoteko in omrežno skripto, ki nastavi poti in DNS. Arhiv izdaje vam da izvorno kodo z ustvarjenim sistemom za gradnjo. Klon git vam da izvorno kodo brez njega. Izbira napačne je razlog, da ljudje nekaj minut po začetku vodnika naletijo na manjkajoči configure.

Dva različna stroja pod istim imenom

Pot prek paketa je en ukaz in je prava privzeta izbira za vsakogar, čigar delo je povezovanje in ne razvijanje.

brew install openconnect

Kaj namesti, je pomembnejše od ukaza. Dobite binarno datoteko odjemalca in tudi vpnc-script, ki ga odjemalec pokliče za programiranje vmesnika, poti in razreševalnika. Oba delujeta kot par: binarna datoteka konča sejo TLS in nastali vmesnik izroči skripti, skripta pa je del, ki ve, kako želi ta operacijski sistem spremeniti svoje omrežje.

Ta ločitev pojasnjuje cel razred zmedenih poročil. Odjemalec, ki se poveže, sporoči uspeh in nato pošlje promet po napačni poti, ima običajno težavo s skripto, ne s tunelom, in ponovna namestitev formule to popravi le zato, ker se znova namesti tudi skripta. Preverite trenutno podporo formule za macOS in arhitekturo procesorja, preden računate nanjo; Mac, ki odlično izvaja lupino, morda še nima trenutnega paketa, zgrajenega zanj.

Kaj pot prek izvorne kode v resnici počne

Arhiv izdaje pride z ustvarjenim sistemom za gradnjo, zato znani ./configure obstaja od začetka. Klon git ga nima, ker so ustvarjene datoteke izdelki gradnje in ne stvari, ki jih projekt shranjuje. To je ves razlog, da se ./autogen.sh pojavi v navodilih za klone in ne za arhive izdaje.

./autogen.sh
./configure
make
make install

Vsaka vrstica naredi nekaj posebnega in vedenje, katera je spodletela, prihrani veliko ugibanja. Korak autogen zažene autotools, da ustvari configure. Korak configure preveri prevajalnik, knjižnice in glave, ki jih odjemalec potrebuje, nato zapiše makefile datoteke, ki odražajo najdeno. Korak make prevede. Korak install kopira rezultate nekam v vašo pot.

Prav na tisti zadnji vrstici nasvet pogosto zaide. Namestitev ni dokaz, da je gradnja uspela, in izvajanje v poljubni mapi za prenos s povišanimi pravicami je dober način, da raztresete datoteke, ki se jih pozneje ne boste spomnili. Če configure spodleti zaradi manjkajoče knjižnice, je koristen izhod prva izpisana napaka, ne zadnjih dvajset vrstic dnevnika.

Seja in omrežna konfiguracija sta ločeni

Ta razlika odloči, ali povezava resnično prenaša promet. Vzpostavitev seje TLS vam da vmesnik na strani odjemalca. Uporaba poti, naslovov in razreševalnikov DNS je drugi korak, izveden prek omrežne skripte, in gradnja, ki je ustvarila binarno datoteko brez skripte, ima pol odjemalca.

Ista ločitev pojasnjuje, zakaj se dva stroja z enakimi odjemalci obnašata različno: skripta se posvetuje z omrežno konfiguracijo sistema, ta konfiguracija pa vključuje vse drugo, kar si je lastilo pot. Ko razdeljeni tunel pošlje promet na nepričakovano mesto, tunel opravlja svoje delo in preučiti je treba odločitev o usmerjanju.

Zato pri iskanju napak vprašajte, kateri sloj je spodletel. Seja, ki se nikoli ne vzpostavi, je protokol, potrdilo ali poverilnice. Seja, ki se vzpostavi in ničesar ne posreduje, je vmesnik in skripta. Nameščen odjemalec, ki deluje iz enega omrežja in ne iz drugega, je dosegljivost in nobena ponovna gradnja tega ne spremeni.

Vedite, katero binarno datoteko izvajate

Ročno nameščena gradnja in pakirana binarna datoteka lahko mirno sobivata, in katera teče, je odvisno od vaše poti in ne od vaših namer. Ugotovite to, preden komu sporočite številko različice.

which -a openconnect
openconnect --version
brew list --versions openconnect

Prvi ukaz navede vsako kopijo, ki jo vidi vaša lupina, v vrstnem redu, v katerem bi jih poskusila. Drugi vam pove, katera je odgovorila. Ko se to ne ujema s pričakovanji, izvajate gradnjo iz starega poskusa in nobena sprememba konfiguracije tega ne bo premaknila.

Namestitev odjemalca ni odobritev prehoda

Delujoča binarna datoteka ne naredi uvajanja združljivega. Potrdite protokol prehoda, njegov potek preverjanja pristnosti in morebitno zahtevo po upravljani napravi pri ljudeh, ki ga imajo, ker so to dejstva o politiki in aplikacijskem sloju, ki jih gradnja ne more zagotoviti.

Navodila za gradnjo projekta podrobneje obravnavajo zaporedje autotools in zahtevo po omrežni skripti, in treba jim je slediti, ne pa blogu, ki je starejši od vaše različice macOS. Če je cilj le povezati se, vzemite paket, obdržite skripto in prevajalnik pustite ob strani.

Sorodni članki