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

Екі сан, екі нысан

MTU байланыс желісіне немесе интерфейске тиесілі: ол бөлшектемей жеткізуге болатын ең үлкен пакет. MSS TCP-ге тиесілі: ол сегмент тасымалдай алатын TCP жүктемесінің ең үлкен мөлшері және TCP мен IP тақырыптарының екеуін де қоспайды. IPv4 бар қарапайым Ethernet желісінде 1500 байттық MTU танымал 1460 байттық MSS береді. Бұл сандар әртүрлі қабаттарды сипаттайды және әртүрлі механизмдермен алмасады. Оларды шатастыру оңай, өйткені екеуі де байтпен өлшенеді және екеуі де 1500-ге жақын.

Біреуі интерфейс параметрі ретінде келеді. Екіншісі SYN сегментінің ішіндегі опция ретінде келеді және сіздің интерфейсіңізді ешқашан көрмейтін ұштарының арасында келісіледі.

Сыртқы қосымша жүктеме қайда түседі

VPN ішкі пакетті басқа пакеттің ішіне салады, ал сыртқы пакет физикалық жолға сыйылуы керек. Инкапсуляция тақырыптары, сыртқы IP тақырыбы, көлік тақырыбы және кез келген аутентификация белгісі ішкі пакет пайдалана алмайтын байттарды жұмсайды. Туннель интерфейсін 1500-де қалдырсаңыз, сыртқы пакет жолдың тасымалдай алатынынан үнемі асып түседі. 'Бөлшектемеу' биті қойылғанда, маршрутизатор оны тастап, ICMP қатесін қайтаруы керек; егер бұл қате сүзілсе, жіберуші бұл туралы ешқашан білмейді.

Сондықтан ақау таңдамалы көрінеді. Кішкентай сұраныстар аяқталады, ал сегментті толтыратын кез келген нәрсе тоқтайды, өйткені тек үлкен пакеттер ғана тасталады. Пингті өткізетін туннель деректерді тасымалдайтын туннель емес.

MSS-ті шектеу және ол қайда қолданылады

MSS шектеуі таңдалған нүктеден өткенде SYN сегментіндегі мәнді қайта жазады, осылайша екі ұш та неге екенін білмей-ақ кішірек жүктемені таңдайды. Linux-та бұл нақты ережемен қолданылатын mangle кестесінің мақсаты, және ол SYN пакеттерін сіз қалаған бағытта соғуы керек. Оны туннель интерфейсімен және мекенжай ауқымымен шектеңіз, өйткені кең ереже туннельге ешқашан кірмейтін трафиктің әрекетін өзгертеді.

Әсер тек TCP-ге қатысты. UDP қолданбасы, QUIC сессиясы және өз датаграммаларын құрастыратын кез келген протокол оған тимейді.

Бекітілген жолмен диагностика жасаңыз

Бір уақытта бір айнымалыны ұстаңыз. Өлшемін өзіңіз таңдайтын пакетпен тексеріңіз, және ядро нәтижені жасырмай хабарлауы үшін 'бөлшектемеу' жалаушасын қойыңыз.

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

Әр өзгеріс нені түзетпейді

Интерфейстің MTU-ын төмендету әлдеқашан орнатылған сессияның MSS-ін өзгертпейді. MSS-ті шектеу UDP ағынына көмектеспейді және ICMP қателері тек бір бағытта сүзілетін жолды жөндеп бермейді. Әр өзгеріс мәселенің бір сыныбын түзетіп, қалғанын қандай болса солай қалдырады.

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

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