OpenConnect на macOS: пакет, архива на издание или git клон
Homebrew инсталира бинарна датотека и мрежна скрипта; дрвото со изворен код не дава ниту едно од двете додека не ги генерирате и извршите. Знајте кое го користи вашата врска.
Три патеки ви даваат 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. Ако целта е само поврзување, земете го пакетот, задржете ја скриптата и оставете го компајлерот надвор.