Kako pokrenuti WireGuard tunel kao systemd servis
Šablon wg-quick@ podiže imenovani profil i instalira rute, DNS i kuke. Provjerite unit, zadržite jednog upravitelja odgovornim i testirajte uklanjanje.
Imate WireGuard profil na /etc/wireguard/wg0.conf i želite da bude podignut bez ručnog upisivanja wg-quick up nakon svakog restarta. Paketni systemd šablon radi tačno to: [email protected] pokreće wg-quick za profil nazvan wg0. On takođe instalira adrese, rute, DNS i sve kuke koje profil deklariše, što je više od pukog učitavanja ključa u kernel. Provjerite da šablon postoji na vašem sistemu prije nego pretpostavite da postoji.
Ostatak ovog vodiča prati redoslijed kojim biste zaista radili.
Pronađite unit i profil koji on čita
Navedite datoteke unita sa systemctl list-unit-files 'wg-quick*'. Na distribucijama koje ga pakuju vidjet ćete [email protected], s imenom instance uzetim iz profila. Instanca se razrješava u /etc/wireguard/<name>.conf, pa wg-quick@wg0 čita wg0.conf i ništa drugo. Ako je lista prazna, paket alata nije instaliran i nikakvo omogućavanje neće pomoći.
Držite profil na modu 600 i u vlasništvu roota. Sadrži privatni ključ, a unit će rado raditi sa lošijim dozvolama ako mu dozvolite.
Podignite ga i pročitajte dnevnik
Pokrenite instancu sa systemctl start wg-quick@wg0, zatim provjerite systemctl status wg-quick@wg0 i journalctl -u wg-quick@wg0 -b. Unit koji se pokrene i odmah izađe obično ima grešku u profilu, a dnevnik imenuje red. Potvrdite sa wg show da interfejs postoji i da je posljednji handshake svjež. Priručnik za wg-quick navodi šta skript radi mimo samog interfejsa.
Konfigurisan interfejs bez handshakea je problem putanje ili ključa, a ne servisa.
Zadržite jednog upravitelja
Ako NetworkManager ili drugi klijent već posjeduje tunel, pokretanje systemd unita stvara drugog vlasnika za isti interfejs, iste rute i DNS. Simptomi su zbunjujući: tunel se podigne, zatim rute nestanu, ili DNS prebaci natrag nakon nekoliko sekundi. Odaberite jedan upravitelj i onemogućite drugi za taj profil. Dnevnik obično prikazuje preuzimanje kao promjene ruta ili resolvera odmah nakon što unit prijavi uspjeh.
Dva upravitelja ne dijele vlasništvo. Oni prepisuju jedan drugog.
Testirajte zaustavljanje, restart i podizanje
Pokrenite systemctl stop wg-quick@wg0 i potvrdite da je interfejs nestao i da su rute uklonjene. Zatim ga pokrenite ponovo i provjerite da se rute vraćaju, jer se greške pri uklanjanju pokazuju kao preostale rute, a ne kao neuspjeli startovi. Na kraju ga omogućite pri podizanju sistema sa systemctl enable --now wg-quick@wg0 i restartujte jednom.
Pri podizanju sistema ime krajnje točke mora se razriješiti prije nego što unit krene. Ako DNS još nije aktivan, unit ne uspije i ostaje neuspješan dok ga ne pokrenete ručno.
Zapišite vlasnika
Zapišite koji profil unit čita, koji upravitelj posjeduje interfejs i odakle je datoteka došla. Kada kasnije neko uveze isti tunel u desktop klijent, ta bilješka je razlika između migracije i dva raspoređivanja koja se tuku oko jedne adrese. Zapišite i ime interfejsa, jer su dva profila sa sličnim imenima uobičajen izvor zabune.
Tunel sa dva vlasnika radi do prvog restarta, a zatim postaje misterija. Zato bilješka pripada u repozitorij, a ne u chat nit.