macOS дээрх OpenConnect: багц, хувилбарын архив эсвэл git клон
Homebrew хоёртын файл болон сүлжээний скриптийг суулгадаг; эх кодын мод нь тэдгээрийг үүсгэж ажиллуулах хүртэл аль нэгийг нь ч өгдөггүй. Таны холболт алийг нь ашигладаг болохыг мэдээрэй.
Mac дээр OpenConnect клиент авах гурван зам байдаг бөгөөд тэд диск дээр өөр өөр зүйл үлдээдэг. Homebrew томьёо нь эмхэтгэсэн хоёртын файл болон маршрут, DNS-ийг тохируулдаг сүлжээний скриптийг суулгадаг. Хувилбарын архив нь үүсгэсэн бүтээх системтэй эх код өгдөг. git хуулбар нь түүнгүйгээр эх код өгдөг. Бурууг сонгох нь хүмүүс заавар эхэлснээс хэдхэн минутын дараа дутуу configure файлтай тааралдах шалтгаан юм.
Нэг нэрний дор хоёр өөр машин
Багцын зам нь нэг команд бөгөөд ажил нь хөгжүүлэлт биш холбогдох хүмүүст зориулсан зөв өгөгдмөл юм.
brew install openconnect
Юу суулгах нь командаас илүү чухал. Клиентийн хоёртын файлыг авна, мөн интерфэйс, маршрут, шийдэгчийг программчлахаар клиент дууддаг vpnc-script-ийг авна. Хоёулаа хосоор ажилладаг: хоёртын файл TLS сессийг дуусгаж, үүссэн интерфэйсийг скриптэд шилжүүлэх ба скрипт нь энэ үйлдлийн систем сүлжээгээ хэрхэн өөрчлөхийг хүсдэгийг мэддэг хэсэг юм.
Энэ хуваагдал нь төөрөгдүүлсэн тайлангийн бүхэл ангийг тайлбарладаг. Холбогдож, амжилт мэдээлээд дараа нь трафикийг буруу зам руу илгээдэг клиент нь ихэвчлэн туннелийн бус скриптийн асуудалтай байдаг бөгөөд томьёог дахин суулгахад засагддаг нь скрипт мөн дахин суулгагддагаас л юм. Томьёоны одоогийн macOS болон процессорын архитектурын дэмжлэгийг түүн дээр төлөвлөхөөс өмнө шалгаарай; shell-ийг төгс ажиллуулдаг Mac ч гэсэн түүнд зориулсан одоогийн багцгүй байж болно.
Эх кодын зам үнэхээр юу хийдэг
Хувилбарын архив нь үүсгэсэн бүтээх системтэй ирдэг тул танил ./configure эхнээсээ байдаг. git хуулбарт байхгүй, учир нь үүсгэсэн файлууд нь бүтээлийн бүтээгдэхүүн, төсөл хадгалдаг зүйл биш. ./autogen.sh нь хувилбарын архивт биш, хуулбарын зааварт гарч ирдэг бүх шалтгаан энэ.
./autogen.sh
./configure
make
make install
Мөр бүр тодорхой зүйл хийдэг бөгөөд аль нь бүтэлгүйтсэнийг мэдэх нь олон таамаглалыг хэмнэдэг. autogen алхам нь configure үйлдвэрлэхээр autotools-ыг ажиллуулдаг. configure алхам нь клиентэд хэрэгтэй компилятор, сан, толгойг шалгаад олсон зүйлээ тусгасан makefile-уудыг бичдэг. make алхам нь эмхэтгэдэг. install алхам нь үр дүнг таны зам дахь хаа нэгтээ хуулдаг.
Яг тэр сүүлийн мөрөнд зөвлөгөө ихэвчлэн буруу явдаг. Суулгалт нь бүтээл амжилттай болсны баталгаа биш бөгөөд түүнийг дурын татаж авах хавтаст өндөр эрхтэй ажиллуулах нь дараа нь санахгүй файлуудыг тараах сайн арга юм. Хэрэв configure дутуу сангийн улмаас бүтэлгүйтвэл хэрэгтэй гаралт нь түүний хэвлэсэн эхний алдаа, логын сүүлийн хорин мөр биш.
Сесс ба сүлжээний тохиргоо нь тусдаа
Энэ ялгаа нь холболт трафикийг үнэхээр зөөж байгаа эсэхийг шийддэг. TLS сессийг тогтоох нь клиентийн талд интерфэйс өгдөг. Маршрут, хаяг, DNS шийдэгчийг хэрэглэх нь сүлжээний скриптээр хийгддэг хоёр дахь алхам бөгөөд скриптгүйгээр хоёртын файл үйлдвэрлэсэн бүтээл клиентийн хагастай.
Мөн энэ ялгавар нь ижил клиенттэй хоёр машин яагаад өөрөөр ажилладаг болохыг тайлбарладаг: скрипт нь системийн сүлжээний тохиргоотой зөвлөлдөх ба тэр тохиргоо нь маршрут шаардсан бусад бүхнийг агуулдаг. Хуваасан туннель трафикийг гэнэтийн газар илгээхэд туннель өөрийн ажлыг хийж байгаа бөгөөд шалгах зүйл нь маршрутын шийдвэр юм.
Тиймээс дибаг хийхдээ аль давхарга бүтэлгүйтсэнийг асуугаарай. Хэзээ ч тогтоогддоггүй сесс нь протокол, гэрчилгээ эсвэл нэвтрэх мэдээлэл. Тогтоогдоод юу ч дамжуулдаггүй сесс нь интерфэйс ба скрипт. Нэг сүлжээнээс ажиллаж нөгөөгөөс ажилладаггүй суулгасан клиент нь хүртээмж бөгөөд ямар ч дахин бүтээл түүнийг өөрчлөхгүй.
Аль хоёртын файлыг ажиллуулж байгаагаа мэдээрэй
Гараар суулгасан бүтээл болон багцлагдсан хоёртын файл тайван хамт оршиж болох бөгөөд аль нь ажиллах нь таны зам, санаа зорилгоос хамаарна. Хэнд ч хувилбарын дугаар мэдээлэхээс өмнө үүнийг олж мэдээрэй.
which -a openconnect
openconnect --version
brew list --versions openconnect
Эхний команд нь таны shell-ийн харж болох бүх хуулбарыг туршиж үзэх дарааллаар нь жагсаана. Хоёр дахь нь аль нь хариулсныг хэлнэ. Энэ нь таны хүлээлттэй тохирохгүй бол та хуучин туршилтын бүтээлийг ажиллуулж байгаа бөгөөд ямар ч тохиргооны өөрчлөлт түүнийг зөөхгүй.
Клиент суулгах нь гарцын зөвшөөрөл биш
Ажилладаг хоёртын файл нь байршуулалтыг нийцтэй болгодоггүй. Гарцын протокол, түүний баталгаажуулалтын урсгал, удирдлагатай төхөөрөмжийн аливаа шаардлагыг эзэмшигч хүмүүстэй баталгаажуулаарай, учир нь эдгээр нь бүтээл өгч чадахгүй бодлого ба програмын давхаргын баримтууд юм.
Төслийн бүтээх заавар нь autotools дараалал болон сүлжээний скриптийн шаардлагыг илүү дэлгэрэнгүй авч үздэг бөгөөд таны macOS хувилбараас хуучин блог нийтлэл биш, тэдгээрийг дагах ёстой. Зорилго нь зөвхөн холбогдох бол багцыг авч, скриптийг үлдээж, компиляторыг гадна үлдээгээрэй.