Cum să pornești un tunel WireGuard ca serviciu systemd
Șablonul wg-quick@ ridică un profil numit și instalează rute, DNS și cârlige. Verifică unitatea, păstrează un singur manager responsabil și testează demontarea.
Ai un profil WireGuard în /etc/wireguard/wg0.conf și vrei să fie activ fără să scrii wg-quick up manual după fiecare repornire. Șablonul systemd din pachet face exact asta: [email protected] rulează wg-quick pentru profilul numit wg0. Instalează și adrese, rute, DNS și orice cârlige declarate de profil, ceea ce este mai mult decât încărcarea unei chei în kernel. Verifică dacă șablonul există pe sistemul tău înainte de a presupune că există.
Restul acestui ghid urmează ordinea în care ai face-o de fapt.
Găsește unitatea și profilul pe care îl citește
Listează fișierele de unitate cu systemctl list-unit-files 'wg-quick*'. Pe distribuțiile care îl împachetează vei vedea [email protected], cu numele instanței luat din profil. Instanța se rezolvă în /etc/wireguard/<name>.conf, deci wg-quick@wg0 citește doar wg0.conf și nimic altceva. Dacă lista este goală, pachetul de instrumente nu este instalat și nicio cantitate de activare nu va ajuta.
Ține profilul în modul 600 și în proprietatea root. Conține o cheie privată, iar unitatea va rula bucuroasă cu permisiuni mai proaste dacă o lași.
Ridică-l și citește jurnalul
Pornește instanța cu systemctl start wg-quick@wg0, apoi verifică systemctl status wg-quick@wg0 și journalctl -u wg-quick@wg0 -b. O unitate care pornește și se oprește imediat are de obicei o eroare de profil, iar jurnalul numește linia. Confirmă cu wg show că interfața există și că ultimul handshake este recent. Manualul wg-quick enumeră ce face scriptul dincolo de interfața propriu-zisă.
O interfață configurată fără handshake este o problemă de cale sau de cheie, nu de serviciu.
Păstrează un singur manager
Dacă NetworkManager sau alt client deține deja tunelul, pornirea unității systemd creează un al doilea proprietar pentru aceeași interfață, rute și DNS. Simptomele sunt confuze: tunelul urcă, apoi rutele dispar, sau DNS revine după câteva secunde. Alege un singur manager și dezactivează-l pe celălalt pentru acel profil. Jurnalul arată de obicei preluarea ca modificări de rute sau de resolver imediat după ce unitatea raportează succes.
Doi manageri nu împart proprietatea. Se suprascriu unul pe altul.
Testează oprirea, repornirea și pornirea
Rulează systemctl stop wg-quick@wg0 și confirmă că interfața a dispărut și că rutele au fost eliminate. Apoi pornește-l din nou și verifică dacă rutele revin, pentru că erorile de demontare apar ca rute rămase, nu ca porniri eșuate. În final activează-l la pornire cu systemctl enable --now wg-quick@wg0 și repornește o dată.
La pornire, numele endpointului trebuie rezolvat înainte ca unitatea să ruleze. Dacă DNS nu este încă activ, unitatea eșuează și rămâne eșuată până o pornești manual.
Notează proprietarul
Notează ce profil citește unitatea, ce manager deține interfața și de unde a venit fișierul. Când cineva va importa mai târziu același tunel într-un client desktop, acea notă este diferența dintre o migrare și două implementări care se luptă pentru o singură adresă. Notează și numele interfeței, pentru că două profiluri cu nume similare sunt sursa obișnuită de confuzie.
Un tunel cu doi proprietari funcționează până la prima repornire, iar apoi devine un mister. De aceea nota își are locul în depozit, nu într-un fir de chat.