Jūsu VPN darbojas tikai pēc pieteikšanās atslēgu saiņa dēļ
Darbojošs profils jūsu sesijā nav palaišanas pakalpojums. Skatiet, kurš īpašnieks sāk tuneli, kur dzīvo noslēpums un kā pārbaudīt īsto notikumu.
Komanda darbojas, kad esat pieteicies, tāpēc jūs ievietojat to palaišanas skriptā un dodaties mājās. Nākamajā rītā mašīna ir tiešsaistē, bet tunelis nav. Mīts ir tāds, ka strādājošs izsaukums ir strādājošs pakalpojums. Praksē atšķirība parasti ir viena no divām lietām: profils pieder jūsu lietotāja sesijai, nevis sistēmai, vai noslēpumu atslēdz kaut kas, kas pastāv tikai pēc jūsu pieteikšanās. Abi lieliski darbojas manuālā testā un neizdodas tieši tajā brīdī, kad neviens neskatās.
Kāpēc pieteikšanās liek tam darboties
Grafiska pieteikšanās palaiž sesijas kopni un noslēpumu pakalpojuma aģentu, un tieši tur daudzi darbvirsmas klienti glabā profila paroli vai privātās atslēgas paroles frāzi. Aktivizācija, kas pēc pieteikšanās darbojas kā jūsu lietotājs, var pajautāt tam aģentam noslēpumu un gūt panākumus. Tai pašai aktivizācijai, ko veic palaišanas vienība, nav sesijas, kopnes un aģenta, tāpēc meklēšana neizdodas vai bloķējas uz pieprasījuma, ko neviens neredz.
Palaidiet to pašu profilu pirms un pēc pieteikšanās, un jūs iegūsit divus dažādus rezultātus no vienas konfigurācijas. Tā ir atkarības no akreditācijas datiem pazīme, nevis salauzta tuneļa, un tā izskaidro, kāpēc manuāls tests terminālī pierāda mazāk, nekā šķiet. Tunelis ir kārtībā; trūkst tā, kas atslēdz tā noslēpumu.
Izlemiet, kurš īpašnieks sāk tuneli
Ir divi atbalstīti modeļi, un to sajaukšana ir otrs veids, kā tas neizdodas. NetworkManager var aktivizēt sistēmas līmeņa savienojumu, kas ir piemērots, ja mašīna jau tur centralizē savu tīklu. Vai arī īpaša systemd vienība palaiž VPN tieši un pati pārvalda saskarni.
systemctl list-unit-files 'openvpn*'
systemctl list-unit-files 'wg-quick*'
nmcli connection show --active
systemctl enable --now wg-quick@wg0
Nepalaidiet abus īpašniekus pret vienu konfigurāciju. Ja NetworkManager pārvalda saskarni un vienība to arī paceļ, viņi cīnīsies par maršrutiem un DNS, un galīgais stāvoklis būs atkarīgs no tā, kurš pabeidza pēdējais.
Novietojiet noslēpumu tur, kur pakalpojums to var lasīt
Fona pakalpojums nevar atbildēt uz pieprasījumu. Sertifikātu paroles frāzes, kontu paroles un atsauktās autentifikācijas datnes visiem ir vajadzīgs tāds glabāšanas izkārtojums, ko vienība var sasniegt bez cilvēka, kas pieder kontam, kas palaiž pakalpojumu, un kas ir nelasāms visiem pārējiem.
Kārdinošais īsceļš ir padarīt datni lasāmu visiem, līdz atļauju kļūda pazūd. Tas apmaina palaišanas neveiksmi pret ilgstošu akreditācijas datu atklāšanu, un tas ir tāda veida izmaiņas, pie kurām neviens neatgriežas. Izmantojiet mehānismu, kuram izvietošana jau uzticas: ierobežotu akreditācijas datu datni, nešifrētu atslēgu, kas aizsargāta ar datnes atļaujām, vai sistēmas līmeņa savienojumu ar savu noslēpumu glabātuvi.
Pārbaudiet notikumu, kas patiešām notiek
Pakalpojuma manuāla palaišana pēc pieteikšanās gandrīz neko nepārbauda. Pārstartējiet vai uz vienu ciklu atspējojiet grafisko pieteikšanos un vērojiet, kā vienība paceļas pati. Tas ir vienīgais tests, kas vienlaikus pārbauda akreditācijas datu pieejamību, tīkla gatavību un vienību secību. Tas ir arī tests, kas atkārto lietotāja ziņoto neveiksmi, ko manuāla palaišana nekad neizdara.
systemctl is-enabled wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager
systemctl status systemd-networkd-wait-online --no-pager
Secība ir tikpat svarīga kā akreditācijas dati. Vienība, kas startē pirms pamata augšupējā savienojuma konfigurēšanas, padodas, un dažas distribūcijas atšķiras ar to, vai tās gaida savienojamību. Ja vienība palaišanas laikā ziņo par neveiksmi, bet izdodas, kad to trīsdesmit sekundes vēlāk palaižat manuāli, jūs esat atraduši secības problēmu, nevis noslēpuma problēmu.
Pārbaudiet maršrutus un DNS, ne tikai saskarni
Esoša saskarne nav darbojošs tunelis. Pēc neuzraudzītas palaišanas pārbaudiet maršrutus, atrisinātāja stāvokli un vienu galamērķi pēc adreses, pirms pārbaudāt nosaukumu. Pēc tam pārbaudiet lietojumprogrammu, kuras dēļ tunelis pastāv.
ip -4 route show
resolvectl status
ping -c 3 10.61.0.1
curl -sS --max-time 5 https://internal.example/ -o /dev/null -w '%{http_code}\n'
Ja adrese darbojas un nosaukums ne, atlikušā problēma ir DNS politika, nevis tunelis. Pierakstiet, kurš īpašnieks sāk pakalpojumu un kur dzīvo noslēpums, jo nākamajai personai, kas restartēs šo mašīnu, būs vajadzīgi abi fakti.