VPN ping жұмыс істейді, бірақ сайт қатып қалады: өлшемін тексеріңіз
Кішкентай эхо жауабы TCP тыңдаушысын да, үлкен тасымалды да тексермейді. Туннель MTU-ын төмендетудің алдында қатынау саясатын пакет өлшемінен ажыратыңыз.
Эхо жауаптары келеді, қашықтағы жұмыс үстелі жұмыс істейді, ал браузер берілгенше бос бетте отырады. Бұл үлгіге екі түсініктеме сәйкес келеді және олар бір мәселенің нұсқалары емес: қызметке ешқашан рұқсат бермеген саясат немесе тасымал өскенде сыймай қалатын пакеттер. Эхо жауабы екеуін де жоққа шығармайды.
Ең кіші сұрақтан ең үлкеніне қарай жүріңіз және әр қадамның шын мәнінде нені дәлелдегенін жазып алыңыз.
Эхо жауабы әлдеқайда кіші сұраққа жауап береді
Эхо жауабы мақсаттың IP стекі сіздің көзіңізден келген ICMP сұранысына жауап бергенін айтады. Ол сізге қажет портта TCP тыңдаушысының бар-жоғын, саясаттың сол портқа рұқсат беретінін немесе мақсат хосттың трафикті қақпадан тәуелсіз сүзетінін айтпайды. Бір қызметке рұқсат беретін қақпа екіншісін тастай алады, ал екі нысан да ping-ке жауап береді. Жауапты бір пакет пен бір бағыт туралы бір факт ретінде оқыңыз.
Басқа нәрсені түсіндіруден бұрын мақсатты және қызмет портын растаңыз. Сіз тексерген мекенжай мен қолданба қолданатын мекенжай кейде әртүрлі жазбалар, ал екі мекенжайға шешілетін ат мұны ықтимал етеді.
Қосылымның басталғанын анықтаңыз
Бірден қабылданбаған қосылым — тыңдаушының немесе саясаттың жауабы: бірдеңе жауап беріп, жоқ деді. Ашылып, содан кейін деректер қозғала бастағанда тұрып қалған қосылым өлшемге нұсқайды. Қол алысуды мүлде аяқтамайтын қосылым әдетте саясатқа немесе маршруттауға байланысты және бас тартуға емес, уақыт шегіне ұқсайды.
curl -v --max-time 10 https://internal.example/ -o /dev/null
ss -tn state established '( dport = :443 )'
MTU параметрлеріне қол тигізбес бұрын осы үшеуінің қайсысын байқағаныңызды жазыңыз. Бас тартылған қосылымды түзету үшін туннель өлшемін өзгерту өзгерісті текке кетіреді және нақты себепті біраз уақыт жасырады.
Өлшемді аталған санмен өлшеңіз
Тұрып қалу жүктеме кезінде пайда болғанда, фрагменттеуге тыйым салатын битті қойып, бір пакет өлшемін тексеріңіз және нәтиже мәнге ие болуы үшін арифметиканы көрсетіңіз. iputils бар Linux-та 1392 байт пайдалы жүктеме плюс 8 байт ICMP тақырыбы және 20 байт IPv4 тақырыбы дәл 1420 байт ішкі пакет жасайды. Бұл арифметиканы билетте көрсетіңіз, өйткені қақпаға жеткен жалаң ping қолданба туралы ештеңе дәлелдемейді.
ping -4 -M do -s 1392 10.44.0.10
ping -4 -M do -s 1372 10.44.0.10
Екі тексеру де өлшеу нүктелері, туннель өлшеміне ұсыныс емес. Егер ICMP жолдың қайсыбір жерінде сүзілсе, уақыт шегі өлшем туралы ештеңе айтпайды, өйткені сүзу мен тым үлкен пакет клиент жағынан бірдей көрінеді. Сәттілік те кері бағыт немесе басқа мақсат туралы ештеңе айтпайды.
Сыртқы жолды есепке алыңыз
Инкапсуляция өз тақырыптарын қосады, сондықтан сымдағы пакет туннель ішінде өлшеген пакеттен үлкен. Дәл осы екеуінің айырмасы жұмыс істейтін кіші сұраныс пен сәтсіз болатын үлкен сұранысты қатар мүмкін етеді.
IPv4-те жол MTU-ын анықтау фрагменттеусіз жіберуге болмайтын пакеттер туралы кері байланысқа тәуелді, ал IPv6 Packet Too Big хабарламаларын қолданады. IPv4 спецификациясы сол механизмді сипаттайды. Кері байланысты сүзу жіберушінің үйрену қабілетін бұзады және оны ешқашан сыймайтын пакеттерді қайта жіберуге қалдырады. Сондықтан жұмыс істейтін кіші сұраныс пен сәтсіз үлкен сұраныс соншалықты жайлы қатар өмір сүреді.
Бір санды өзгертіп, қолданбаны қайта тексеріңіз
Туннель MTU-ын төмендетіңіз немесе TCP үшін ең үлкен сегмент өлшемін шектеңіз, содан кейін тексерудің орнына қолданбаның бастапқы тестін қайталаңыз. Өзгерістен кейін сәтті болатын тексеру мен әлі де қатып тұрған қолданба — пішіні ұқсас басқа мәселе, және оларды тек қолданба тесті ажыратады.
Арифметиканы өзгеріс жазбасында сақтаңыз: өлшенген өлшем, болжаған қосымша шығыныңыз және орнатқан мәніңіз. Кейін оны қарап шығатын кез келген адам болжамды ping скриншотынан қайта шығарудың орнына тексере алады.
Егер қолданба сіз сынаған әрбір өлшемде жұмыс істесе, сандарды реттеуді тоқтатып, жұмыс істейтін қызметті сәтсіз қызметтен ажырататын саясатқа қараңыз.