UDP-г ISP хааж байна уу, эсвэл туннелий доторх апп уу?
ISP нь шифрлэгдсэн дотоод толгойг уншихгүйгээр гадаад UDP тээврийг хаяж чадна. Гадаад хүргэлт, дотоод дамжуулалт, аппын зан төлөвийг тусгаарла.
Хэн нэгэн VPN „UDP-г хаадаг“ гэж мэдээлдэг бөгөөд энэ өгүүлбэр хоёр огт өөр мэдэгдлийг нуудаг. Нэг нь хандалтын сүлжээ харж чадах тээврийн тухай, нөгөө нь туннель дотор шифрийг тайлсны дараах аппын пакетуудын тухай. Шифрлэгдсэн туннелийг ямар ч түлхүүргүйгээр гаднаас шүүж болно, дотоод UDP апп нь шүүлтүүртэй огт хамааралгүй шалтгаанаар бүтэлгүйтэж болно. Нотолгоо цуглуулахын өмнө аль мэдэгдлийг шалгаж байгаагаа шийдээрэй.
Хоёр толгой, нэг үг
NAT-traversal бүхий IPsec байршуулалтад гадаад пакет нь UDP бөгөөд хоёр VPN төгсгөлийн цэгийн хооронд хаяглагдсан, ихэвчлэн 4500 порт дээр. Үүний дотор шифрлэгдсэн ачаа туннель дамжуулах бүхнийг зөөнө, энэ нь өөрөө TCP эсвэл UDP байж болно. Тиймээс UDP гэдэг үг хоёр удаа, өөр утга, өөр харагдах байдалтай гарч ирнэ.
Завсрын сүлжээ гадаад толгойг хардаг, дотоодоос юу ч хардаггүй. Тэр гадаад урсгалыг зөвшөөрөх, хэлбэржүүлэх эсвэл хаяж болох бөгөөд үүний тулд юу ч тайлах шаардлагагүй. Энэ тэгш бус байдал нь хоёр мэдэгдэл андуурагдахын бүх шалтгаан: нэг үг сүлжээ шүүж байгаа зүйлийг ч, апп илгээж байгаа зүйлийг ч тодорхойлно. Аливаа олдвор бүртгэхдээ үгийн хажууд давхаргыг бичээрэй, андуурал ихэвчлэн арилна.
Дотоод толгой нь хүлээн авагч төгсгөлийн цэг дээр, шифрийг тайлсны дараа л харагдана. Тэр мөчөөс эхлэн пакет бусад пакет шиг дамжина, маршрут, бодлого, төгсгөлийн цэгийн өөрийн шүүлтүүрт захирагдана. Эдгээр нь өөр өөр төхөөрөмжүүдийн гаргадаг тусдаа шийдвэрүүд юм.
Сүлжээ одоо ч юу харж чадах вэ
Шифрлэлт нь ачаа болон дотоод тээврийн толгойг нуудаг, урсгал байгаа гэдэг баримтыг биш. Төгсгөлийн цэгийн хаяг, порт, пакетийн хэмжээ, цаг хугацаа харагдсаар байх бөгөөд энэ нь трафикийг эвристикээр ангилах эсвэл тодорхой очих газрыг хаахад хангалттай.
sudo tcpdump -ni eth0 'udp port 4500' sudo tcpdump -ni tun0 'udp port 5201'
Эхний бичлэг физик интерфэйс дээрх гадаад урсгалыг, хоёр дахь нь туннелийн интерфэйс дээрх дотоод урсгалыг харуулна. Хоёуланг нь зэрэг ажиллуулах нь асуултад шууд хариулна: гадаад урсгал байгаа боловч дотоод нь байхгүй бол апп туннель руу юу ч илгээгээгүй. Хоёулаа байгаа боловч юу ч буцаж ирэхгүй бол асуудал туннелийн цаана, очих газар эсвэл буцах замд байна.
RFC 3948 гадаад UDP инкапсуляцийг тодорхойлдог, ESP-ийн тодорхойлолт нь түүний доторх хамгаалагдсан зохион байгуулалтыг тодорхойлдог. Аль ч баримт бичиг хандалтын сүлжээ гадаад урсгалыг нэвтрүүлнэ гэж амладаггүй тул дотоодын тухай ямар ч онолын өмнө гадаад дөрвөлжин дээр хүртээмжийн шалгалт хийх нь зүйтэй. Хаагдсан гадаад дөрвөлжин хэзээ ч үүсэхгүй туннель үүсгэдэг, үүсээд дараа нь нэг аппыг алддаг туннель биш.
Ажиллаж байгаа туннель дотор нэг UDP апп яагаад бүтэлгүйтдэг вэ
Веб апп зөөдөг боловч UDP апп зөөдөггүй туннель хэд хэдэн үндэслэлтэй тайлбартай бөгөөд ISP-ийн дотоод протоколыг шүүх нь эхнийх биш. Хамгийн түгээмэл нь хамрах хүрээ: хоёр апп нэг туннельд хамт орохгүй, учир нь UDP очих газрын маршрут байхгүй эсвэл клиентийн хуваагдсан туннелийн дүрэм үүнийг хасаж байна.
Хоёр дахь нь төгсгөлийн цэг. Протоколын жагсаалтыг зөвшөөрдөг VPN сервер, очих газрын галт хана, эсвэл хүлээгдэж буй порт дээр хэзээ ч сонсдоггүй үйлчилгээ — бүгд сүлжээний хаалттай яг адил харагдах хугацаа хэтэрхийг үүсгэнэ.
Гурав дахь нь пакетийн хэмжээ. UDP аппууд веб хүсэлтээс том датаграм илгээдэг нь олон, инкапсуляци нь ашиглах боломжтой MTU-г багасгадаг тул амжилттай гар барилтын дараа эхний бүрэн хэмжээний ачаанд чимээгүй байдал ирж болно. Энэ хэв маягийг хаалт гэж буруу уншихад амархан, учир нь жижиг пакетууд өнгөрч, том нь алга болдог. Хурдан MTU шалгалт үүнийг нэг минутаас бага хугацаанд шийддэг бөгөөд хариулт нь ихэвчлэн сүлжээний шүүлтүүр биш, харин бага ачаа эсвэл зассан MSS байдаг.
ping -M do -s 1400 -c 2 10.60.0.20 iperf3 -u -c 10.60.0.20 -p 5201 -b 1M -t 5
Эхний команд том пакет фрагментаци унтарсан үед замыг туулж байгаа эсэхийг шалгадаг, энэ нь MTU асуудлыг хурдан илрүүлнэ. Хоёр дахь нь жижиг, хязгаарлагдмал UDP урсгал илгээж, алдагдал болон життерийн талаар мэдээлнэ. Эхэлсэн ч дараа нь зогссон урсгал нь хаалт руу биш, хэмжээ рүү заана.
Протоколыг биш, давхаргыг мэдээл
Олдворыг гурван хэлбэрийн аль нэгээр бич: гадаад хүргэлт бүтэлгүйтсэн, дотоод дамжуулалт бүтэлгүйтсэн, эсвэл апп бүтэлгүйтсэн. Тус бүр өөр эзэнтэй бөгөөд тэдгээрийг холих нь тасалбарыг буруу баг руу илгээдэг.
Орон нутгийн портыг өөрчлөх нь алслагдсан төгсгөлд тохирох сонсогч үүсгэж чадахгүй тул тус болж байгаа мэт харагдах клиент талын тойрч гарах шийдэл нь ихэвчлэн анхны очих газар буруу байсны нотолгоо болдог. Үүнтэй адил өгөгдсөн өөр профайл нь хүртээмжийн талаар ямар нэгэн зүйл нотолдог бөгөөд апп зөв тохируулагдсан эсэхийн талаар юу ч нотолдоггүй.
Дүгнэлтийг ажиглалтаас тусгаарлаж хадгал. Трафикийн шинжилгээ нь шифрийг тайлахгүйгээр урсгал юу болохыг сануулж чадна, энэ нь ашигтай олдвор боловч дотоод толгойг уншихтай ижил мэдэгдэл биш. Танд аль нь үнэхээр байгааг зааж өг.