Tri vojoj donas al vi OpenConnect-klienton sur Mac, kaj ili lasas malsamajn aferojn sur la disko. Homebrew-formulo instalas kompilitan binaran dosieron kaj la retskripton, kiu agordas vojojn kaj DNS. Eldona arĥivo donas al vi fontkodon kun generita konstrua sistemo. git-eltiro donas al vi fontkodon sen ĝi. Elekti la malĝustan estas kial homoj renkontas mankantan configure kelkajn minutojn post la komenco de lernilo.

Du malsamaj maŝinoj sub la sama nomo

La paka vojo estas unu sola komando, kaj ĝi estas la ĝusta defaŭlto por ĉiu, kies tasko estas konektiĝi anstataŭ evolui.

brew install openconnect

Tio, kion ĝi instalas, pli gravas ol la komando. Vi ricevas la binaran dosieron de la kliento, kaj vi ankaŭ ricevas vpnc-script, kiun la kliento vokas por programi la interfacon, la vojojn kaj la solvilon. La du laboras kiel paro: la binara dosiero finas la TLS-sesion kaj transdonas la rezultantan interfacon al la skripto, kaj la skripto estas la parto, kiu scias, kiel ĉi tiu operaciumo volas ŝanĝi sian reton.

Tiu disigo klarigas tutan klason da konfuzaj raportoj. Kliento, kiu konektiĝas, raportas sukceson kaj poste sendas trafikon la malĝustan vojon, kutime havas skriptan problemon, ne tunelan, kaj reinstali la formulon riparas tion nur ĉar la skripto ankaŭ reinstaliĝas. Kontrolu la nunan subtenon de la formulo por macOS kaj CPU-arkitekturo antaŭ ol plani laŭ ĝi; Mac, kiu perfekte rulas ŝelon, eble ankoraŭ ne havas nunan pakon konstruita por ĝi.

Kion la fonta vojo vere faras

Eldona arĥivo venas kun generita konstrua sistemo, do la konata ./configure ekzistas de la komenco. git-eltiro ne, ĉar la generitaj dosieroj estas konstruaj produktoj, ne aferoj, kiujn la projekto konservas. Tio estas la tuta kialo, ke ./autogen.sh aperas en la instrukcioj por eltiroj kaj ne por eldonaj arĥivoj.

./autogen.sh
./configure
make
make install

Ĉiu linio faras ion specifan, kaj scii, kiu malsukcesis, ŝparas multan konjektadon. La paŝo autogen rulas la autotools por produkti configure. La paŝo configure esploras la kompilan programon, bibliotekojn kaj kapojn, kiujn la kliento bezonas, poste skribas la makefile-ojn, kiuj spegulas tion, kion ĝi trovis. La paŝo make kompilas. La paŝo install kopias la rezultojn ie en vian vojon.

Ĝuste ĉe tiu lasta linio konsiloj ofte eraras. Instalo ne pruvas, ke la konstruo sukcesis, kaj ruli ĝin en arbitra elŝuta dosierujo kun altigitaj privilegioj estas bona maniero disŝuti dosierojn, kiujn vi poste ne memoros. Se configure malsukcesas pro mankanta biblioteko, la utila eligo estas la unua eraro, kiun ĝi presis, ne la lastaj dudek linioj de la protokolo.

La sesio kaj la reta agordo estas apartaj

Ĉi tiu distingo decidas, ĉu konekto vere portas trafikon. Starigi la TLS-sesion donas al vi interfacon ĉe la klienta flanko. Apliki vojojn, adresojn kaj DNS-solvilojn estas dua paŝo farata per la retskripto, kaj konstruo, kiu produktis binaran dosieron sen la skripto, havas duonan klienton.

La sama apartigo klarigas, kial du maŝinoj kun identaj klientoj kondutas malsame: la skripto konsultas la retan agordon de la sistemo, kaj tiu agordo inkluzivas ĉion alian, kio postulis vojon. Kiam dividita tunelo sendas trafikon al neatendita loko, la tunelo faras sian taskon, kaj la enkursiga decido estas tio, kion oni devas ekzameni.

Do kiam vi sencimigas, demandu, kiu tavolo malsukcesis. Sesio, kiu neniam stariĝas, estas protokolo, atestilo aŭ akreditaĵoj. Sesio, kiu stariĝas kaj sendas nenion, estas la interfaco kaj la skripto. Instalita kliento, kiu funkcias de unu reto kaj ne de alia, estas atingeblo, kaj neniu kvanto da rekonstruo ŝanĝas tion.

Sciu, kiun binaran dosieron vi rulas

Mane instalita konstruo kaj pakigita binara dosiero povas pace kunekzisti, kaj la ruliĝanta dependas de via vojo, ne de viaj intencoj. Eltrovu tion antaŭ ol raporti versian numeron al iu ajn.

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

La unua komando listigas ĉiun kopion, kiun via ŝelo vidas, laŭ la ordo, en kiu ĝi provus ilin. La dua diras al vi, kiu respondis. Kiam tio malkongruas kun via atendo, vi rulas konstruon el malnova eksperimento, kaj neniu agorda ŝanĝo movos ĝin.

Instali klienton ne estas aprobo de enirejo

Funkcianta binara dosiero ne igas instalon kongrua. Konfirmu la protokolon de la enirejo, ĝian aŭtentikigan fluon kaj ajnan postulon pri administrata aparato kun la homoj, kiuj posedas ĝin, ĉar tiuj estas faktoj pri politiko kaj aplikaĵa tavolo, kiujn konstruo ne povas liveri.

La konstruaj instrukcioj de la projekto pritraktas pli detale la sinsekvon de autotools kaj la postulon pri la retskripto, kaj ilin oni sekvu, ne blogaĵon pli malnovan ol via eldono de macOS. Se la celo estas simple konektiĝi, prenu la pakon, konservu la skripton kaj lasu la kompilan programon ekstere.

Rilataj artikoloj