UDP VPN sustoja be veiklos: ugniasienė pamiršo jūsų srautą
Ugniasienė gali išmesti neveikų UDP susiejimą, kol klientas vis dar rodo sesiją. Išmatuokite sustojimą, raskite trumpiausią laikmatį ir pasirinkite sprendimą.
VPN prisijungia, kurį laiką veikia ir tada nustoja praleisti srautą, nors klientas vis dar rodo sesiją. Pakartotinis prisijungimas tai sutvarko, todėl atrodo kaip kliento klaida. Paprastai tai ugniasienė arba NAT įrenginys, kuris išmetė neveikų UDP susiejimą ir nežino, kad tunelis dar egzistuoja.
Simptomas pakankamai nuoseklus diagnozei: jis pasirodo po neveiklumo, o ne esant apkrovai.
Kaip atrodo sustojimas dėl neveiklumo
Išmatuokite, o ne aprašykite. Užsirašykite, kiek laiko tunelis būna neveikus prieš sustojant srautui, ar naujas išeinantis paketas jį atgaivina ir ar kliento sąsaja vis dar laiko savo adresą. Jei nauja kliento užklausa veikia, o atsakymas į esamą srautą ne, susiejimas yra įtariamasis. Jei niekas neveikia, kol neprisijungsite iš naujo, kliento sesijos būsena taip pat prarasta.
Abu susiję su neveiklumu, ir jiems reikia skirtingų pataisų.
Užsirašykite laikus prieš ką nors keisdami. Pranešimas, kad sustoja po maždaug dešimties neveiklumo minučių, yra patikrinamas, o pranešimas, kad krinta atsitiktinai, ne. Šis skirtumas nusprendžia, ar vejatės laikmatį, ar maršruto pakeitimą.
Raskite įrenginį, kuris pamiršo
Keli įrenginiai gali laikyti būseną tam pačiam srautui: vietinis maršrutizatorius, aukščiau esantis vertėjas, debesijos riba ir prieglobos ugniasienė. Kiekvienas turi savo laikmatį, ir laimi trumpiausias. Penkių minučių pertrauka paprastai reiškia, kad vienas įrenginys sukonfigūruotas daug žemiau už kitus.
Nelaikykite, kad dokumentuota numatytoji reikšmė yra jūsų kelio laiko limitas. Tai vieno įrenginio numatytoji reikšmė.
- Namų maršrutizatorius: dažnai minutės, kartais daug mažiau.
- Debesijos NAT arba apkrovos balansuotojas: pasižiūrėkite dokumentuotą neveiklumo laiko limitą būtent UDP.
- Prieglobos ugniasienė: netfilter sekimo laikmačiai galioja kiekvienam srautui.
Patikrinkite laikmačius realiame kelyje
Linux sistemoje netfilter sekimo laikmačiai matomi ir reguliuojami: sysctl net.netfilter.nf_conntrack_udp_timeout ir net.netfilter.nf_conntrack_udp_timeout_stream. Antrasis galioja, kai srautas jau matytas abiem kryptimis, todėl nustatytas tunelis gali pergyventi paprastą zondą.
RFC 4787 apibrėžia UDP NAT elgseną ir rekomenduojamus minimumus. Tai nuoroda, kurią cituoti, kai tiekėjo numatytoji reikšmė atrodo neįprastai trumpa.
Keepalive ir pakartotinis prisijungimas yra skirtingi įrankiai
Keepalive palaiko susiejimą gyvą; pakartotinis prisijungimas atstato mirusią sesiją. Jie sprendžia skirtingus gedimus ir nėra keičiami greičio nustatymai. WireGuard PersistentKeepalive nustatymas fiksuotu intervalu siunčia paketą, kad NAT ryšys liktų atviras. OpenVPN keepalive parinktis tą patį darbą atlieka savaip. Nė vienas nepadeda, jei įrenginys viduryje jau pamiršo srautą ir meta abi kryptis.
Labai dažni zondai prideda darbo nesutvarkę neteisingos ribos.
Tikrinkite nauja užklausa, o ne puslapio perkrovimu
Pakeitę laikmatį arba pridėję keepalive, pakartokite neveiklumo scenarijų lygiai taip pat, kaip anksčiau. Tada iš padengtos programos pateikite tikrai naują užklausą. Jau įkeltas naršyklės skirtukas gali būti atvaizduotas iš podėlio ir nieko nepasakys.
Jei sustojimas tęsiasi, pajudėkite vienu šuoliu į išorę ir patikrinkite to įrenginio būsenos lentelę.