macOS дээрх OpenVPN TAP: алдаа засахаас өмнө клиентийг шалгаарай
TAP нь Ethernet фрейм, TUN нь IP зөөдөг бөгөөд өнөөгийн ихэнх macOS клиент эхнийхийг орхисон. Горимыг баталгаажуулаад, серверийн эзэнтэй хамт шилжинэ үү.
Хуучин профайл орчин үеийн Mac дээр ирж, клиент түүнийг ямар ч гомдолгүй импортлож, холболт тасардаг эсвэл трафик огт дамждаггүй. Сертификатад бүтэн үдэшлэгийн дараа өнгөрөөхөөс өмнө профайл дахь төхөөрөмжийн мөрийг уншаарай. Хэрэв тэнд dev tap гэж бичсэн бол та клиентээс Ethernet төрлийн интерфейс шаардаж байна, macOS дээр ийм сессийн ихэнх нь яг энэ шаардлагаар дуусдаг.
1-р алхам: профайл үнэхээр TAP шаардаж байгааг баталгаажуулаарай
Профайлууд нэрээ сольж, боож, дахин экспортлогддог тул таны үнэхээр импортолсон файлыг шалгаарай. Төхөөрөмжийн заавар болон түүнийг дарж болох include-г хайна уу. Ихэнх тохиолдолд гаралтын хоёр мөр асуултыг шийддэг. dev болон dev-type хоёулаа гарч ирвэл сүүлчийн заавар ялдаг бөгөөд хуулбарласан профайл яг ийм нарийн ширийг нуудаг.
grep -nE "^[[:space:]]*(dev|dev-type)[[:space:]]" client.ovpn
ls -l ~/Library/Application\ Support/ 2>/dev/null
Хэрэв файлд dev tap эсвэл dev tap0 байвал клиент TAP интерфейсийг хэрэгжүүлэх ёстой. Хэрэв dev tun байвал энэ өгүүллийн үлдсэн хэсэг хамаарахгүй бөгөөд алдаа өөр газар байна.
Клиентийн нэр, хувилбар, macOS-ийн хувилбар, профайл хаанаас ирснийг бичээрэй. Эдгээр гурван баримт доорх хоёр замын аль нь огт боломжтойг тодорхойлно.
2-р алхам: төхөөрөмжийн горим юу өөрчлөхийг мэдээрэй
TUN интерфейс IP пакетуудыг дамжуулдаг. Клиент IP түншийн хаяг руу илгээсэн пакетуудыг уншиж, бичдэг бөгөөд үйлдлийн систем тэдгээрийг бусад интерфейсийн адил чиглүүлдэг.
TAP интерфейс Ethernet фреймүүдийг, түүний дотор broadcast болон ARP-г дамжуулдаг. Энэ нь гүүрэн серверт DHCP-ээр хаяг хуваарилах, клиентэд төхөөрөмжүүдийг хашгиран илрүүлэх боломжийг олгодог тул зарим хуучин загвар үүнд найддаг.
Үнэ нь TAP-д системд Ethernet интерфейс үзүүлдэг драйвер шаардлагатай. Apple хуучин Mac TAP драйверууд найддаг байсан цөмийн өргөтгөлийн загварыг зогсоосон бөгөөд түүний орлуулах API нь ашиглахын тулд хэзээ ч шинэчлэгдээгүй клиентүүд дотор ид шидээр гарч ирдэггүй. Платформын чадвар ба хүргэсэн бүтээгдэхүүн хоёр өөр зүйл.
3-р алхам: нийцтэй клиент ба шилжилтийн хооронд сонгоорой
Хоёр шударга зам бий. Эхнийх нь таны macOS хувилбар болон техник хангамжид шаардлагатай TAP зохицуулалтыг дэмждэг гэж хэвлэгч нь мэдэгдсэн клиент юм. Дөрвөн жилийн өмнөх форумын нийтлэл ч биш, архивлагдсан суулгагч ч биш: одоогийн мэдэгдэл болон туршилтын холболт.
Хоёр дахь нь үйлчилгээг TUN руу зөөх бөгөөд энэ нь клиентийн өөрчлөлт шиг л серверийн өөрчлөлт юм. Чиглүүлсэн топологи, хаягийн сан, алслагдсан сүлжээнүүдэд түлхэгдсэн маршрут, тэдгээр сүлжээнээс сан руу буцах зам шаардлагатай.
Ажиллахгүй зүйл бол локал хуулбар дахь tap-г tun болгож өөрчлөөд найдах юм. Сервер одоо ч гүүрэн холбож байна, клиент одоо IP ярьж байна, юу ч тохирохгүй байна.
4-р алхам: ажиллаж буй үйлчилгээг өөрчлөхөөс өмнө баримтуудыг цуглуулаарай
Анхны профайлыг хөндөхгүй орхиж, туршилтад зориулж хуулбар хийгээрэй. Нэг минутын дотор сэргээж болох файл цэгцтэй хавтаснаас үнэтэй. Орлуулагч ажиллаж эхэлсний дараа жагсаалтад адилхан харагдах хоёр профайл үлдээхээс илүү хуулбарыг санаатайгаар устгаарай. Тэр нэг зуршил бүтэлгүй шилжилтийн дараах ихэнх будлианыг сэргийлдэг. Одоогийн зан төлөвийг тэмдэглэж, юу өөрчлөгдсөнийг батлаарай: туннель босч байна уу, хаяг авч байна уу, нэг мэдэгдэх хостод хүрч байна уу, нэрийн шийдэл ажиллаж байна уу.
Гарцын эзэнд гурван асуулт тавь. Сервер гүүрэн эсвэл чиглүүлсэн топологид ажиллаж байна уу? Ямар алслагдсан префиксүүд хүрч болох ёстой вэ? Мөн тохиргоог өөрчлөхөд засвар үйлчилгээний цонх байгаа юу, эсвэл серверт хүрэлгүйгээр ажиллана гэж хүлээж байна уу?
Эдгээрийн хариулт нь өнөөдөр үдээс хойш клиентийн асуудлыг шийдэж байгаа эсвэл ирэх долоо хоногт сүлжээний өөрчлөлт төлөвлөж байгааг тодорхойлно.
5-р алхам: шилжилтийг хоёр талаас баталгаажуулаарай
Серверт чиглүүлсэн тохиргоо, танд тохирох профайл байгаа үед дараах дарааллаар туршаарай: туннель тогтож, клиент шинэ сангаас хаяг авч, алслагдсан талын хост хариулж, түлхэгдсэн DNS тохиргоогоор нэр шийдэгдэнэ.
Дараа нь өмнө нь Ethernet зан төлөвөөс хамаардаг байсан зүйлийг туршаарай. Хэрэв програмын broadcast-аар төхөөрөмж илрүүлдэг байсан бол чиглүүлсэн туннелээр тэднийг олохгүй бөгөөд ямар ч клиентийн тохиргоо үүнийг буцаахгүй. Тэр програмын мэдэгдэх хаяг, локал туслах хост эсвэл өөр илрүүлэх арга хэрэгтэй.
Нэг удаа дахин холбогдож, нэг удаа дахин ачаалснаар дуусгаарай, учир нь зөвхөн эхний оролдлогод ажилладаг профайл нь ихэвчлэн түлхэгдсэн маршрут эсвэл DNS тохиргоо дахин холбогдоход хэрэгжихгүй байгааг илтгэнэ.
Гэсэн ч бүтэлгүйтвэл эхний алдааг уншаарай
Интерфейс үүсгэж чадахгүй клиент үүнийг бүртгэлдээ, ихэвчлэн эхний хэдэн мөрөнд хэлдэг. Үүсгэсний дараа нэвтрүүлэлтэд бүтэлгүйтсэн клиент төхөөрөмжийн асуултыг аль хэдийн давсан байдаг бөгөөд TAP-ын араас үргэлжлүүлэн гүйх нь сессийг үрэх юм.
Орлуулагч батлагдах хүртэл анхны профайл болон ажиллаж буй тохиргоог хадгалаарай. Клиентийн өөрчлөлтийг буцаах хурдан; хэн нэгэн таамаглалаар задалсан гүүрэн сүлжээг дахин барих нь тийм биш.