Три пута вам дају OpenConnect клијент на Mac-у и остављају различите ствари на диску. Homebrew формула инсталира компајлирану бинарну датотеку и мрежну скрипту која подешава руте и DNS. Архива издања вам даје изворни код са генерисаним системом за изградњу. git копија вам даје изворни код без њега. Избор погрешног је разлог зашто људи наилазе на недостајући configure неколико минута после почетка упутства.

Две различите машине под истим именом

Пут преко пакета је једна команда и то је исправан подразумевани избор за свакога чији је посао повезивање, а не развој.

brew install openconnect

Оно што инсталира важније је од команде. Добијате бинарну датотеку клијента и такође vpnc-script који клијент позива да програмира интерфејс, руте и резолвер. Њих двоје раде као пар: бинарна датотека завршава TLS сесију и предаје настали интерфејс скрипти, а скрипта је део који зна како овај оперативни систем жели да му се промени мрежа.

Ово раздвајање објашњава целу класу збуњујућих извештаја. Клијент који се повеже, пријави успех и затим пошаље саобраћај погрешним путем обично има проблем са скриптом, а не са тунелом, а поновна инсталација формуле то поправља само зато што се и скрипта поново инсталира. Проверите тренутну подршку формуле за macOS и архитектуру процесора пре него што на њој планирате; Mac који беспрекорно извршава шкољку можда још нема актуелни пакет направљен за њега.

Шта пут преко изворног кода заиста ради

Архива издања долази са генерисаним системом за изградњу, па познати ./configure постоји од почетка. git копија не, јер су генерисани фајлови производи изградње, а не ствари које пројекат чува. То је цео разлог зашто се ./autogen.sh појављује у упутствима за копије, а не за архиве издања.

./autogen.sh
./configure
make
make install

Сваки ред ради нешто конкретно, а знање који није успео штеди много нагађања. Корак autogen покреће autotools да направи configure. Корак configure проверава компајлер, библиотеке и заглавља потребна клијенту, затим пише makefile датотеке које одражавају пронађено. Корак make компајлира. Корак install копира резултате негде на вашу путању.

Управо на том последњем реду савети обично крену наопако. Инсталација није доказ да је изградња успела, а покретање у произвољној фасцикли за преузимање са повишеним привилегијама је добар начин да расипете фајлове којих се касније нећете сетити. Ако configure не успе због библиотеке која недостаје, користан излаз је прва исписана грешка, а не последњих двадесет редова дневника.

Сесија и мрежна конфигурација су одвојене

Ова разлика одлучује да ли веза заиста преноси саобраћај. Успостављање TLS сесије даје вам интерфејс на страни клијента. Примена рута, адреса и DNS резолвера је други корак који се изводи преко мрежне скрипте, а изградња која је направила бинарну датотеку без скрипте има пола клијента.

Исто раздвајање објашњава зашто се две машине са идентичним клијентима понашају различито: скрипта се консултује са мрежном конфигурацијом система, а та конфигурација укључује све друго што је затражило руту. Када подељени тунел пошаље саобраћај на неочекивано место, тунел ради свој посао, а одлуку о рутирању треба испитати.

Зато при отклањању грешака питајте који слој није успео. Сесија која се никада не успостави је протокол, сертификат или акредитиви. Сесија која се успостави и ништа не проследи је интерфејс и скрипта. Инсталирани клијент који ради са једне мреже, а са друге не, је достижност и то не мења никакво поновно грађење.

Знајте коју бинарну датотеку извршавате

Ручно инсталирана изградња и спакована бинарна датотека могу мирно да коегзистирају, а која се извршава зависи од ваше путање, а не од ваших намера. Откријте то пре него што некоме пријавите број верзије.

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

Прва команда наводи сваку копију коју ваша шкољка види, редоследом којим би их пробала. Друга вам каже која је одговорила. Када то не одговара вашем очекивању, извршавате изградњу из старог експеримента и никаква промена конфигурације то неће померити.

Инсталирање клијента није одобрење мрежног пролаза

Радна бинарна датотека не чини распоређивање компатибилним. Потврдите протокол пролаза, његов ток аутентификације и сваки захтев за управљаним уређајем са људима који га поседују, јер су то чињенице о политици и апликационом слоју које изградња не може да пружи.

Упутства за изградњу пројекта детаљније обрађују редослед autotools и захтев за мрежном скриптом и њих треба следити, а не блог објаву старију од вашег издања macOS-а. Ако је циљ само повезивање, узмите пакет, задржите скрипту и оставите компајлер по страни.

Повезани чланци