Lielākā daļa rokasgrāmatu šo izvēli pasniedz kā kosmētisku: vai nu ļaujiet NetworkManager pacelt tuneli, vai iespējojiet systemd instanci un viss. Abi ceļi atšķiras vienā lietā, kas nosaka iznākumu mašīnā bez ekrāna, un tai nav nekāda sakara ar to, kurš rīks ir jaunāks. NetworkManager atslēdz noslēpumus sesijas laikā; systemd instancei nav sesijas, ko atslēgt. Izvēlieties to, kura noslēpumu apstrāde atbilst mašīnai jūsu priekšā.

Viss pārējais, no maršrutu instalēšanas līdz atkārtotas savienošanas uzvedībai, izriet no šī pirmā lēmuma.

Atslēgu poga ir atšķirība, par kuru neviens nerunā

Kad NetworkManager pārvalda VPN profilu, parole var dzīvot pieteikšanās atslēgu pogā, kas tiek atslēgta, kad lietotājs piesakās. Tas labi darbojas klēpjdatorā: cilvēks ir klāt, atslēgu poga atveras, tunelis paceļas. Serverī, kas startē bez uzraudzības, nav neviena, kas kaut ko atslēgtu, tāpēc profils gaida noslēpumu, kas nekad neierodas. Savienojums izskatās konfigurēts un nekad neaktivizējas.

systemd instance izvairās no šīs problēmas, lasot akreditācijas datu failu no diska, kas failu padara par to, ko jūs aizsargājat. chmod 400 un root īpašumtiesības ir minimums, un failam jāpaliek ārpus dublējumkopijām un attēlu veidnēm, kuras jūs nekontrolējat.

VPN pievienošana savienojumam nav palaišanas garantija

nm-connection-editor izvēlieties vadu vai bezvadu savienojumu, nevis VPN, atveriet cilni General, atzīmējiet automātiskas savienošanās ar VPN opciju un nosauciet profilu. Pēc tam NetworkManager aktivizē VPN kā sekundāro savienojumu, kad primārais sasniedz savienotu stāvokli. Tā ir atkarība, nevis ugunsmūra noteikums. Paketes joprojām var iziet sekundēs pirms tuneļa pacelšanas, un saglabāts noslēpums, ko neizdodas atslēgt, atstāj mašīnu tiešsaistē bez tā.

Ja prasība ir, lai nekas neizietu bez tuneļa, sakiet to un izveidojiet izslēgšanas slēdzi, jo šis iestatījums to nesniegs. Pārbaudiet arī apturēšanu un atsākšanu, jo sekundārais savienojums tiek pārvērtēts atgriežoties.

systemd instancei nepieciešams atbilstošs faila nosaukums

Ievietojiet profilu klienta direktorijā, ko sagaida pakotne, piemēram, /etc/openvpn/client/office.conf, un no tā iekšienes atsaucieties uz akreditācijas datu failu ar auth-user-pass office.cred. Instances nosaukums ir faila nosaukums bez paplašinājuma, tāpēc openvpn-client@office lasa office.conf. Iespējojiet to ar sudo systemctl enable --now openvpn-client@office un apstipriniet atbilstību ar systemctl cat openvpn-client@office, nevis uzticoties piemēram no emuāra.

Ceļi profila iekšienē tiek atrisināti attiecībā pret vienības darba direktoriju, nevis pašu profilu, tāpēc relatīva ca vai auth-user-pass rinda var neizdoties palaišanas laikā, lai gan manuāli pārbaudot tā darbojas. Izmantojiet absolūtus ceļus visam, kas vienībai jāatrod. Pēc tam pēc īstas palaišanas izlasiet journalctl -u openvpn-client@office -b; vienība, kas ziņo par aktivitāti bez tuneļa, parasti tajā žurnālā nosauc trūkstošu failu.

Vecākas pakotnes piegādā citu veidnes nosaukumu, tāpēc systemctl list-unit-files 'openvpn*' nosaka, kura pastāv šajā resursdatorā.

Atkārtotas savienošanas uzvedība ir atsevišķs lēmums

Profils ar ping-restart atjauno tuneli pēc tā kritiena, un vienība ar restartēšanas direktīvu dara ko līdzīgu pakalpojuma līmenī. Tās ir politikas, ko jūs izvēlaties, nevis noklusējumi, ko mantoja. Ja savienojumam jāpaceļas tikai pēc pieprasījuma, apzināti noņemiet restartēšanas uzvedību un pierakstiet kāpēc. Ja vienība startē pirms tīkls ir lietojams, tai nepieciešama atkārtota mēģinājuma politika, jo viens neveiksmīgs mēģinājums palaišanas laikā pats neatkārtojas.

Apturēšana ir tikpat burtiska: sudo systemctl disable --now openvpn-client@office aptur darbojošos instanci un noņem palaišanas saiti. Tikai atspējošana atstāj tuneli darbojamies līdz nākamajai pārstartēšanai, kas pārsteidz ikvienu, kurš pārbauda, atspējojot un vērojot, kā saskarne paliek pacelta.

Pārstartējiet, pēc tam pārbaudiet četras lietas pēc kārtas

Pakalpojuma pārstartēšana pārbauda pakalpojumu; mašīnas pārstartēšana pārbauda palaišanas ceļu. Pēc pārstartēšanas apstipriniet, ka vienība pacēlās, tad ka attālinātajam apakštīklam ir maršruts, tad kādu adresi mašīna uzrāda internetam, un visbeidzot ka vārdi tiek atrisināti caur tuneli. Šīs četras pārbaudes neizdodas tieši šajā secībā, kad kaut kas nav kārtībā, kas padara pirmo neveiksmi par noderīgo.

Aktīva vienība bez maršruta parasti nozīmē, ka profils izveidoja savienojumu, bet serveris neiespieda nevienu maršrutu, vai arī maršruts tika instalēts saskarnē, kas vēlāk pazuda. Maršruts bez strādājošas vārdu meklēšanas norāda uz DNS konfigurāciju, nevis uz pašu tuneli.

Iepriekš izlemiet, kam jānotiek, kad tunelis nevar pacelties. Atgriešanās pie parasta savienojuma ir politika, un tā būtu jāpieraksta, nevis jāatstāj pārvaldniekam, kurš startēja pirmais.

Saistītie raksti