Mac'da OpenConnect mijozini olishning uch yo'li bor va ular diskda turli narsalar qoldiradi. Homebrew formulasi kompilyatsiya qilingan binar faylni va marshrutlar hamda DNS'ni sozlaydigan tarmoq skriptini o'rnatadi. Chiqarilish arxivi yaratilgan qurish tizimi bilan manba kod beradi. git nusxasi usiz manba kod beradi. Noto'g'risini tanlash odamlar qo'llanma boshlanganidan bir necha daqiqa o'tib yo'q configure fayliga duch kelishining sababidir.

Bir nom ostida ikki xil mashina

Paket yo'li bitta buyruq bo'lib, ishi rivojlantirish emas, ulanish bo'lganlar uchun to'g'ri standartdir.

brew install openconnect

Nima o'rnatilishi buyruqdan muhimroq. Mijozning binar faylini olasiz, shuningdek interfeys, marshrutlar va hal qiluvchini dasturlash uchun mijoz chaqiradigan vpnc-script faylini ham olasiz. Ikkisi juft bo'lib ishlaydi: binar fayl TLS sessiyasini tugatib, yuzaga kelgan interfeysni skriptga beradi, skript esa bu operatsion tizim o'z tarmog'ini qanday o'zgartirishni xohlashini biladigan qismdir.

Bu ajratish chalkash hisobotlarning butun sinfini tushuntiradi. Ulanib, muvaffaqiyat haqida xabar berib, so'ngra trafikni noto'g'ri yo'lga yuboradigan mijoz odatda tunnel emas, skript muammosiga ega bo'ladi va formulani qayta o'rnatish buni faqat skript ham qayta o'rnatilgani uchun tuzatadi. Formulaning joriy macOS va protsessor arxitekturasini qo'llashini unga tayanib rejalashtirishdan oldin tekshiring; shellni mukammal ishga tushiradigan Mac'da ham hali unga qurilgan joriy paket bo'lmasligi mumkin.

Manba yo'li aslida nima qiladi

Chiqarilish arxivi yaratilgan qurish tizimi bilan keladi, shuning uchun tanish ./configure boshidanoq mavjud. git nusxasida yo'q, chunki yaratilgan fayllar qurish mahsulotlari, loyiha saqlaydigan narsalar emas. ./autogen.sh arxivlarda emas, nusxalar yo'riqnomalarida ko'rinishining butun sababi shu.

./autogen.sh
./configure
make
make install

Har bir satr aniq bir ish qiladi va qaysi biri muvaffaqiyatsiz bo'lganini bilish ko'p taxminlarni tejaydi. autogen bosqichi configure yaratish uchun autotoolsni ishga tushiradi. configure bosqichi mijozga kerak kompilyator, kutubxonalar va sarlavhalarni tekshiradi, so'ng topilganini aks ettiruvchi makefile fayllarini yozadi. make bosqichi kompilyatsiya qiladi. install bosqichi natijalarni yo'lingizning bir joyiga ko'chiradi.

Aynan o'sha oxirgi satrda maslahat ko'pincha noto'g'ri ketadi. O'rnatish qurish ishlaganining isboti emas va uni har qanday yuklab olish jildida yuqori huquqlar bilan ishga tushirish keyin eslab qolmaydigan fayllarni sochishning yaxshi usuli. Agar configure yo'q kutubxona sababli muvaffaqiyatsiz bo'lsa, foydali chiqish uning chop etgan birinchi xatosi, jurnalning oxirgi yigirma satri emas.

Sessiya va tarmoq konfiguratsiyasi alohida

Bu farq ulanish haqiqatan ham trafik tashishini hal qiladi. TLS sessiyasini o'rnatish mijoz tomonida interfeys beradi. Marshrutlar, manzillar va DNS hal qiluvchilarni qo'llash tarmoq skripti orqali bajariladigan ikkinchi qadam, skriptsiz binar fayl ishlab chiqargan qurishda esa yarim mijoz bor.

Xuddi shu ajratish bir xil mijozli ikki mashina nima uchun turlicha ishlashini tushuntiradi: skript tizimning tarmoq konfiguratsiyasiga murojaat qiladi va bu konfiguratsiya marshrut talab qilgan barcha narsani o'z ichiga oladi. Bo'lingan tunnel trafikni kutilmagan joyga yuborganda tunnel o'z ishini qiladi va tekshirilishi kerak bo'lgan narsa marshrutlash qarori.

Shuning uchun xatolarni tuzatishda qaysi qatlam muvaffaqiyatsiz bo'lganini so'rang. Hech qachon o'rnatilmaydigan sessiya protokol, sertifikat yoki hisob ma'lumotlari. O'rnatilib, hech narsa uzatmaydigan sessiya interfeys va skript. Bir tarmoqdan ishlab boshqasidan ishlamaydigan o'rnatilgan mijoz yetib borishdir va hech qanday qayta qurish buni o'zgartirmaydi.

Qaysi binar faylni ishga tushirayotganingizni biling

Qo'lda o'rnatilgan qurish va paketlangan binar fayl tinch yonma-yon yashashi mumkin va qaysi biri ishlashi niyatlaringizga emas, yo'lingizga bog'liq. Birovga versiya raqamini aytishdan oldin buni aniqlang.

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

Birinchi buyruq qobig'ingiz ko'radigan har bir nusxani sinab ko'radigan tartibda sanab chiqadi. Ikkinchisi qaysi biri javob berganini aytadi. Bu kutganingizga mos kelmasa, siz eski tajribadan qolgan qurishni ishga tushiryapsiz va hech qanday konfiguratsiya o'zgarishi uni qimirlatmaydi.

Mijoz o'rnatish darvoza tasdiqlanishi emas

Ishlaydigan binar fayl joylashtirishni mos qilmaydi. Darvozaning protokoli, uning autentifikatsiya oqimi va boshqariladigan qurilma talabini unga egalik qiladigan odamlar bilan tasdiqlang, chunki bular qurish bera olmaydigan siyosat va amaliy qatlam faktlari.

Loyihaning qurish yo'riqnomalari autotools ketma-ketligi va tarmoq skripti talabini batafsilroq qamrab oladi va macOS versiyangizdan eski blog yozuvini emas, aynan ularga amal qilish kerak. Maqsad faqat ulanish bo'lsa, paketni oling, skriptni saqlang va kompilyatorni chetda qoldiring.

O'xshash maqolalar