Аль macOS хэрэгсэл нэг аппыг зөвхөн VPN-ээр дамжуулахад хүчлэх вэ?
Зөвхөн-VPN хилд зам ба татгалзал хоёулаа хэрэгтэй. Апп тус бүрийн профайл, прокси, шүүлтүүр, PF-ийг харьцуулж, дараа нь танд чухал тэр нэг аппыг туршина уу.
Шаардлагын баримт дахь нэг мөр — „энэ апп VPN-ийг ашиглаж болно, өөр юу ч биш“ — ганц ч шилжүүлэгч өгдөггүй хоёр механизмыг чимээгүй шаарддаг. Хөдөлгөөнд зориулагдсан хонгилоор гарах зам хэрэгтэй, шууд гарч байсан хөдөлгөөнгөөс татгалзах ёстой. Эдгээрийн нэгийг сайн хийж, нөгөөг нь огт хийдэггүй хэрэгсэл түгээмэл байдаг тул ямар нэг зүйл блоклож чадах эсэхийг л асуудаг харьцуулалт асуултын хагаст итгэлтэй хариулдаг. Эхлээд хилийг бичиж, дараа нь түүний хоёр хагасыг бүрхэх бүрэлдэхүүнийг сонго.
Нэг өгүүлбэрт нуугдсан хоёр шаардлага
Чиглүүлэлт гэдэг нь холболтыг хонгил эсвэл проксид оруулах хэсэг. Татгалзал гэдэг нь тэр холболтыг өөр ямар ч замаар гарахаас сэргийлэх хэсэг. Тэдгээрийг өөр өөр бүрэлдэхүүн хэрэгжүүлдэг, тэд өөр өөрөөр бүтэлгүйтдэг, бүтээгдэхүүн нэг дээр нь илүү сайн байж, нөгөөгийнх нь тухай юу ч хэлэхгүй байж болно:
| Approach | Steers traffic | Refuses direct egress | Knows the app identity |
|---|---|---|---|
| Per-app VPN profile | Yes, for the apps it names | Only if a filter or firewall also blocks | Yes, within its own rules |
| Application proxy setting | Partly, for requests that honour it | No | No |
| Content filter | No | Yes | Yes, if the filter is written that way |
| Local PF ruleset | No | Yes, by address and port | Not reliably |
Хүснэгтийг зэрэглэл биш, шалгах хуудас гэж уншаарай. Ямар ч мөр хоёр дунд баганыг дүүргэхгүй, тэдгээрийг бүрхэх мөрүүд нь хамтран ажилладаг хоёр бүрэлдэхүүн: нэг нь замыг, нөгөө нь татгалзалыг эзэмшдэг. Таних багана өөр шалтгаанаар чухал, учир нь аппыг нэрлэж чадахгүй дүрэм тэр аппын тухай дүрмийг хэрэгжүүлж чадахгүй. Юу ч байрлуулсан, энэ нь гурвууланд хариулах ёстой, эс бөгөөс шаардлагын барим дахь хил нь машин дээрх хил биш.
Зөвхөн чиглүүлэлт гарах замыг үлдээдэг
Аппын прокси тохиргоо нь татгалзалгүй чиглүүлэлтийн хамгийн тод жишээ. Энэ нь системийн проксийг хүндэтгэдэг аппын хүсэлтийг чиглүүлж чадах бөгөөд өөр юу ч бүрхдэггүй: туслах процесс, шинэчлэгч, арын үйлчилгээ эсвэл өөр протокол тэр тохиргоог хэзээ ч уншилгүй өөрийн замаар явж болно. Тиймээс нэг самбарт SOCKS төгсгөлийн цэгийг сонгох нь аппын хувьд шууд гарахыг хориглох бодлого үүсгэхгүй. Шаардлага бүхэл аппын тухай бол дүрэм яг ямар бүрэлдэхүүнийг танихыг асуу.
Апп тус бүрийн VPN профайл проксигээс илүү сайн чиглүүлдэг, учир нь ямар аппууд хонгилд орохыг платформ шийддэг апп бүр өөрөө шийдэхийн оронд. Гэсэн хэдий ч энэ нь юунаас ч татгалздаггүй: профайл зам өгдөг, түүнд тохирохгүй хөдөлгөөн ердийн замаар явдаг. Яг тэр цоорхой нь хоёр дахь бүрэлдэхүүн өөрийн байр сууриа олдог газар бөгөөд нэг шилжүүлэгч мэт харагдах бүтээгдэхүүн ихэвчлэн хоёр байдаг шалтгаан нь энэ.
Зөвхөн татгалзал аппыг эвддэг
Apple-ын баримт бичиг агуулгын шүүлтүүрийн тухай сүлжээний стекээр дамжин өнгөрөх хөдөлгөөний талаар зөвшөөрөх-эсвэл-блоклох шийдвэрийг тайлбарладаг. Тэр шийдвэр нь хонгил ч биш, прокси холболт ч биш, учир нь ямар нэг зүйл үргэлжилж болох эсэхийг шийддэг, хаашаа явдгийг биш. Зөвхөн шүүлтүүр татгалзалыг төгс хэрэгжүүлж, аппыг ашиглах боломжгүй болгоно, цэвэр логтой, ямар ч тайлбаргүй. Шүүлтүүрийн шийдвэр холболтыг зогсоож чадах боловч хонгилыг хэзээ ч өгдөггүй, тиймээс түүнийг чиглүүлэлттэй хослуулах нь дизайны шийдвэр, нэмэлт сонголт биш.
Орон нутгийн удирдлагатай PF дүрмийн багц тэр спектрийн нөгөө төгсгөлд байрлана. Энэ нь администраторын эзэмшлийн машин дээр хууль ёсны дэмжлэгийн шийдвэр бөгөөд түгээх боломжтой бүтээгдэхүүний суурь автоматаар болдоггүй, учир нь дүрмийн багцыг эзэмшсэн хүн бусад галт ханын хэрэглэгчидтэй харилцах харилцаа, шинэчлэх зам, дүрэм буруу үед сэргээхийг ч эзэмшинэ. Бүтээгдэхүүнд PF нэмэх нь тэр өмчийн асуултыг арилгахгүй; үүнийг тодорхойлно.
Байршуулалт дүрэм маргааш ч байх эсэхийг шийднэ
Network Extension нь Apple платформд хэрхэн байршиж байгаа нь таны өмнөх нийлүүлэгчийн төрөл, багцлалт, OS хувилбараас хамаарна. macOS дээр аппын өргөтгөл хэрэглэгчийн контекстэд ажиллаж, тэр хэрэглэгч гармагц дуусдаг бол системийн өргөтгөл нь сессээс хамааралгүй глобал контексттой. Хамгаалалт гарахаас хойш ч үргэлжлэх ёстой бол тэр ялгаа нь бүх дизайн, зүүлт биш. Зан төлөвийг амлахын өмнө байршуулалтын замыг баталгаажуулаарай, учир нь ижил код аль өргөтгөлийн төрөл илгээгдэхээс хамаарч өөрөөр буудаг.
Эх сурвалжийн хүртээмж нь хэрэгжүүлэлтээс тусдаа асуудал. Агуулах уншихад ямар нэг зүйл хэрхэн хэрэгжсэнийг хэлнэ, суулгасан бинарын файл энэ машин дээр юу хийж болохыг биш. Гарын үсэг, суулгалт, зөвшөөрөл одоо ч хүчинтэй, хуучирсан цөмийн өргөтгөл эсвэл номын сангийн тарилгын заль мэхийг тойруулан бүтээсэн заавар нь өөр платформ, өөр эрсдэлийн байр суурийг дүрсэлдэг, нэгэн цагт хэр сайн ажилласан ч.
Аппыг нэрлэсэн хүлээн авалтын тохиолдол
Апп өөрөө хийдэг нэг үйлдлийг сонгож, хүрэх ёстой хаяг болон тэр хаяг IPv4 эсвэл IPv6 эсэхийг тэмдэглээд, дараа нь зөвшөөрөгдсөн хонгилгүй байдалд мөнөөх үйлдлийг давтана. Хоёр дахь гүйлт нь зарласан татгалзалыг гаргах ёстой, чимээгүй шууд дахин оролдлого биш. Энэ нь хүмүүс тодорхойлохгүй орхидог хагас бөгөөд татгалзал байгаа гэдгийг нотолдог цорын ганц хагас. Үүнийг эхлээд хонгил боломжтой үед ажиллуул, ингэснээр хоёр үр дүнгийн ялгаа зөвхөн байхгүй хонгилоос гарч болно.
Дараа нь шаардлагад нэрлэсэн шилжилтүүдийг туулах: аппыг дахин эхлүүлэх, туслах процесс ажиллах, хонгил дахин холбогдох, машин сүлжээг солих, мөн хамаарах газарт гарах эсвэл дахин ачаалах. Хөтчийн нийтийн IP хуудас нь өөр аппын сокетийг шалгах зүйл биш тул үүнийг орлож чадахгүй. Дэмжигдсэн ямар ч байршуулалт аппын бодит зан төлөвийг бүрхэхгүй бол тодорхой гарцтай, өөр гарах замгүй зөвшөөрөгдсөн тусгаарлагдсан орчин нь өөрийн удирдлагын зардалтай хязгаарлалтын шийдвэр, чагтлалын хайрцгийн орлуулга биш.
Дөрвөн зүйлийг бичээд дуусга: апп ямар бүрэлдэхүүнээс бүрддэг, чиглүүлэлтийг хэн эзэмшдэг, татгалзалыг хэн эзэмшдэг, дүрэм хэзээ ч хүчинтэй байх ёстой нөхцөлүүд. Нийтийн агуулах сонголтын нэг шалгуур байж болох ч энэ нь дөрвийн нэг биш, тэдгээр зүйлс нь тухайн хэрэгсэл сүлжээний шаардлагыг хангаж байгаа эсэхийг шийддэг.