Домог нь L2TP нь Android дээр shell скрипт эхлүүлж болох өөр нэг зүйл гэдэг: маршрут нэмээд, хуучин үйлчилгээг дуудаад, болчихно. Ингэж болохгүй, учир нь туннель пакет зөөхөөс өмнө дөрвөн өөр давхарга санал нийлэх ёстой. IPsec давхарга зам хамгаалж, L2TP сессийг зөөж, PPP холболтыг хэлэлцэж, Android үр дүнг тойрон маршрутлаж чадах VPN болгон бүртгэх ёстой. Хуулсан командуудтайгаар үүнийг хоёр удаа оролдож байхыг би харсан, хоёр удаад ч маршрут байсан боловч юу ч шифрлэгдээгүй байв.

Маршрут өөрчлөх нь үнэндээ юу хийдэг

Маршрут нэмэх нь пакет дараа нь хаашаа явахыг шийддэг. Энэ нь аюулгүй байдлын холбоог хэлэлцэхгүй, L2TP сессийг нээхгүй, хаяг, хамтрагч, DNS тохиргоог үүсгэдэг PPP солилцоог гүйцэтгэхгүй. Гар утсан дээр харагдах үр дүн нь буруу замаар гарч байгаа эсвэл гарч үхэж байгаа урсгал бөгөөд хаана ч туннелийн төлөв байхгүй.

Хуучин хувилбараас хуулсан үйлчилгээний дуудлагад ч мөн адил. Android-ын дотоод VPN шугам нь нийтлэгдсэн автоматжуулалтын API биш бөгөөд өөр хувилбарын дугаартай гүйлгээ өөр үйлдэлд хүрэх эсвэл скриптэд байхгүй эрх шаардаж болно. Нууц үг зөөдөг автоматжуулалт хэзээ ч таамагласан дотоод аргументдаа тулгуурлах ёсгүй, учир нь бүтэлгүйтлийн хэлбэр нь чимээгүй no-op эсвэл хэн ч цэвэрлэдэггүй хагас бүтээсэн профайл юм.

Дөрвөн эзэн, скрипт нь тэдний нэг ч биш

Тэднийг дарааллаар нь авна уу. IPsec хамгаалагдсан замыг тогтоож, хадгалж, хамтрагчдыг баталгаажуулдаг. L2TP сессийг түүний дээгүүр зөөдөг бөгөөд энэ давхаргалал нь стандарт тэднийг нэг протокол биш, тусдаа механизм гэж үзэх шалтгаан юм. Үүний дотор PPP клиентийн ашиглах холболтын параметрүүдийг хэлэлцдэг. Дараа нь Android платформын талыг эзэмшинэ: бүртгэгдсэн VPN интерфейс, апп тус бүрийн хүрээ, always-on төлөв, апп устгагдсан үед юу болохыг шийддэг амьдралын мөчлөг.

Скрипт тэдгээр давхаргын зөвхөн сүүлчийнхийг харж чадна, ихэвчлэн шууд бус байдлаар. Хэрэв тэр клиент баримтжуулсан удирдлага ил гаргавал клиентэд холбогдохыг хүсч, дараа нь интерфейсийн төлөвийг ажиглаж болно. Энэ нь доорх гурван давхаргыг орлож чадахгүй, платформыг бүртгэгдээгүй интерфейсийг VPN гэж үзэхийг албадаж чадахгүй.

Яагаад демон ч богино зам биш

Төхөөрөмж дээр эрх бүхий Linux демон эхлүүлэх нь дутуу хэсэг мэт харагдаж, ихэнхдээ үнэхээр туннель өргөдөг. Гэхдээ тэр туннелийг Android-д бүртгэдэггүй. Интерфейс цөм дотор байдаг ч платформын VPN сонголт, апп тус бүрийн маршрутлал, always-on бодлого, амьдралын мөчлөг түүнийг мэдэхгүй, демоны өөрийн маршрут болон DNS өөрчлөлтүүд ижил хүснэгтүүдийн төлөө сүлжээний менежертэй өрсөлддөг.

Үр дүн нь демоны урсгалд ажилладаг, харин таны чухал гэж үзсэн апп-д нууцлаг байдлаар ажиллахгүй холболт, эсвэл систем сүлжээгээ дахин үнэлэх хүртэл үргэлжлэх холболт юм. Аль ч үр дүн платформын алдаа биш; энэ бол socket эзэмших ба VPN боломжийг эзэмших хоорондын хил юм.

Дэмжигдсэн замууд ямар харагдах вэ

Хэрэв байгууллага Android өөрөө нийлүүлдэг профайл руу шилжиж чадвал платформын зам нь шударга юм. API 30-аас эхлэн VpnManager нь аппуудын платформын VPN профайлыг нийлүүлэх, хянахыг дэмждэг бөгөөд дуудаж буй апп-тай холбогдсон зөвшөөрлийн урсгалтай. Энэ нь L2TP хөрвүүлэгч биш: IKEv2-т зориулж нийлүүлдэг профайл загвар нь одоо байгаа L2TP тохиргоог хөрвүүлдэггүй, протокол солих нь шилжилт, нэр солих биш. Identity, маршрут, хувийн DNS, хандах эрхийг санаатайгаар шилжүүлэх ёстой.

Хэрэв үйлчилгээ L2TP/IPsec хэвээр байх ёстой бол дэмжигдсэн хослол нь оператор үнэхээр баримтжуулсан клиент болон OS хувилбар, мөн байгаа бол түүний автоматжуулалтын гэрээ юм. Баримтжуулсан хяналтгүй удирдлага байхгүй үед зөв хариулт нь нэг бүтээц дээр санамсаргүй ажилладаг эмзэг эрх бүхий скрипт биш, дэмжигдсэн гар холболт юм.

Зөв автоматжуулалт юу хийдэг

Баримтжуулсан удирдлага өгөгдсөн үед автоматжуулалтын ажил бага бөгөөд хамгаалах боломжтой: нэрлэсэн холболтыг хүсэх, бэлэн болохыг хүлээх, баталгаажуулалт эсвэл тохиргооны алдаанд зогсох, зориулсан ачааллыг гүйцэтгэх, цэвэрлэгээг холболтыг эзэмшдэг компонентод үлдээх. Итгэмжлэлүүд тэдгээрийг хадгалж, эргүүлэхийг мэддэг клиент дээр үлддэг.

Эхний мөрийг бичихээс өмнө аль компонент аль давхаргыг эзэмшихийг бичээд, үр дүнг түүнтэй харьцуулж шалгана уу:

  • IPsec болон PPP-г клиент хариуцдаг, скриптийн маршрут биш.
  • Холболт платформын VPN төлөвт харагдах тул апп тус бүрийн хүрээ болон always-on түүнд хамаарна.
  • Ямар ч дотоод үйлчилгээний дуудлага, гүйлгээний дугаар, таамагласан аргумент итгэмжлэл зөөхгүй.
  • Аль ч шатанд гарсан алдаа хагас бүртгэгдсэн профайл үлдээхгүй.

Холбоотой нийтлэлүүд