Беттер ашылады, бірақ VPN-де жүктеулер тоқтайды: қай себеп жеңеді
Өлшемге тәуелді тоқтау жолдың MTU ақауына сай келеді, сондай-ақ DNS, қолданба шегі немесе тұрақсыз туннельге де сай келеді. Қайсысы екенін төрт байқау шешеді.
Беттер ашылады, VPN қосылғанын хабарлайды, ал файлды жүктеу әр жолы дәл сол жерде қатып қалады. Бұл сипаттамаға төрт түсініктеме сай келеді: пакет өлшемінің мәселесі, аттарды шешу мәселесі, қолданба шегі және үнемі қайта қосылатын туннель. Олардың әрқайсысын басқа байқау арқылы растауға немесе жоққа шығаруға болады, сондықтан шешім себепті болжау емес, дұрыс тест таңдау мәселесі.
Төрт үміткер және бір пішін
Сәтсіздіктің пішінінен бастаңыз, өйткені ол кез келген құралды ашпас бұрын тізімнің көп бөлігін алып тастайды. Тұрақты өлшемде болатын тоқтау керісінше дәлелденбейінше өлшем мәселесі. Кездейсоқ жерлерде болатын тоқтау жоғалту немесе тұрақтылық мәселесі. Қосылым ашылмай тұрып болатын сәтсіздік — ат мәселесі.
Төртінші үміткер — қолданба. Жүктеу шектеулері, сұраулардың уақыт шектері және проксидің дене өлшемі шектері браузерден желі ақауына ұқсайтын сәтсіздіктер тудырады, және олар әдетте тоқтау емес, бас тарту ретінде келеді.
Бірдеңе сынамас бұрын байқалған пішінді жазып қойыңыз. «Шамамен сол байт санында, әр жолы, туннель қосулы кезде тоқтайды» — «жүктеулер жұмыс істемейді» дегеннен әлдеқайда күшті бастау нүктесі.
Содан кейін сынау кезінде жолды өзгеріссіз ұстаңыз. Шығысты, протоколды және серверді бір уақытта өзгерту ешқайсысына телуге болмайтын нәтиже береді. Әр жүгіріске бір айнымалы, және оны жазып қойыңыз.
Саясатқа тимес бұрын өлшемді екіге бөліңіз
Ең арзан айырғыш — бір санды өзгертетін сынақ. Мақсатқа өсу ретімен, бөлшектеуге тыйым салынған ping жіберіңіз, өзіңіз бақылайтын файлды сол қызметке жүктеңіз, содан кейін әрқайсысы қай жерде тоқтайтынын салыстырыңыз.
ping -M do -s 1472 203.0.113.9
curl -T ./probe.bin -o /dev/null -w '%{size_upload} %{time_total}
' https://example.net/uploadБірінші команда толық өлшемді пакеттің жолдан өтуін жалпы тексереді. MTU 1500 байт болғанда, бөлшектелмейтін ең үлкен ICMP пайдалы жүктемесі 1472 байт, ал туннель ішкі пакет басталғанға дейін осы бюджеттен одан да көп алады. Екіншісі қолданба деңгейіндегі тасымал үшін өлшем мен ұзақтық береді, ал бұл — шын мәнінде маңызды сан.
| Candidate | Observation that confirms it | Observation that rules it out |
|---|---|---|
| Path MTU or blocked ICMP feedback | Stall at a consistent size; large do-not-fragment probes fail | Small and large transfers both complete |
| Name resolution | The connection never opens for that name | The connection opens and then stalls mid-transfer |
| Application or proxy limit | A clean rejection at a documented size | No log entry on the server at all |
| Tunnel instability | Reconnects or rekeying during the transfer | The tunnel uptime is unchanged across the failure |
Екеуін бірге оқыңыз. Шектен жоғары сәтсіз болатын сынақтар мен сол шекке жақын тоқтайтын жүктеу — бұл үйлесімді әңгіме. Барлық сынақ сәтті болса да, жүктеу жол анық көтеретін байт санында тоқтаса, бұл қолданбаға немесе серверге нұсқайды, және MTU-мен қанша жұмыс істесеңіз де оны өзгертпейді. Бұл теріс нәтиже оң нәтижедей құнды. Ол тергеудің ең қымбат тармағын алып тастайды.
Содан кейін тасымал кезіндегі тұрақтылықты тексеріңіз, өйткені үлкен жүктеудің ортасында кілтті жаңартатын туннель өлшемге тәуелді көрінетін, бірақ ондай болмайтын сәтсіздік тудырады. Жұмыс уақытының көрсеткіші мұны растаудың ең арзан жолы.
Жөндеу мен айналып өту арасында таңдаңыз
Егер дәлелдер өлшемге нұсқаса, екі адал жауап және бір адал емес жауап бар. Адалдары — қажетті ICMP кері байланысына рұқсат беру арқылы жолдың MTU анықтауын қалпына келтіру немесе хабарланған сегмент өлшемін шектеп, серіктестер кішірек сегменттер жіберуі. Адал емесі — интерфейс MTU-ын форумнан көшірілген мәнге дейін төмендетіп, оның нені өзгерткенін ешқашан тексермеу.
Таңдау нені бақылайтыныңызға байланысты. Өзіңіз басқаратын желіде ICMP хабарларына рұқсат беру тазарақ жөндеу, өйткені ол механизмді әр протокол үшін жұмыс қабілетті күйде ұстайды. Өзіңіз бақыламайтын жолда шектеу практикалық нұсқа, және оны бүкіл серверге емес, тар қолдану керек.
Егер дәлелдер қолданбаға нұсқаса, қолданбаны немесе оның прокси конфигурациясын жөндеңіз. 413 жауабы мен ілініп қалған қосылым — әртүрлі сәтсіздіктер, ал екіншісі әдетте өз шектеулері бар проксиді қамтитын тізбектің бір жеріндегі уақыт шегі.
Қалай болғанда да, бастапқы мәндерді сақтап, қайтарғаннан кейін қайта сынаңыз. Жұмыс істеп тұрған тасымалмен сәйкес келген өзгеріс оның себебі болғанына дәлел емес, ал кері қайтару мүмкіндігі — диагнозды кездейсоқтықтан ажырататын нәрсе.
Шешімді жазып қойыңыз, ол келесі оқиғаға дейін сақталсын
Төрт факт жеткілікті: байқалған сәтсіздік пішіні, сынақ нәтижелері, сіз жасаған өзгеріс және қайта сынау нәтижесі. Олармен келесі адам мәселенің сол ма, әлде сол симптоммен жаңасы ма екенін айта алады.
Жол контекстін де белгілеңіз, өйткені MTU тұжырымы нақты буынға қатысты. Үйде жұмыс істеп, қонақүйде сәтсіз болатын ноутбуктің екі жолы бар, ал біреуіне қолданылған түзету екіншісі туралы ештеңе айтпайды.
Соңында, «VPN жүктеулерді бұзды» деген қорытындыға қарсы тұрыңыз. Туннель жұмыс істегенде де, сәтсіз болғанда да болды; өзгергені — жол көтеруі тиіс пакеттің өлшемі немесе тасымал тоқтатылған жер. Нақты механизмді атау жазбаны пайдалы етеді.