Tunelis nutrūksta, maršrutizatorius įrašo pakartotinį prisijungimą, o vietiniame tinkle niekas nepajudėjo. Naujas WAN adresas anuliuoja išorinį ryšį nieko nekeisdamas viduje: pasikeitė kliento šaltinio adresas, sena NAT būsena rodo į šaltinį, kurio jau nėra, o nuotolinis bendraamžis galbūt vis dar siunčia ankstesniu adresu. Atsistatymas yra įprastas elgesys, o naudingas klausimas — kuri būsena nebuvo atnaujinta.

Pavadinkite įvykį prieš skaitydami žurnalą

Patikrinkite, kas iš tikrųjų įvyko prieigos sluoksnyje. ISP nuomos atnaujinimas yra vienas įvykis. Iš naujo prisijungusi PPPoE sesija yra kitas. Perkrautas šviesolaidžio modemas arba WAN perjungimas iš vieno kanalo į kitą išorinį adresą ar jo kelią keičia trečiuoju būdu. Tai ne tas pats įvykis ir jie nepalieka tų pačių likučių.

Pakartotinio prisijungimo eilutė VPN žurnale taip pat nėra WAN pasikeitimo įrodymas. Neveiklumo skirtasis laikas, pakartotinės autentifikacijos intervalas ir mirusio bendraamžio aptikimas visi sukuria pakartotinius prisijungimus be jokio adreso pasikeitimo. Prieš darydami bet kokią išvadą palyginkite prieigos žurnalo laiko žymes su VPN žurnalu, o palyginimo langą laikykite pakankamai platų, kad sugautų naktį įvykusį pasikeitimą.

Tarptinklinis ryšys ir pakartotinis prisijungimas yra skirtingi protokolai

WireGuard turi autentifikuotą tarptinklinį ryšį, įmontuotą į protokolą: kai bendraamžis gauna teisingai autentifikuotą paketą iš naujo šaltinio adreso, jis atnaujina to bendraamžio galinį tašką. WireGuard greitasis vadovas aprašo bendraamžio konfigūraciją, kuri tai įgalina, todėl klientas kintančiu adresu dažnai atsistato be matomo paleidimo iš naujo.

OpenVPN pagal nutylėjimą elgiasi kitaip. UDP sesija gali pasibaigti ir vėl prisijungti, o neprivalomas float elgesys leidžia autentifikuotam bendraamžiui tęsti iš naujo adreso ten, kur konfigūracija tai leidžia. TCP pagrįsti tuneliai yra griežtesni, nes pats ryšys yra susietas su adresų pora. Šis skirtumas nulemia, ar atsistatymas atrodys nematomas, ar kiekvieną kartą paskelbs save žurnale.

Nė vienas elgesys nieko nesako apie programėles viduje. Atkurtas tunelis neatkuria TCP sesijos, kurią bendraamžis jau laikė mirusia.

Būsena, kurios tunelis neturi

Vertimo ir maršrutizavimo būsena išgyvena pakartotinį prisijungimą būdais, kurie stebina žmones. Senajam šaltiniui sukurta conntrack įrašas atsakymo kelią laiko pririštą prie adreso, kurio jau nėra, ir jis baigiasi pagal savo grafiką, o ne tada, kai tunelis grįžo. Tunelio tarnybos paleidimas iš naujo to laukimo nesutrumpina, todėl suremontuota jungtis dar kurį laiką gali atrodyti sugedusi.

Maršrutai ir politikos taisyklės gali nurodyti senąją tinklų sietuvą ar sąsają. Taisyklių rinkinys, kuris buvo teisingas prieš WAN perjungimą, gali rodyti į įrenginį, kuris dabar neveikia, o tai sukuria tunelį, kuris praneša esąs prijungtas, ir srautą, kuris niekur neina. Dinaminis DNS serveriui, kurį prieglobstate, yra atskira problema nuo kliento, gaunančio naują šaltinį. Įrašą reikia atnaujinti, kad nuotoliniai klientai jus rastų, ir jokia kliento pusės konfigūracija nekompensuoja adreso, kurio aukštupio vertimas neperduos.

Išdėstykite patikras iš išorės į vidų

Toliau pateikta tvarka eina nuo išorinio ryšio į vidų, ir sustojimas prie pirmo nepavykusio žingsnio yra tai, kas ją daro naudingą: kiekvienas patikrinimas atmeta aukščiau esantį sluoksnį. Laikykitės šios tvarkos net kai gedimas atrodo akivaizdus.

wg show
ip -br addr show
ip route get 198.51.100.7
conntrack -L 2>/dev/null | grep -c ESTABLISHED
journalctl -u openvpn-client@home --since '-2 hours' | tail -n 40

Pirmoji komanda parodo dabartinį galinį tašką ir kiekvieno bendraamžio rankos paspaudimo amžių. Antroji ir trečioji parodo, ar išorinė sąsaja ir maršrutas iki galinio taško dar turi prasmę. conntrack skaičius yra apytikrė patikra būsenos, likusios nuo ankstesnio adreso, o žurnalas yra vieta, kur įrašoma pakartotinio prisijungimo priežastis.

Tada testuokite iš LAN kliento, o ne iš maršrutizatoriaus. Maršrutizatoriaus paties siųstas ping naudoja kitą kelią nei perduodamas srautas, todėl sėkmingas maršrutizatoriaus ping įrodo, kad tunelis egzistuoja, ir nieko apie kliento pasiekiamumą.

Nuspręskite tikėtiną elgesį ir užrašykite jį

Pakartotinis prisijungimas yra teisingas elgesys daugumai diegimų, todėl tikslas nėra jo užkirsti kelio. Vietoj to nuspręskite, kas turi nutikti srautui pertraukos metu: jį sustabdyti, sulaikyti ar pereiti prie kito kelio. Šis sprendimas priklauso užkardai ir maršrutizavimo politikai, o ne VPN profiliui.

Fiksuokite prieigos įvykius ir pakartotinio prisijungimo laikus kartu savaitę. Pasikartojantys pasikeitimai be atitinkamo prieigos įvykio rodo prieigos paslaugą, o VPN profilio pakeitimas nesutaisys kanalo, kuris nuolat iš naujo derasi. Viena įrašų pora tą pačią minutę išspręs to įvykio klausimą ir duos kitam atspirties liniją.

Susiję straipsniai