Які NAT-скок скідвае прастойнае VPN-адлюстраванне і як гэта вызначыць
Прастойны VPN-паток можа памерці на любым скоку, які захоўвае стан. Паўтарыце адзін тэст, параўнайце, што бачыла кожная мяжа, і паведамце пра абмежаваны вынік замест угаданага віноўніка.
Пасля ціхага перыяду тунель перападключаецца, ніводзін журнал не называе віноўніка, і відавочны крок — выбраць прыладу з самым уражлівым апісаннем тайм-аўту. Гэта здагадка, пераапранутая ў дыягназ. Стан можа пэўны час трымацца ў хатнім маршрутызатары, у транслятары аператара і на ўскрайку хмары, і любы з іх можа скінуць паток, які змоўк. Што можна зрабіць замест гэтага — скласці карту шляху, адзначыць, якія прылады вы сапраўды можаце назіраць, і правесці адзін прастойны тэст, які можна паўтарыць.
Паўторны тэст ператварае гісторыю ў вымярэнне. Усё ніжэй мяркуе аднаго кліента, адзін сервер і адзін пратакол, а таксама тое, што вы стрымліваецеся ад змены дзвюх зменных адначасова. Мэта — зрабіць наступны выпадак таннейшым за гэты.
Праводзьце адзін і той жа прастойны тэст кожны раз
Запішыце, калі паток апошні раз быў спраўным, колькі ён пасля прастаяў і ці вярнуў яго адзін свежы пакет. Гэтыя тры факты і ёсць вымярэнне; без іх у вас ёсць гісторыя пра ноўтбук, які адваліўся. Выкарыстоўвайце аднаго кліента, адзін сервер і адзін пратакол пры кожным паўторы і адзначце момант, калі быў адпраўлены першы пакет пасля цішыні.
Затым параўнайце, што насамрэч бачыла кожная мяжа, якой вы валодаеце. Размежаванне, якое вырашае расследаванне, — ці сервер не ўбачыў наогул нічога пасля паўзы, ці ўбачыў запыт і адказаў у шлях, які ўжо не нёс адказы.
| What you observe | What it suggests | What it does not prove |
|---|---|---|
| server records no packet after the pause | state was lost upstream of the server | which hop dropped it |
| server answers, client never receives | return-path state or filtering | that the timer belongs to the client |
| client sends nothing at all | client-side timer or application behaviour | that the network path is healthy |
Параўнанне шляхоў без змены пяці рэчаў
Другая дазволеная сетка доступу — законнае параўнанне, бо ланцуг NAT адрозніваецца. Яна таксама адрозніваецца па правайдэры, радыёўмовах і, магчыма, сямействе адрасоў, таму вынік — гэта мяжа, а не прыпісванне. Запісвайце абмежаванні разам з вынікам, а не ціха адкідайце іх пры паведамленні. Заадно запішыце шлях: прылада, роля і ці можна ўвогуле прачытаць яе стан.
Параўнанне шляхоў дае вам абмежаванае пытанне: паток выжывае на адным і гіне на другім пасля падобнай цішыні, значыць, зменная знаходзіцца дзесьці ў тых частках, што адрозніваюцца. Гэта сапраўдны вынік, нават калі ніводная прылада не названая, і ён паказвае наступнаму інжынеру, дзе правесці паўдня, а дзе не.
Лакальны стан варта прачытаць, перш чым меркаваць пра аператараў. На шлюзе Linux conntrack -L пералічвае адсочваныя патокі з іх пакінутым тэрмінам жыцця, што ператварае здагадку пра таймер у лік, за якім можна назіраць, як ён сканчаецца. Чытайце яго да і пасля прастойнага перыяду, а не толькі пасля.
Што ўтрымае сігнал падтрымання, а што — не
Падтрыманы сігнал падтрымання трымае адлюстраванне адкрытым, і адкрытае адлюстраванне нічога не даказвае пра службу за ім. Тунель можа заставацца адлюстраваным, пакуль праграма, якую ён нясе, ужо перастала адказваць, і з пункту гледжання індыкатара стану гэтыя дзве сітуацыі выглядаюць аднолькава. Стаўцеся да сігналу падтрымання як да страхоўкі ад заканчэння прастою, а не як да праверкі здароўя.
Усталюйце інтэрвал паводле самага кароткага тайм-аўту, які вы сапраўды вымералі, а не паводле ліку, скапіяванага з форуму. Сігнал падтрымання, наладжаны ніжэй за любы магчымы таймер, — гэта трафік, які нікому не спатрэбіўся, і ён таксама прыбірае сімптом, які сказаў бы вам, якая мяжа сканчаецца першай. Выбірайце інтэрвал паводле вымеранага ліку і пакіньце ўсё астатняе ў спакоі.
Адна змена, затым зноў вымярэнне
Стрымлівайце жаданне падняць кожны тайм-аўт і скінуць кожны шлюз падчас жывога тэсту. Гэта сцірае доказы, за якімі вы прыйшлі, і перарывае патокі іншых людзей, што дрэнны абмен для гіпотэзы, якую вы не правяралі. Змяніце адну падтрыманую наладу на адной прыладзе, потым паўтарыце прастойны перыяд і аднаўленне праграмы.
Запішыце, якое назіранне мяжы зрушылася, і запішыце нават тады, калі нічога не палепшылася. Налада, якая нічога не выправіла, — гэта інфармацыя, і заўважыць гэта аднойчы танней, чым пракаціць па ўсім гаспадарцы.
Як напісаць выснову, якую можна абараніць
Калі транслятар вышэй па шляху немагчыма даследаваць, кажыце толькі тое, што падтрымліваюць доказы: абмен гіне дзесьці на гэтым участку шляху пасля столькіх цішыні, а адказны скок застаецца нявызначаным. Абмежаванае сцверджанне вытрымлівае разгляд і накіроўвае наступнага чалавека на правільны сегмент. Называнне схаванага маршрутызатара прычынай не робіць ні таго, ні другога. Перадайце абмежаваную выснову таму, хто валодае неназіраным сегментам, разам з інтэрвалам.
RFC 4787 апісвае, чаму таймеры адлюстравання UDP цяжка вывесці з аднаго канца, і менавіта гэтая цяжкасць робіць абмежаваную выснову сумленнай. Таймеры рэальныя, і няпэўнасць вакол іх таксама.