Pange unese haagi ümberühenduskäsk ja probleem näib lahendatud. See on lahendatud ainult siis, kui haak töötab pärast võrgu olemasolu, identiteedina, mida klient tunneb ära, teed pidi, mida klient tegelikult rakendab. Enamik jätkamise järgseid rikkeid on üks neist kolmest ja ükski neist ei ilmne veana haagi enda sees. Haak tagastab ikkagi õnnestumise.

Skript, mis väljub nulliga, ei ütle teile midagi selle kohta, kas tunnel tuli tagasi.

Haak töötab, ja mis siis?

#!/bin/sh
case "$1" in
  pre)
    vpn-client disconnect
    ;;
  post)
    vpn-client connect
    ;;
esac

Iga sündmus kutsub haagi kaks korda, enne ja pärast üleminekut, andes sellele faasi ja sündmuse nime. See töötab root'ina minimaalses keskkonnas, seega on vajalikud absoluutsed teed ja ühtegi töölaua sessiooni muutujat ei tohiks oodata. See, et mõlemad kutsed kiiresti tagasi tulevad, ütleb ainult, et skript käivitus. Kas profiil pärast tõusis, on eraldi vaatlus ja vajab logis oma tõendit.

Käsitlege faasiargumenti disaini osana. Ümberühenduse katse pre-faasis toimub siis, kui masin on kogu kadu äärel, ja see ei saa õnnestuda.

Root, minimaalne keskkond, vale kasutaja

Kui klient hoiab sisselogimistokenit kasutajapõhiselt, jätab haagi root'ina käivitamine selle ilma millegi esitamata. Kontrollige olekut identiteedi all, mida haak tegelikult kasutab, mitte selle all, mida te töölaua terminalist testisite. Mõned buildid jätavad pärast lahtiühendamist ka liidest hoidva deemoniga, nii et ümberühendus maandub aegunud olekusse, ja protsessi eelnev puhastamine taastab selle ebaühtlase seiskamise hinnaga. Kumbki käitumine pole nähtav, kui testite ainult õnnelikku teed.

Kirjutage haak absoluutsete teedega, hoidke see root'i omandis ja käivitatavana, ja logige, mida see tegi. Ilma selle logita algab järgmine uurimine nullist.

Automaatühendus ei ole VPN-i tee

NetworkManager pakub kahte aktiveerimismehhanismi: automaatühenduse lipp profiilil ja teisased ühendused, mis algavad, kui esmane profiil aktiveerub. Kohalikud seadmetüübid rakendavad esimest; VPN-pistikprogrammid on ajalooliselt rakendanud ainult teist, nii et automaatühenduse märkimine OpenVPN profiilil ei pruugi üldse mõjuda. Uurige mõlemat omadust ja kinnitage VPN seejärel hoopis Wi-Fi või Etherneti profiili teisaseks.

[Unit]
PartOf=NetworkManager.service
Requires=NetworkManager-wait-online.service
After=NetworkManager-wait-online.service

systemd-üksusega hallatav WireGuard-liides vajab haagi asemel just seda lisafaili, järjestatuna pärast seda, kui võrk on võrgus.

Oodake võrku, ülempiiriga

timer=1
while ! ping -c1 -n -w1 203.0.113.1 >/dev/null; do
  sleep 1; timer=$((timer+1))
  [ $timer -ge 300 ] && exit 0
done
nmcli connection up "work-vpn"

Jätkamisel võidakse tunnelit küsida, kui Wi-Fi alles taasliitub, mis muudab iga fikseeritud une oletuseks. Oodake kättesaadavat aadressi, seejärel tõstke profiil üles ja piirake ootamist, et haak ei saaks jätkamisteed lõputult lahti hoida. Eelistage profiili nime numbrilisele indeksile, ja kui õige profiil erineb võrgu kaupa, laske tervel tunnelil oma valik eelnevalt faili kirjutada.

Kaitske end ka taaskäivitustormide eest, lugedes katseid ja peatudes. Valvekoer, mis reageerib igale ebaõnnestunud kontrollile, muudab ühe katkestuse tsükliks.

Peatage süsteem korra ja lugege seejärel logist haagi enda väljundit. See on ainus test, mis tõestab järjekorda.

Seotud artiklid