VPN sa stále odpája? Prejdite to v tomto poradí
Zapíšte interval, chybu klienta a stav siete, skôr než čokoľvek zmeníte. Medzera medzi odpojeniami vám povie, ktorú zo štyroch vrstiev skontrolovať.
Skôr než klienta preinštalujete, zapíšte tri veci: ako dlho bol tunel aktívny, čo klient povedal pri odpojení a či stroj medzitým spal alebo zmenil sieť. Tá poznámka je jediný dôkaz, ktorý neskôr budete mať, a preinštalovanie ju zvyčajne zmaže. Odpojenie v opakujúcom sa intervale je časovač alebo vypršanie stavu; odpojenie v náhodnom okamihu je problém cesty. Poradie nižšie vám bráni zmeniť tri veci naraz a nedozvedieť sa nič.
Prvý krok: zaznamenajte interval a text chyby
Začnite vlastným logom klienta, nie panelom poskytovateľa. V klientovi na Linuxe pokrýva väčšinu z toho log služby plus živý stav tunela:
journalctl -u openvpn-client@client --since '3 hours ago' | tail -60
journalctl -u wg-quick@wg0 --since '3 hours ago' | tail -40
wg show
ip -s link show wg0
Zaznamenajte časové značky posledného úspešného handshake a okamih, keď sa prevádzka zastavila, nie iba okamih, keď ikona zmenila farbu. GUI klient, ktorý odpojenie ohlási dodatočne, možno hlási stav, ktorý jadro dosiahlo o niekoľko sekúnd skôr.
Zachovajte znenie chyby. Vypršanie času, odmietnutie autentifikácie a chyba adaptéra alebo ovládača ukazujú na tri rôzne vrstvy a väčšina zbytočnej práce na tomto probléme vzniká tým, že sa s nimi zaobchádza ako s jednou. Skopírujte riadok doslova do poznámky.
Druhý krok: meňte jednu premennú, nie profil
Nechajte zariadenie aj profil bez zmeny a presuňte stroj na inú prístupovú sieť, napríklad na hotspot z telefónu. To je najlacnejší test, ktorý oddelí klienta od cesty. Spustite ho dosť dlho, aby pokryl pôvodný interval zlyhania; dve stabilné minúty nič nedokazujú o odpojení, ktoré nastane v tridsiatej minúte.
Notebook s portom Ethernet vám dá druhé porovnanie, ktoré úplne vyradí Wi-Fi z obrazu. Ak tunel drží na oboch variantoch, pôvodná prístupová sieť si zaslúži pozornosť: roaming medzi prístupovými bodmi, domáci router s vypršanou prekladovou tabuľkou alebo nadradené spojenie, ktoré resetuje dlhé toky.
Zapíšte, ktorú premennú ste zmenili. Porovnanie platí len vtedy, keď všetko ostatné zostalo rovnaké, a to zahŕňa koncový bod servera aj dennú dobu.
Tretí krok: priraďte interval k vrstve
Dĺžka dobrej relácie je najinformatívnejšie jediné číslo, ktoré máte. Prečítajte si ho proti tomuto zoznamu, než sa dotknete časovačov:
- Odpojenie po spánku alebo obnovení: stav tunela prežil pozastavenie, ale rozhranie nie. Preverte správanie klienta pri opätovnom pripojení po obnovení a či služba tunel reštartuje, alebo čaká na prevádzku.
- Odpojenie len pri nečinnosti: niečo v strede nechalo tok vypršať. Presne pre tento prípad existujú keepalive.
- Odpojenie pri pevnom veku relácie: udalosť opätovnej autentifikácie alebo obnovy kľúča, nie zlyhanie cesty. Výslovné odmietnutie v logu presne v tom intervale je vodítko.
- Odpojenie počas veľkých prenosov alebo veľkých stránok: podozrievajte MTU a fragmentáciu, nie časovač nečinnosti.
V prípade nečinnosti sú nastavenia špecifické pre protokol a záleží na oboch stranách. keepalive 10 60 OpenVPN na serveri posiela ping každých 10 sekúnd a reštartuje spojenie po 60 sekundách bez neho; klienti WireGuard za NAT používajú PersistentKeepalive = 25 v bloku partnera. OpenVPN tiež znovu vyjednáva dátový kanál podľa časovača, reneg-sec, ktorý má v 2.x predvolenú hodnotu 3600 sekúnd.
Nekopírujte agresívne hodnoty z návodu iného poskytovateľa. Krátke vypršanie na mobilnom spojení so stratami vytvára práve tie odpojenia, ktorým malo zabrániť, a hodnoty poslané serverom prepisujú to, čo nastavíte v profile klienta.
Štvrtý krok: porovnajte jednu podporovanú alternatívu
Ak operátor zverejňuje profil UDP aj TCP, spustite to isté zariadenie a sieť proti druhému. Použite skutočný zodpovedajúci súbor namiesto úpravy transportu v kopírovanom profile. Stabilný profil TCP na ceste, kde sa UDP resetuje, zúži problém na túto cestu; nedokazuje, že TCP je lepší transport všade.
Rovnaká logika platí pre koncové body. Vyskúšajte iný server a pôvodný výsledok si nechajte vedľa. Ak relácie resetuje len jeden výstup, je to dôkaz o tomto koncovom bode, nie dôvod prestavať každý adaptér v notebooku.
Po každej zmene zopakujte pôvodný spúšťač a overte, kam prevádzka skutočne ide. Obnovený prístup na internet nie je rovnaký výsledok ako prevádzka vnútri tunela a klient, ktorý potichu prešiel na priamu trasu, vyzerá z prehliadača zdravo.
Overte opravu a ponechajte si možnosť návratu
Oprava sa overuje zopakovaním pôvodného spúšťača, nie úspešným pripojením. Nechajte tunel nečinný dlhšie ako starý interval zlyhania, raz ho pozastavte a obnovte a potom skontrolujte vek handshake a výstupnú adresu:
wg show wg0 latest-handshakes
curl -m 5 -sS https://ifconfig.me
cp client.ovpn client.ovpn.bak # before editing timers
Ponechajte predchádzajúci profil a predchádzajúce hodnoty časovačov, kým nové správanie neprežije celý pracovný deň. Ak sa odpojenia vrátia, obnovte zálohu a potom znova aplikujte zmeny po jednej, aby druhý pokus začínal zo známeho stavu.
Ak log zostane čistý a tunel sa stále odpája v opakujúcom sa intervale, ďalšou zastávkou je pre túto reláciu strana servera. Vezmite so sebou identifikátor relácie klienta a presný čas odpojenia, pretože práve táto dvojica robí serverový log prehľadávateľným. Možnosti spojenia protokolu sú zdokumentované v manuáli OpenVPN 2.6 keď potrebujete presný význam hodnoty.