UDP-VPN jääb jõudeolekus seisma: tulemüür unustas sinu voo
Tulemüür võib jõudeolekus UDP-vastenduse maha visata, samal ajal kui klient näitab endiselt seanssi. Mõõda seiskumist, leia lühim taimer ja vali parandus.
VPN ühendub, töötab mõnda aega ja lakkab seejärel liiklust läbi laskmast, samal ajal kui klient näitab endiselt seanssi. Ümberühendamine parandab selle, mistõttu tundub see kliendi veana. Tavaliselt on põhjuseks tulemüür või NAT-seade, mis viskas maha jõudeolekus UDP-vastenduse ega tea, et tunnel on endiselt olemas.
Sümptom on diagnoosimiseks piisavalt järjekindel: see ilmneb pärast tegevusetust, mitte koormuse all.
Kuidas jõudeoleku seiskumine välja näeb
Mõõda seda, mitte kirjelda. Pane kirja, kui kaua tunnel enne liikluse seiskumist jõude seisab, kas uus väljuv pakett selle taaselustab ja kas kliendi liides hoiab endiselt oma aadressi. Kui kliendi värske päring töötab, aga vastus olemasolevale voolule mitte, on kahtlusalune vastendus. Kui miski ei tööta enne ümberühendamist, on ka kliendi seansi olek kadunud.
Mõlemad on seotud jõudeolekuga ja vajavad erinevaid parandusi.
Kirjuta ajad üles enne, kui midagi muudat. Aruanne, et see seiskuvad umbes kümne jõudeoleku minuti järel, on kontrollitav, samas kui aruanne, et see kukub juhuslikult, ei ole. See erinevus otsustab, kas ajad taga taimerit või marsruudimuudatust.
Leia seade, mis unustas
Sama voo olekut võib hoida mitu seadet: kohalik ruuter, ülalpool asuv tõlkija, pilvepiir ja hosti tulemüür. Igal on oma taimer ja võidab lühim. Viie minuti katkestus tähendab tavaliselt, et üks seade on teistest tunduvalt madalamale seadistatud.
Ära eelda, et dokumenteeritud vaikeväärtus on sinu teekonna timeout. See on ühe seadme vaikeväärtus.
- Koduruuter: sageli minutid, mõnikord palju vähem.
- Pilve-NAT või koormusjaotur: otsi dokumenteeritud jõudeoleku timeout spetsiaalselt UDP jaoks.
- Hosti tulemüür: netfilteri jälgimistaimerid kehtivad iga voo kohta.
Kontrolli taimereid tegelikul teekonnal
Linuxis on netfilteri jälgimistaimerid nähtavad ja reguleeritavad: sysctl net.netfilter.nf_conntrack_udp_timeout ja net.netfilter.nf_conntrack_udp_timeout_stream. Teine kehtib siis, kui liiklust on nähtud mõlemas suunas, mistõttu võib püstitatud tunnel tavalisele proovile vastu pidada.
RFC 4787 kirjeldab UDP NAT-i käitumist ja soovitatud miinimume. See on viide, mida tsiteerida, kui müüja vaikeväärtus tundub ebatavaliselt lühike.
Keepalive ja ümberühendamine on erinevad tööriistad
Keepalive hoiab vastenduse elus; ümberühendamine ehitab surnud seansi uuesti üles. Need lahendavad erinevaid tõrkeid ega ole vahetatavad kiirusseaded. WireGuardi PersistentKeepalive saadab paketi kindla intervalliga, et hoida NAT-i sidet lahti. OpenVPNi keepalive valik teeb sama tööd omal moel. Kumbki ei aita, kui vahepealne seade on voo juba unustanud ja viskab maha mõlemad suunad.
Väga sagedased proovid lisavad tööd, parandamata vale piiri.
Kontrolli uue päringuga, mitte lehe värskendamisega
Pärast taimeri muutmist või keepalive'i lisamist korda jõudeoleku stsenaariumi täpselt nagu varem. Seejärel tee kaetud rakendusest tõeliselt uus päring. Juba laaditud brauseri vahekaart võib kuvada vahemälust ega ütle sulle midagi.
Kui seiskumine püsib, liigu üks hüpe väljapoole ja kontrolli selle seadme olekutabelit.