Večina vodnikov to izbiro predstavlja kot kozmetično: bodisi pustite NetworkManagerju, da dvigne tunel, bodisi omogočite instanco systemd in končajte. Poti se razlikujeta v eni stvari, ki odloči izid na stroju brez zaslona, in ta nima nič skupnega s tem, katero orodje je novejše. NetworkManager odklene skrivnosti prek seje; instanca systemd nima seje za odklepanje. Izberite tisto, katere ravnanje s skrivnostmi ustreza stroju pred vami.

Vse ostalo, od namestitve poti do vedenja pri ponovnem povezovanju, izhaja iz te prve odločitve.

Ključavnica je razlika, o kateri nihče ne govori

Ko ima NetworkManager v lasti profil VPN, lahko geslo živi v prijavni ključavnici, ki se odklene, ko se uporabnik prijavi. Na prenosniku to dobro deluje: oseba je prisotna, ključavnica se odpre, tunel se dvigne. Na strežniku, ki se zažene brez nadzora, ni nikogar, ki bi karkoli odklenil, zato profil čaka na skrivnost, ki nikoli ne pride. Povezava je videti nastavljena in se nikoli ne aktivira.

Instanca systemd se tej težavi izogne tako, da z diska prebere datoteko poverilnic, kar naredi datoteko tisto, kar ščitite. chmod 400 in lastništvo roota je minimum, datoteka pa naj ostane zunaj varnostnih kopij in predlog slik, ki jih ne nadzorujete.

Pripenjanje VPN k povezavi ni zagotovilo zagona

V nm-connection-editor izberite žično ali brezžično povezavo namesto VPN, odprite zavihek General, označite možnost samodejnega povezovanja z VPN in poimenujte profil. NetworkManager nato aktivira VPN kot sekundarno povezavo, ko primarna doseže stanje povezano. To je odvisnost, ne pravilo požarnega zidu. Paketi lahko še vedno odidejo v sekundah pred dvigom tunela, shranjena skrivnost, ki se ne odklene, pa pusti stroj na spletu brez njega.

Če je zahteva, da nič ne odide brez tunela, to povejte in zgradite stikalo za izklop, ker ta nastavitev tega ne bo zagotovila. Preizkusite tudi začasno ustavitev in nadaljevanje, saj se sekundarna povezava ob vrnitvi znova ovrednoti.

Instanca systemd potrebuje ustrezno ime datoteke

Profil postavite v odjemalčevo mapo, ki jo paket pričakuje, na primer /etc/openvpn/client/office.conf, in v njej sklicujte datoteko poverilnic z auth-user-pass office.cred. Ime instance je ime datoteke brez pripone, zato openvpn-client@office bere office.conf. Omogočite jo z sudo systemctl enable --now openvpn-client@office in potrdite preslikavo z systemctl cat openvpn-client@office, namesto da bi zaupali zgledu iz bloga.

Poti znotraj profila se razrešujejo glede na delovno mapo enote, ne glede na profil sam, zato lahko relativna vrstica ca ali auth-user-pass ob zagonu spodleti, čeprav pri ročnem preizkusu deluje. Za vse, kar mora enota najti, uporabite absolutne poti. Nato po resničnem zagonu preberite journalctl -u openvpn-client@office -b; enota, ki poroča o aktivnosti brez tunela, običajno v tem dnevniku navede manjkajočo datoteko.

Starejši paketi prinašajo drugo ime predloge, zato systemctl list-unit-files 'openvpn*' določi, katera obstaja na tem gostitelju.

Vedenje pri ponovnem povezovanju je ločena odločitev

Profil z ping-restart znova zgradi tunel po padcu, enota z direktivo za ponovni zagon pa naredi nekaj podobnega na ravni storitve. To so politike, ki jih izberete, ne privzete vrednosti, ki jih podedujete. Če naj se povezava dvigne le na zahtevo, vedenje ponovnega zagona namerno odstranite in zapišite zakaj. Če se enota zažene, preden je omrežje uporabno, potrebuje politiko ponovnih poskusov, ker se en neuspešen poskus ob zagonu ne ponovi sam.

Ustavljanje je prav tako dobesedno: sudo systemctl disable --now openvpn-client@office ustavi delujočo instanco in odstrani zagonsko povezavo. Samo onemogočanje pusti tunel delujoč do naslednjega ponovnega zagona, kar preseneti vsakogar, ki preizkuša z onemogočanjem in vidi, da vmesnik ostane dvignjen.

Znova zaženite in nato po vrsti preverite štiri stvari

Ponovni zagon storitve preizkusi storitev; ponovni zagon stroja preizkusi zagonsko pot. Po ponovnem zagonu potrdite, da se je enota dvignila, nato da obstaja pot do oddaljenega podomrežja, nato kateri naslov stroj predstavlja internetu, in nazadnje da se imena razrešujejo skozi tunel. Te štiri kontrole spodletijo v tem vrstnem redu, ko je kaj narobe, kar naredi prvo napako koristno.

Aktivna enota brez poti običajno pomeni, da se je profil povezal, a strežnik ni poslal nobene poti, ali da je bila pot nameščena na vmesniku, ki je pozneje izginil. Pot brez delujočega iskanja imen kaže na konfiguracijo DNS, ne na sam tunel.

Vnaprej se odločite, kaj naj se zgodi, ko se tunel ne more dvigniti. Vrnitev na običajno povezljivost je politika in to bi bilo treba zapisati, namesto da se prepusti tistemu upravitelju, ki se je zagnal prvi.

Sorodni članki