VPN унасан үед юу ч гоожихгүйн тулд Linux-ийн гарах урсгалыг хэрхэн түгжих вэ
Маршрутлалт ба шүүлт нь тусдаа шийдвэр юм. Гарах дэгээг түгжиж, дараа нь туннель дахин холбогдоход шаардлагатай төгсгөлийн цэг, DNS болон удирдлагын үл хамаарах зүйлсийг хязгаарлана.
Гэрийн шугам дээрх медиа хайрцгийг төсөөлөөд үзээрэй, тэр интернетэд зөвхөн туннелээр хүрэх ёстой. Туннель унасан үед програмыг физик интерфэйсээр чимээгүй үргэлжлүүлэхийн оронд зогсох ёстой. Ийм зан төлөвийг олж авах нь маршрутлалтын бус, галт хананы асуудал бөгөөд ялгаа нь чухал, учир нь маршрутыг демоныг дахин эхлүүлэхэд сольж болох ч шүүлт нь таны тавьсан газарт үлддэг. Дараа нь пакетын зам хэрхэн шийддэг, тэгээд туннелийг дахин холбох үл хамаарах зүйлсийг хэрхэн хязгаарлахыг үзнэ.
Орон нутгийн гаралт дамжууллаас өөр дэгээ
Машин дээрх програмаас гарч буй пакет гарах дэгээгээр дамждаг; машин өөр хостод зориулж маршрутладаг пакет дамжууллаар дамждаг. Зөвхөн forward-г дурдсан бодлого хоёр дахь хэсгийг хязгаарлаж, эхнийхийг бүрэн нээлттэй орхидог, иймээс олон гарах түгжээ зөв харагдаад юу ч хийдэггүй. Интерфэйсийн тохирол мөн адил дүрэмд хамаарна: oifname "tun0" accept туннелээр аль хэдийн маршрутлагдсан трафикийг нэвтрүүлдэг. Маршрутлалт ба шүүлт нь мөн тусдаа шийдвэр хэвээр байх тул шүүлт пакетыг татгалзах үед дээд шугамын маршрут байж болно. Та энэ ялгаанд найдаж байна.
Бусад төхөөрөмжид зориулж дамжуулдаг гарц хоёр дэгээг хоёуланг нь шаарддаг. Зөвхөн гаралтыг түгжих нь машиныг өөрөө хамгаалж, доорх клиент бүрт гоожих эрх чөлөөг үлдээдэг.
Үл хамаарах зүйлсийн жагсаалтыг төгсгөлийн цэгээс гадагш бичнэ
Туннелийн төгсгөлийн цэгээс эхэл: нэг очих хаяг эсвэл бага зөвшөөрөгдсөн багц, тээврийн протокол, очих порт, жишээ нь udp dport 1194 ip daddr 203.0.113.7 accept. Хэрэв клиент хостын нэрийг шийдвэрлэдэг бол анхны DNS солилцоонд шийдвэрлэгч ба порт 53-т хязгаарлагдсан өөрийн дүрэм хэрэгтэй, тэр шийдвэрлэгчийн хаягт ерөнхий зөвшөөрөл биш. Үл хамаарах зүйл бүр оршин байх шалтгаанаа нэрлэх ёстой. VPN порт руу бүх UDP трафикт зөвшөөрөл өгөх нь таны санаж байсан тэр нэг баталгаажсан үйлчилгээнээс хамаагүй илүүг хамарна.
Анхны шийдвэрлэлт бол түгжээ ихэвчлэн ялзардаг газар. Таймертай шинэчлэгддэг хаягийн багцад шинэчлэлт бүтэлгүйтсэн үед тодорхой зан төлөв хэрэгтэй бөгөөд энэ зан төлөв амжилттай болтол шугамыг нээх байж болохгүй. Туннель зогсож байхад туннелээр шинэчил, эс бөгөөс хамгийн сүүлд мэдэгдэж буй эрүүл төгсгөлийн цэг рүү буц.
Орон нутгийн удирдлагад ч ижил хандлага хэрэгтэй. Удирдлагын дэд сүлжээ нь хаягууд нь хувийн учраас л итгэмжлэгдэхгүй бөгөөд түүнд итгэдэг дүрэм түгжээний эргэн тойронд хоёр дахь замыг урина.
Интерфэйсийн тохирол эрүүл туннелийн баталгаа биш
tun0-аас гарч буй бүхнийг хүлээж авдаг дүрмүүд тэр интерфэйс дээрх пакет туннелээс ирсэн гэж үздэг. Интерфэйсийн нэрс дахин бүтээгддэг бөгөөд нэр нь криптографын таних тэмдэг биш. Интерфэйс дээшээ байхад нөхөр нь явчихсан байж болно, энэ нь дүрмийг маш итгэмжит идэвхгүй байдал болгоно.
Холболтын хяналт үүнтэй холбоотой урхи нэмнэ. Тогтоосон холболтын өргөн дүрэм урсгалын өмнө авсан зөвшөөрлийг дахин тоглуулдаг тул туннель унахаас өмнө эхэлсэн сесс дараа нь үргэлжилдэг. Төлөвт суурилсан хүлээн авалтыг үнэхээр санаж буй интерфэйс, хаягаар хязгаарла, эс бөгөөс өөрөө нээгддэг түгжээ бүтээсэн байна. Оролт ба гаралтын дүрмүүд өөр асуултад хариулдаг бөгөөд нэгийг нь чангатгаад нөгөөг нь үл тоомсорловол машин таны бодоогүй чиглэлд хүрч болохоор үлддэг.
Демоны сүйрлээс юу үлддэг
Туннель өссөний дараа ажилладаг скрипт суулгасан шүүлт туннельтай хамт алга болдог, яг түүнд хэрэгтэй байсан мөчид. Түгжээг ачаалах үед ачаалж, демонд зөвхөн өөрийн үл хамаарах зүйлсийг удирдахыг зөвшөөр.
Өгөгдмөл маршрутыг устгах нь ч орлохгүй. Маршрут бол демоны эзэмшдэг, дахин бичдэг төлөв бөгөөд түүнийг арилгах нь дахин холбогдоход хэрэгтэй замыг авч болно. IPv6-д өөрийн төлөвлөгөө хэрэгтэй, учир нь хөршийн илрүүлэлт ба маршрутлагчийн зарлалууд нь энгийн трафик блоклогдсон үед ч ажиллах ёстой холбоосын үйлчилгээ юм. DHCP мөн адил ангилалд орно. Эдгээрийг дараа нь тасалдал гэж илрүүлэхийн оронд зорилготой үл хамаарах зүйлс гэж бичиж үлдээ.
Байршуулахаас өмнөх сэргээх зам
Түгжээг яаж бүтэлгүйтэхээр нь шалга: туннельгүй ачаалах, демоныг алах, төгсгөлийн цэгийг солих, дахин холбогдох. Тохиолдол бүрд программууд зогсож, сэргээх суваг ажиллаж байх ёстой. Үүнийг консолоос хий, учир нь алсын бүрхүүл бол өөрийн дүрмээр хамгийн их түгжигдэх сесс юм.
Дараа нь энгийн программ хаа хүрч чадахыг шалга, хор хөнөөлгүй очих газар ба шалгаж болох хүсэлтээр. Хүссэн үр дүн нь дээд шугам дээр татгалзал ба туннелээр амжилт, аль алиныг нь илэрхийлж болох хоёрдмол хүлээлт биш. Дүрмийн багцыг бүх хүснэгтийг shell скриптээс солихын оронд галт хананы бусад хэсэгтэй ижил эзэмшигчийн дор байлга. Аливаа зөвшөөрөл өөрийгөө зөвтгөж чаддаг бодлого нь хэн ч тайлбарлаж чадахгүй урт дүрмийн багцаас илүү үнэ цэнэтэй.