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-де қалыңыз.
Қолданба қатесін емес, firewall жазбасын оқыңыз
Қолданба таймаут туралы хабарлайды, бұл себеп туралы ештеңе айтпайды. Firewall-дың өз журналы — тастау немесе бұғаттау көрінетін жер, сондықтан дерекқор мен қолданба мекенжайлары бойынша сүзіп, қабылдаулармен қатар тастауларды да іздеңіз.Қауіптің алдын алу модульдері қолданба деңгейінде қате жасамай-ақ пакеттерді тастай алады, және бұл ілініп қалған сұраудың дәл пішіні. Журналдағы үнсіздік те дерек: ол журнал жүргізбейтін нәрсеге, мысалы қайта реттеуге нұсқайды.
Кластерді де тексеріңіз. Дұрыс конфигурацияланбаған кластер сессияны бір мүшенің күй кестесінде ұстап, пакеттер басқа мүшенің жолымен жүруі мүмкін, сондықтан жауаптар күй жоқ жерге келеді. Мұндай тоқыраулар кездейсоқ көрінеді және жүктемемен байланыспайды.
Бірдеңені өзгерту алдында екі ұшты салыстырыңыз және пакет санын емес, келу ретін салыстырыңыз:
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-ге қайтуға мүмкіндік беретін шартты атаңыз.
Екі тасымалдауды кіші сұраумен және үлкен нәтиже жиынтығымен сынап көріңіз. Қайта реттеу өлшемге тәуелді тоқырау ретінде көрінеді, ал тыңдаушы ақауы екі өлшемді де бірдей тоқтатады.