Trīs ceļi dod OpenConnect klientu Mac datorā, un tie diskā atstāj dažādas lietas. Homebrew formula instalē kompilētu bināro failu un tīkla skriptu, kas konfigurē maršrutus un DNS. Izlaiduma arhīvs dod pirmkodu ar ģenerētu būvēšanas sistēmu. git kopija dod pirmkodu bez tās. Nepareizā izvēle ir iemesls, kāpēc cilvēki dažas minūtes pēc pamācības sākuma saskaras ar trūkstošu configure.

Divas dažādas mašīnas zem viena nosaukuma

Pakotnes ceļš ir viena komanda, un tā ir pareizā noklusējuma izvēle ikvienam, kura darbs ir savienoties, nevis izstrādāt.

brew install openconnect

Tas, ko tā instalē, ir svarīgāk par komandu. Jūs saņemat klienta bināro failu, kā arī vpnc-script, ko klients izsauc, lai programmētu saskarni, maršrutus un atrisinātāju. Abi darbojas kā pāris: binārais fails pabeidz TLS sesiju un nodod radušos saskarni skriptam, un skripts ir tā daļa, kas zina, kā šī operētājsistēma vēlas mainīt savu tīklu.

Šī atdalīšana izskaidro veselu klasi mulsinošu ziņojumu. Klients, kas savienojas, ziņo par panākumiem un pēc tam sūta satiksmi nepareizajā ceļā, parasti ir skripta, nevis tuneļa problēma, un formulas pārinstalēšana to izlabo tikai tāpēc, ka arī skripts tiek pārinstalēts. Pārbaudiet formulas pašreizējo macOS un procesora arhitektūras atbalstu, pirms plānojat uz tā balstīties; Mac datoram, kas lieliski izpilda čaulu, joprojām var nebūt pašreizējas tam būvētas pakotnes.

Ko patiesībā dara avota ceļš

Izlaiduma arhīvs nāk ar ģenerētu būvēšanas sistēmu, tāpēc pazīstamais ./configure pastāv jau no sākuma. git kopijā tā nav, jo ģenerētie faili ir būvēšanas produkti, nevis lietas, ko projekts glabā. Tas ir viss iemesls, kāpēc ./autogen.sh parādās kopiju instrukcijās, nevis izlaiduma arhīvos.

./autogen.sh
./configure
make
make install

Katra rinda dara ko konkrētu, un zināšana, kura neizdevās, ietaupa daudz minējumu. autogen solis palaiž autotools, lai izveidotu configure. configure solis pārbauda kompilatoru, bibliotēkas un galvenes, kas klientam nepieciešamas, pēc tam raksta makefile failus, kas atspoguļo atrasto. make solis kompilē. install solis kopē rezultātus kaut kur jūsu ceļā.

Tieši šajā pēdējā rindā padomi bieži aiziet greizi. Instalēšana nav pierādījums, ka būvēšana strādāja, un tās palaišana patvaļīgā lejupielādes mapē ar paaugstinātām tiesībām ir labs veids, kā izkaisīt failus, kurus vēlāk neatcerēsities. Ja configure neizdodas trūkstošas bibliotēkas dēļ, noderīgā izvade ir pirmā izdrukātā kļūda, nevis pēdējās divdesmit žurnāla rindas.

Sesija un tīkla konfigurācija ir atsevišķas

Šī atšķirība izlemj, vai savienojums tiešām pārraida satiksmi. TLS sesijas izveidošana dod saskarni klienta pusē. Maršrutu, adrešu un DNS atrisinātāju piemērošana ir otrs solis, kas tiek veikts caur tīkla skriptu, un būvējumam, kas izveidoja bināro failu bez skripta, ir puse klienta.

Tā pati atdalīšana izskaidro, kāpēc divas mašīnas ar identiskiem klientiem uzvedas atšķirīgi: skripts konsultējas ar sistēmas tīkla konfigurāciju, un šī konfigurācija ietver visu citu, kas ir pieprasījis maršrutu. Kad sadalīts tunelis sūta satiksmi negaidītā vietā, tunelis dara savu darbu, un pētāmais ir maršrutēšanas lēmums.

Tāpēc atkļūdojot jautājiet, kurš slānis neizdevās. Sesija, kas nekad neizveidojas, ir protokols, sertifikāts vai akreditācijas dati. Sesija, kas izveidojas un neko nepārsūta, ir saskarne un skripts. Instalēts klients, kas strādā no viena tīkla, bet ne no cita, ir sasniedzamība, un nekāda pārbūve to nemaina.

Ziniet, kuru bināro failu palaižat

Ar roku instalēts būvējums un iepakots binārais fails var mierīgi pastāvēt līdzās, un tas, kurš darbojas, ir atkarīgs no jūsu ceļa, nevis nodomiem. Noskaidrojiet to pirms versijas numura ziņošanas kādam.

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

Pirmā komanda uzskaita katru kopiju, ko redz jūsu čaula, tādā secībā, kādā tā tās mēģinātu. Otrā pasaka, kura atbildēja. Kad tas neatbilst jūsu gaidītajam, jūs palaižat būvējumu no veca eksperimenta, un nekādas konfigurācijas izmaiņas to nepārvietos.

Klienta instalēšana nav vārtejas apstiprinājums

Strādājošs binārais fails nepadara izvietojumu saderīgu. Apstipriniet vārtejas protokolu, tās autentifikācijas plūsmu un jebkuru pārvaldītas ierīces prasību ar cilvēkiem, kuriem tā pieder, jo tie ir politikas un lietojumprogrammas slāņa fakti, ko būvējums nevar nodrošināt.

Projekta būvēšanas instrukcijas sīkāk apraksta autotools secību un tīkla skripta prasību, un tām ir jāseko, nevis emuāra ierakstam, kas ir vecāks par jūsu macOS izlaidumu. Ja mērķis ir vienkārši savienoties, ņemiet pakotni, paturiet skriptu un atstājiet kompilatoru ārpusē.

Saistītie raksti