IPsec дээгүүр мэдээллийн сангийн асуулга гацах нь: UDP-ийн дахин эрэмбэлэлт үү, эсвэл TCP юу?
Цэвэр handshake-ийн дараа гацдаг асуулга нь туннелийн замын дотоод хэсэг рүү заана. Замыг засах эсвэл 443 дахь TCP руу буцахыг гурван нөхцөл шийднэ.
TCP handshake-ийн дараа гацдаг асуулга нь чиглүүлэлтийн асуудал биш. Замын алдаа handshake-ыг бүтэлгүй болгодог тул тогтсоны дараа чимээгүй болсон сесс замын дотоод хэсэг рүү заана: шалгалт, MTU эсвэл туннелийн UDP пакетууд ирэх арга. Таны өмнөх шийдвэр бол тэр замыг засах эсвэл туннелийг TCP руу шилжүүлэх юм. Гурван нөхцөл үүнийг шийдэх бөгөөд тэдгээрийн аль нь ч мэдээллийн сангийн тухай биш.
Туннелийг буруутгахаас өмнө гацалтыг ангил
Дөрвөн үр дүн хэрэглэгчид ижил харагдах боловч инженерт огт өөр утгатай.
| What the client sees | What it rules out |
|---|---|
| Connection refused | Nothing is listening on the address and port the client reached |
| Timeout before the handshake | A filter, a missing route, or the wrong address |
| Handshake completes, query hangs | The session exists, so look at inspection, MTU and packet order |
| Stalls that recover on retry | Often reordering, or a state table entry expiring |
Зөвхөн сүүлийн хоёр мөр л туннель дээр цаг зарцуулахыг зөвтгөнө. VPN-ээр татгалзсан холболт ихэвчлэн мэдээллийн сан зөвхөн loopback дээр сонсож байгаа бөгөөд энэ нь сонсогчийн асуудал, харин handshake-ийн өмнөх таймаут нь шүүлтүүр эсвэл зам юм. Аль нь ч инкапсуляцийг өөрчлөхөд сайжрахгүй.
Ангиллыг эхлээд тикетэд бич. Энэ нь хамгийн хямд алхам бөгөөд хайлтын орон зайн ихэнх хэсгийг арилгана.
UDP ба TCP-ийн хооронд шийдэх гурван нөхцөл
Инкапсуляцлагдсан IPsec урсгал UDP-ээр явдаг бөгөөд UDP замд хэнд ч хэлэхгүйгээр дахин эрэмбэлэх, хаях эрх чөлөөг өгдөг. Дахин эрэмбэлэлт пакетуудыг туннелийн давталтын эсрэг цонхноос гадагш түлхэхэд тэдгээр нь чимээгүй хаягдаж, дотоод TCP сесс зүгээр л хүлээнэ. Амжилттай handshake ба хэзээ ч буцаж ирдэггүй асуулгын ард байгаа механизм энэ юм.
Замыг засах эсвэл TCP руу буцах нь гурван зүйлээс хамаарна. Нэгд, зам дээр бодит пакет алдагдал байна уу, эсвэл зөвхөн дахин эрэмбэлэлт үү? Хоёрт, шалгалт хаана явагддагийг өөрчилж чадах уу, эсвэл энэ туннелийг дахин эрэмбэлдэг бүрэлдэхүүн хэсгээс хасаж чадах уу? Гуравт, ажлын ачаалал гацалтын хэв маягт мэдрэмтгий юу, жишээ нь нэг холбоосыг хуваалцдаг олон мультиплекс сесс?
Хэрэв эхний хариулт алдагдал, хоёр дахь нь үгүй бол,443 дахь TCP нь прагматик хувилбар. Хэрэв хоёр дахь хариулт тийм бол замыг засаж, UDP-г үлдээ.
Програмын алдааг биш, галт ханын бүртгэлийг унш
Програм таймаутын тухай мэдээлдэг бөгөөд энэ нь шалтгааны талаар юу ч хэлэхгүй. Галт ханын өөрийн лог нь хаялт эсвэл блоклолт илрэх газар тул мэдээллийн сан, програмын хаягаар шүүж, хүлээн авалтын зэрэгцээ хаялтыг ч хай.Аюулаас сэргийлэх модулиуд програмын түвшинд алдаа үүсгэлгүйгээр пакетыг хаяж чадна, энэ нь гацаж буй асуулгын яг хэлбэр юм. Лог дахь чимээгүй байдал ч мэдээлэл: энэ нь лог хөтлөдөггүй зүйл рүү, жишээ нь дахин эрэмбэлэлт рүү заана.
Кластерыг ч шалга. Буруу тохируулсан кластер нэг гишүүний төлөвийн хүснэгтэд сессийг барьж, пакетууд өөр гишүүний замаар явж болох тул хариултууд төлөв байхгүй газарт ирдэг. Ийм гацалт санамсаргүй мэт харагддаг бөгөөд ачаалалтай хамааралгүй.
Ямар нэг зүйлийг өөрчлөхөөс өмнө хоёр төгсгөлийг харьцуул, пакетын тоо биш ирэх дарааллыг харьцуул:
tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcap443 дахь TCP танд үнэхээр юу өртөг болдог вэ
Туннелийг TCP руу шилжүүлэх нь дахин эрэмбэлэлтийн шинж тэмдгийг арилгана, учир нь завсрын хайрцаг одоо эрэмбэлэгдсэн урсгал харж байна. Энэ нь мөн TCP-over-TCP үүсгэдэг. Гадаад холболт дотоод холболтын аль хэдийн дахин илгээснийг дахин илгээдэг бөгөөд нэг алдагдал бүх мультиплекс сессийг нэгэн зэрэг зогсоож чадна. Цэвэр зам дээр энэ харагдахгүй. Алдагдалтай зам дээр эмчилгээ нь шинж тэмдгээс дор.
Солилцоо нь өөр хувилбар огт холболтгүй байх үед хүлээн зөвшөөрөгдөх бөгөөд үүнийг хэвийн гэж шингээхийн оронд хариуцлагатай этгээдтэй үл хамаарах зүйл болгон баримтжуулах хэрэгтэй.
Тээвэр, порт, жишээ асуулга, хэмжсэн үр дүн, мөн огноог тэмдэглэ. Тэр бүртгэлгүйгээр дараагийн инженер туршилтыг давтаж, үл хамаарах зүйл чимээгүйхэн архитектур болно.
Шийдвэрийг дахин хянах боломжтой байлга
Замын оношилгоо хурдан хуучирдаг. Завсрын хайрцгийг сольдог, модулийн тохиргоо өөрчлөгддөг, холбоос шинэчлэгддэг, 443 дахь TCP-ийн шалтгаан алга болдог ч тохиргоо үлддэг. Үл хамаарах зүйлд хяналтын огноо тавьж, UDP руу буцах боломж олгох нөхцөлийг нэрлэ.
Хоёр тээврийг жижиг асуулга болон том үр дүнгийн багцтай туршиж үз. Дахин эрэмбэлэлт хэмжээнээс хамаарсан гацалт хэлбэрээр илэрдэг бол сонсогчийн гэмтэл хоёр хэмжээг адил зогсоодог.