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.

Súvisiace články