Mae tair ffordd o gael cleient OpenConnect ar Mac, ac maent yn gadael pethau gwahanol ar y disg. Mae fformiwla Homebrew yn gosod ffeil ddeuaidd wedi'i chyfansoddi ynghyd â'r sgript rhwydwaith sy'n ffurfweddu llwybrau a DNS. Mae archif rhyddhau yn rhoi cod ffynhonnell gyda system adeiladu wedi'i chynhyrchu. Mae clôn git yn rhoi cod ffynhonnell heb un. Dewis yr un anghywir yw'r rheswm y mae pobl yn dod ar draws configure ar goll ychydig funudau i mewn i diwtorial.

Dwy beiriant wahanol o dan yr un enw

Mae'r llwybr pecyn yn un gorchymyn, a dyna'r rhagosodiad cywir i unrhyw un y mae ei waith yn gysylltu yn hytrach na datblygu.

brew install openconnect

Mae'r hyn y mae'n ei osod yn bwysicach na'r gorchymyn. Rydych yn cael ffeil ddeuaidd y cleient, ac rydych hefyd yn cael vpnc-script y mae'r cleient yn ei alw i raglennu'r rhyngwyneb, y llwybrau a'r datryswr. Mae'r ddau yn gweithio fel pâr: mae'r ffeil ddeuaidd yn terfynu'r sesiwn TLS ac yn trosglwyddo'r rhyngwyneb canlyniadol i'r sgript, a'r sgript yw'r rhan sy'n gwybod sut y mae'r system weithredu hon eisiau newid ei rhwydwaith.

Mae'r hollt honno yn esbonio dosbarth cyfan o adroddiadau dryslyd. Cleient sy'n cysylltu, yn adrodd llwyddiant ac yna'n anfon traffig ar y llwybr anghywir yw problem sgript fel arfer, nid problem twnnel, ac mae ailosod y fformiwla yn ei drwsio dim ond oherwydd bod y sgript hefyd yn cael ei ailosod. Gwiriwch gefnogaeth bresennol y fformiwla ar gyfer macOS a phensaernïaeth y CPU cyn i chi gynllunio o'i chwmpas; efallai nad oes gan Fac sy'n rhedeg plisgyn yn berffaith mo becyn cyfredol wedi'i adeiladu ar ei gyfer o hyd.

Beth y mae'r llwybr ffynhonnell yn ei wneud mewn gwirionedd

Mae archif rhyddhau yn dod â system adeiladu wedi'i chynhyrchu, felly mae'r ./configure cyfarwydd yn bodoli o'r cychwyn. Nid yw clôn git, oherwydd cynnyrch adeiladu yw'r ffeiliau a gynhyrchir yn hytrach na phethau y mae'r prosiect yn eu storio. Dyna'r union reswm y mae ./autogen.sh yn ymddangos yn y cyfarwyddiadau ar gyfer clonau ac nid ar gyfer archifau rhyddhau.

./autogen.sh
./configure
make
make install

Mae pob llinell yn gwneud rhywbeth penodol, ac mae gwybod pa un a fethodd yn arbed llawer o ddyfalu. Mae cam autogen yn rhedeg yr autotools i gynhyrchu configure. Mae cam configure yn profi'r compilydd, y llyfrgelloedd a'r pennawdau sydd eu hangen ar y cleient, yna'n ysgrifennu'r makefile sy'n adlewyrchu'r hyn a ganfu. Mae cam make yn cyfansoddi. Mae cam install yn copïo'r canlyniadau i rywle ar eich llwybr.

Ar y llinell olaf honno y mae cyngor fel arfer yn mynd o chwith. Nid yw gosod yn brawf bod yr adeiladwaith wedi gweithio, ac mae ei redeg mewn ffolder lawrlwytho mympwyol gyda braint uwch yn ffordd dda o wasgaru ffeiliau na fyddwch yn eu cofio'n ddiweddarach. Os bydd configure yn methu oherwydd llyfrgell sydd ar goll, yr allbwn defnyddiol yw'r gwall cyntaf a argraffwyd, nid yr ugeinfed llinell olaf o'r log.

Mae'r sesiwn a'r ffurfweddiad rhwydwaith ar wahân

Mae'r gwahaniaeth hwn yn penderfynu a yw cysylltiad yn cario traffig mewn gwirionedd. Mae sefydlu'r sesiwn TLS yn rhoi rhyngwyneb i chi ar ochr y cleient. Mae cymhwyso llwybrau, cyfeiriadau a datryswyr DNS yn ail gam a wneir trwy'r sgript rhwydwaith, ac mae adeiladwaith a gynhyrchodd ffeil ddeuaidd heb y sgript yn hanner cleient.

Mae'r un gwahaniad yn esbonio pam y mae dau beiriant â chleientiaid unfath yn ymddwyn yn wahanol: mae'r sgript yn ymgynghori â ffurfweddiad rhwydwaith y system, ac mae'r ffurfweddiad hwnnw'n cynnwys popeth arall sydd wedi hawlio llwybr. Pan fydd twnnel hollt yn anfon traffig i rywle annisgwyl, mae'r twnnel yn gwneud ei waith a'r penderfyniad llwybro yw'r peth i'w archwilio.

Felly pan fyddwch yn dadfygio, gofynnwch pa haen a fethodd. Sesiwn na sefydlir byth yw protocol, tystysgrif neu gredydau. Sesiwn sy'n sefydlu ac yn anfon dim yw'r rhyngwyneb a'r sgript. Cleient wedi'i osod sy'n gweithio o un rhwydwaith ac nid o un arall yw cyrhaeddedd, ac ni fydd unrhyw faint o ailadeiladu yn newid hynny.

Gwybyddwch pa ffeil ddeuaidd rydych yn ei rhedeg

Gall adeiladwaith a osodwyd â llaw a ffeil ddeuaidd becynnu gydfodoli'n hapus, ac mae'r un sy'n rhedeg yn dibynnu ar eich llwybr yn hytrach nag ar eich bwriadau. Darganfyddwch hyn cyn rhoi rhif fersiwn i unrhyw un.

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

Mae'r gorchymyn cyntaf yn rhestru pob copi y gall eich blisgyn ei weld, yn y drefn y byddai'n eu profi. Mae'r ail yn dweud wrthych pa un a atebodd. Pan fydd hynny'n anghytuno â'r hyn a ddisgwyliwch, rydych yn rhedeg adeiladwaith o hen arbrawf, ac ni fydd unrhyw newid ffurfweddiad yn ei symud.

Nid yw gosod cleient yn gymeradwyaeth porth

Nid yw ffeil ddeuaidd sy'n gweithio yn gwneud defnydd yn gydnaws. Cadarnhewch brotocol y porth, ei lif dilysu ac unrhyw ofyniad dyfais a reolir gyda'r bobl sy'n berchen arno, oherwydd ffeithiau polisi a haen gymhwysiad yw'r rheini na all adeiladwaith eu darparu.

Mae cyfarwyddiadau adeiladu'r prosiect yn ymdrin yn fwy manwl â dilyniant yr autotools a'r gofyniad am y sgript rhwydwaith, a hwy yw'r cyfeirlyfr i'w ddilyn yn hytrach na chofnod blog sy'n hŷn na'ch rhyddhau macOS. Os mai'r nod yn syml yw cysylltu, cymerwch y pecyn, cadwch y sgript, a gadewch y compilydd allan.

Erthyglau cysylltiedig