Дараалан хоёр VPN үсрэлт: таны трафикийг үнэхээр хэн хардаг вэ?
Цуваа үсрэлтүүд эхний гарц дээр тайлж, дахин шифрлэдэг; үүрлэсэн үсрэлтүүд зөвхөн гадаад давхаргыг хасдаг. Хоёр загварыг үзэж, аль оператор юу уншдагийг харна уу.
Клиент бүрийн профайл нэг серверийг нэрлэдэг тул хэрэглэгчийн байрлалаас нэг туннель, хамгаалалт дуусах нэг газар байна. Тэр эхний гарцын дараа юу болох нь клиент хэзээ ч хардаггүй загварын шийдвэр бөгөөд хоёр нийтлэг загвар шалгалтын үед огт өөрөөр ажилладаг. Цуваа гинжид эхний гарц тайлж, дахин шифрлэдэг. Үүрлэсэн гинжид гадаад давхаргыг хасч, өөрөө нээж чадахгүй дотоод туннелийг дамжуулдаг. Үсрэлтийн тоо хоёуланд ижил тул ялгааг тоолох бус зурах хэрэгтэй.
Клиентээс эхэлж хоёр үзүүрийг нэрлэ
Хэрэглэгч эхэлдэг газраас, өөрөөр хэлбэл холболтын профайлаас эхэл. Тэнд нэг алсын хаяг, нэг баталгаажуулалтын арга, загвар дэмжвэл маршрутын жагсаалт байна. Клиентээс A гарц хүртэлх тэр гадаад туннелийг тэмдэглэж, жишээ хаяг өг: клиентийн туннелийн хаяг 10.77.0.2, A-гийнх 10.77.0.1, A-гийн нийтийн төгсгөлийн цэг 198.51.100.10, TEST-NET-2 баримт бичгийн мужаас авсан, жишээн дэх юу ч бодит хосттой мөргөлдөхгүйн тулд.
Тэр профайлд B гарцын тухай юу ч дурдаагүй бөгөөд энэ нь алдаа биш. Хоёр дахь үсрэлт A-д хамаарах бөгөөд клиентийн цорын ганц үүрэг нь трафикийг A хүртэл хүргэж, буцаж ирснийг хүлээн авах юм. A туннелийг дуусгах, дамжуулах эсвэл шинийг нээх эсэх нь энэ тойргийн үлдсэн хэсэг хариулах асуулт бөгөөд A юу уншиж болохыг тодорхойлдог.
Цуваа: A тайлж, дараа нь дахин шифрлэдэг
Цуваа загварт A трафикийг хоёр удаа дуусгадаг. Клиентээс хамгаалалтыг хасч, програмын IP пакетыг авч, дараа нь тэр пакетыг A-гийн B зүг үүсгэх хоёр дахь туннелээр илгээдэг. Эдгээр хоёр үйлдлийн хооронд пакет A-гийн дамжуулах замд хувийн хүлээн авагч руу хаяглагдсан энгийн IP пакет хэлбэрээр байрлана.
Энэ нь шууд хэлэх ёстой хоёр үр дагавар өгдөг. A дотоод пакетэд бодлого хэрэглэж болно: маршрут, шүүлтүүрийн дүрэм, эх ба хүлээн авагчийн бүртгэл хэлбэрээр, мөн A хоёр багц бүртгэлийн мэдээлэл хадгалах ёстой: нэг нь клиентэд серверээр, нөгөө нь B-гийн клиентээр. Хамгаалалт мөч бүрт байдаг ч хамгаалагдсан объект A дээр өөрийн таних тэмдгийг өөрчилдөг.
Энэ нь A програмын нээлттэй текстийг уншдаг гэсэн үг биш. Клиент ба үйлчилгээ TLS ажиллуулж, бие биенийхээ гэрчилгээг шалгах үед, A уншигдахуйц хүсэлт бус TLS бичлэгийн урсгалыг хардаг. Тэр хамгаалалт хаана дуусахыг батлахын тулд туннелийн схем бус үйлчилгээний гэрчилгээний гинжийг харах хэрэгтэй.
Үүрлэсэн: A зөвхөн гадаад давхаргыг хасдаг
Үүрлэсэн загварт клиент эхлээд B руу дотоод туннель барьж, дараа нь тэр туннелийг гадаад туннелийн дотор A хүртэл зөөдөг. A гадаад толгойг хуулж, дотоод туннель олж, түүний түлхүүрийг хадгалахгүйгээр дамжуулдаг тул дотоод хамгаалалт одоо ч B дээр дуусдаг.
Тэгвэл клиентийн дээш чиглэсэн холбоос хоёр давхарга, A ба B-гийн хоорондох зам нэг давхарга зөөнө. A дотоод туннелийн гадаад хаягуудыг хардаг, энэ нь трафик байгаа, ойролцоогоор хаашаа явж байгааг мэдэхэд хангалттай бөгөөд ачааллыг уншихад хүрэлцэхгүй. Цуваа тохиолдлоос ялгаатай бүхэн энэ бөгөөд ямар ч үсрэлтийн тоолуур үүнийг харуулахгүй. A-гийн одоо ч хийж чадах зүйл бол өөрөө уншиж чадахгүй зүйлийг дамжуулахаас татгалзах бөгөөд энэ нь тэр гарцын операторт үргэлж нээлттэй.
Үүрлэлт энэ шинж чанарын төлбөрийг авдаг. Давхарга бүр толгойн зардал нэмдэг тул MTU ба MSS-ийн төлөвлөлт цэгцтэй байхаас илүү заавал болдог, нэг давхаргаар ажилладаг зам хоёр давхаргаар том пакетыг чимээгүй хаяж болно. Давхарга бүр өөрийн дахин холбогдох, амьд байлгах зан төлөв шаарддаг, нэг давхаргын доголдол нөгөөгөөр дамжин хэсэгчилсэн тасалдал мэт харагдана.
Зөвхөн туннель бус ажиглагчдыг зур
Туннель бол зургийн хялбар хэсэг. Загварын гол сэдэв нь ажиглагчид тул харах цэг бүрт нэг мөр бичээд, тус бүр үнэхээр юу уншиж чадахыг нөх.
| Vantage point | Serial chain | Nested chain |
|---|---|---|
| Client's access network | Outer tunnel only | Outer tunnel only |
| Operator of A | Inner IP packet between A and B | Outer addresses of the inner tunnel, not its payload |
| Path between A and B | Second tunnel | Second tunnel |
| Operator of B | Inner packet re-originated by A | Payload after the inner layer is removed |
| Service edge | Traffic from the exit address | Traffic from the exit address |
Хоёр мөр байнга холилддог: A-гийн оператор ба клиентийн туннелийн нийлүүлэгч. Тэд нэг субъект байж болох бөгөөд тусдаа гарцын нэрс тэднийг бие даасан болгодоггүй. Бие даасан өмчлөлд тусдаа захиргааны хяналт, тусдаа бүртгэлийн мэдээлэл, тусдаа бүртгэл шаардлагатай.
Мета өгөгдөл хоёр загварт амьд үлддэг. Цаг хугацаа, пакетын хэмжээ, холболтын тоо үсрэлт бүрт ажиглагдах хэвээр байдаг тул хоёр үсрэлт дохиог арилгахын оронд хамаарлын өртөгийг нэмэгдүүлдэг. Үл үзэгдэхийг амласан загварыг хэн нэгэн түүнд найдахын өмнө тэр жагсаалттай тулгаж шалгах хэрэгтэй.
Сонгохын өмнө алдааны замуудыг туул
Хэрэглэгч таарах дарааллаар клиентээс санаатай эвдэж үз. Интерфэйс ба түүний MTU-аас эхэл, учир нь үүрлэлт пакетын хэмжээнд баталгаажуулалтаас хамаагүй эрт бүтэлгүйтдэг.
ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1
Дараа нь хамгаалалтын төгсгөлийн цэгүүдийг таамаглахын оронд батал. Аль ч нээлттэй туннелийн дотроос үйлчилгээнээс гэрчилгээг нь хүсч, клиентийн харж буй гинжийг үйлчилгээний бодитоор танилцуулж буй гинжтай харьцуул. Дахин гарын үсэг зурдаг эсвэл саатуулдаг гарц тэр гэрчилгээг өөрчилдөг бөгөөд шалгалт нэг командаар илэрдэг.
openssl s_client -connect intranet.example.com:443 -brief < /dev/null
Дахин холбогдлын матрицаар дуусга: клиентийн туннель унана, B-гийн туннель унана, A ба B-гийн хоорондох зам өөрчлөгдөнө. Юу буцаж ирж, юу ирэхгүй, дотоод холболт хэзээ нэгэнт өөрийн төлөвлөсөн тээвэрлэгчээс гадуур маршрут руу унаж байгаа эсэхийг тэмдэглэ. Шалгалт бүрийн ашигласан хаягийг бүртгэ, учир нь өөр хандалтын сүлжээнд давтах нь өөр асуултад хариулна. Дахин холбогдол бүрийн дараа MTU шалгалтыг мөн давта, учир нь өөрчлөгдсөн зам нэг ч тохиргооны мөр хөдлөхгүйгээр ашиглагдах хэмжээг бууруулж болно.
A дотоод пакетэд бодлого хэрэглэх ёстой үед, эсвэл клиент хоёр давхарласан туннель ажиллуулж чадахгүй үед цувааг сонго. Дотоод ачаалал A дээр уншигдахгүй байх ёстой үед үүрлэлтийг сонго. Сонголтыг ажиглагчид болон MTU тоонуудын хамт бич, дараагийн хүн нэг асуултад хариулахын тулд бүх зургийг дахин зурах шаардлагагүй.