Корпоративтік VPN артындағы контейнердің ішінде DNS шешіледі, кіру беті жүктеледі, денсаулық тексеру нүктесі жауап береді, содан кейін HTTPS сұранысы уақыт шегіне жетпейінше тұрып қалады. Имиджді қайта құру және прокси айнымалыларын өзгерту ештеңе өзгертпейді, өйткені бұзылған бөлік имиджде емес. Клиент бір тасымалдау арқылы аутентификацияланады, үлкен деректерді екіншісі арқылы тасымалдайды, ал тек екіншісі бұзылған.

Екі тасымалдау, бір шатастыратын симптом

TLS негізіндегі корпоративтік клиент әдетте кәдімгі TLS қосылымы арқылы аутентификацияланады, содан кейін сессия үшін UDP негізіндегі екінші деректер арнасы туралы келіседі. Бұл екінші тармақ жұмыс істегенде өткізу қабілеті мен кідіріс жақсарады. Ол сүзілгенде немесе жолға сыймағанда, үлкен тасымалдауға дейінгінің бәрі сәтті болады, ал тасымалдаудың өзі тоқтайды, бұл дәл жоғарыдағы үлгі.

Контейнер бұл келіссөзді өзгертпейді; ол сыртқы пакеттер жүретін жолды өзгертеді. Хост контейнер ағынын аударады, сондықтан UDP датаграммалары клиенттің жергілікті сокетінен басқа бастапқы порттан шығады және орныққан TCP ағынына қарағанда әлдеқайда қысқа таймермен бітетін аударма жазбасы арқылы қайтады. Егер туннель хостта жұмыс істеп, контейнерде сәтсіз болса, қолданбаны кінәламас бұрын осы екі ағынды салыстырыңыз. Бұл салыстыру кез келген имидж қайта құрудан көбірек шешеді.

Интуициямен емес, тәжірибемен шешіңіз

Ең арзан тәжірибе UDP деректер арнасын өшіріп, сұранысты қайталайды. Жұмыс үстелінің қабығының орнына пәрмен жолы клиентін пайдаланыңыз, сонда жалауша шынымен қолданылады: openconnect vpn.example.net --user=you --interface=tun0 --no-dtls. Егер тұрып қалған сұраныс енді аяқталса, мәселе DTLS тармағында болды, ал қалғаны шу.

Нәтижені сол контейнерден екі бағытта да растаңыз: жалаушамен бір үлкен сұраныс және онсыз біреуі. Жалаушаны ұстанатын мінез-құлық өзгерісі дәлел; ақырында жүктелген бет дәлел емес.

Егер жалауша түзетсе, себебін анықтаңыз

Үш шарт бірдей симптом тудырады және түрлі жауап талап етеді. Жол UDP-ді толығымен сүзуі мүмкін, бұл жалаушаны сол желі үшін дұрыс тұрақты жауап етеді. Жол UDP-ге рұқсат беріп, үлкен датаграммаларды тастауы мүмкін, бұл сүзуге емес, MTU-ға меңзейді. Немесе жол соншалықты жоғалтуға толы болуы мүмкін, UDP тармағы TCP-ден нашар жұмыс істейді, бұл сыйымдылық туралы шешім, қолжетімділік туралы емес.

Айналып өту жолын құжаттамас бұрын оларды ажыратыңыз. Сүзу пакеттің кез келген өлшемінде сақталады, MTU мәселелері тек шектен жоғары көрінеді, ал жоғалту таза тұрып қалу емес, қайта жіберу және айнымалы кідіріс түрінде көрінеді. Әр тест клиент конфигурациясын өзгертпей себепті тарылтады.

Айналып өту жолын қалдырмас бұрын пакет өлшемін тексеріңіз

Егер себеп өлшем болса, туннель интерфейсі жол көтере алмайтын пакеттерді қабылдайды, ал пайдалы жүктеме өскен бойда мәселе кез келген тасымалдауда қайталанады. Интерфейстерді салыстырыңыз: хостта ip link show tun0, содан кейін желі параметрлерінде жазылған MTU-ды оқу үшін docker network inspect bridge. Аз таситын туннель астында әлі 1500 байтта тұрған контейнер көпірі әдеттегі табылым.

Туннель ішінде бөлшектеуге тыйым салу тестімен белгілі жақсы өлшемнен жоғары қарай зерттеңіз, содан кейін контейнер желісінің MTU-ын төмендетіңіз немесе туннельде TCP MSS-ті қысыңыз. Екі түзетудің кез келгені UDP жолын қайтадан пайдалы етеді және жалауша қажеттілігін алып тастайды, бұл сүзу себеп болмағанда жақсырақ нәтиже.

Немен алмасуға дайын екеніңізді шешіңіз

Деректер арнасы өшірілгенде туннель жүктемесін TCP қосылымының ішінде тасиды. Таза жолда бұл тек баяуырақ; жоғалтуы бар жолда бір жоғалған сегмент артындағының бәрін кешіктіреді және сыртқы қайта жіберу ішкімен бәсекелеседі. Бұл айырбас интерактивті әзірлеуге және шағын API шақыруларына сай, ал үлкен тасымалдауға немесе мобильді желілердегі ұзақ сессияларға нашар сай.

Қай нұсқаны таңдасаңыз да, туннельдің ақырында қай тасымалдауды қолданғанын және неліктен екенін жазыңыз. Біреу айлар бұрын қосқан жалаушаға үнсіз тәуелді контейнер келесі ақаулық, және оны жөндейтін адам жалауша сүзуге арналған айналып өту болды ма, әлде MTU тәжірибесінің қалдығы ма, білмейді.

Қатысты мақалалар