Paano simulan ang WireGuard tunnel bilang systemd service
Ang template na wg-quick@ ay nagbubukas ng pinangalanang profile at naglalagay ng mga ruta, DNS at hook. I-verify ang unit, panatilihing isang manager ang responsable at subukan ang pagtanggal.
Mayroon kang WireGuard profile sa /etc/wireguard/wg0.conf at gusto mong tumakbo ito nang hindi nagta-type ng wg-quick up nang manu-mano pagkatapos ng bawat reboot. Ginagawa ng systemd template mula sa package ang eksaktong iyon: pinapatakbo ng [email protected] ang wg-quick para sa profile na tinatawag na wg0. Naglalagay din ito ng mga address, ruta, DNS at anumang hook na idinideklara ng profile, na higit pa sa pag-load lamang ng key sa kernel. Tiyakin na may template sa iyong sistema bago mo ipagpalagay na mayroon.
Ang natitirang bahagi ng gabay na ito ay sumusunod sa pagkakasunod-sunod na talagang gagawin mo.
Hanapin ang unit at ang profile na binabasa nito
Ilista ang mga file ng unit gamit ang systemctl list-unit-files 'wg-quick*'. Sa mga distribution na nag-package nito makikita mo ang [email protected], kung saan ang pangalan ng instance ay kinuha mula sa profile. Naresolba ang instance sa /etc/wireguard/<name>.conf, kaya ang wg-quick@wg0 ay binabasa lamang ang wg0.conf at wala nang iba. Kung walang laman ang listahan, hindi naka-install ang tools package at walang dami ng pagpapagana ang makakatulong.
Panatilihin ang profile sa mode 600 at pagmamay-ari ng root. Naglalaman ito ng pribadong key, at masayang tatakbo ang unit na may mas masamang pahintulot kung papayagan mo.
Itaas ito at basahin ang journal
Simulan ang instance gamit ang systemctl start wg-quick@wg0, pagkatapos suriin ang systemctl status wg-quick@wg0 at journalctl -u wg-quick@wg0 -b. Ang unit na nagsisimula at agad na lumalabas ay karaniwang may error sa profile, at pinangalanan ng journal ang linya. Kumpirmahin gamit ang wg show na umiiral ang interface at ang huling handshake ay bago pa. Inililista ng manwal ng wg-quick kung ano ang ginagawa ng script lampas sa interface mismo.
Ang naka-configure na interface na walang handshake ay problema sa landas o key, hindi problema sa serbisyo.
Panatilihing isang manager ang responsable
Kung pagmamay-ari na ng NetworkManager o ibang client ang tunnel, ang pagsisimula ng systemd unit ay lumilikha ng pangalawang may-ari para sa parehong interface, ruta at DNS. Nakakalito ang mga sintomas: umaangat ang tunnel, pagkatapos nawawala ang mga ruta, o bumabalik ang DNS pagkalipas ng ilang segundo. Pumili ng isang manager at huwag paganahin ang isa pa para sa profile na iyon. Karaniwang ipinapakita ng journal ang pagkuha bilang mga pagbabago sa ruta o resolver kaagad pagkatapos iulat ng unit ang tagumpay.
Dalawang manager ay hindi nagbabahagi ng pagmamay-ari. Nagsusulatan sila sa isa't isa.
Subukan ang paghinto, pag-restart at pag-boot
Patakbuhin ang systemctl stop wg-quick@wg0 at kumpirmahin na wala na ang interface at natanggal ang mga ruta. Pagkatapos ay simulan muli ito at suriin kung bumabalik ang mga ruta, dahil ang mga bug sa pagtanggal ay lumilitaw bilang natirang ruta sa halip na nabigong pagsisimula. Sa huli, paganahin ito sa pag-boot gamit ang systemctl enable --now wg-quick@wg0 at mag-reboot nang isang beses.
Sa pag-boot, kailangang maresolba ang pangalan ng endpoint bago tumakbo ang unit. Kung hindi pa nakakataas ang DNS, mabibigo ang unit at mananatiling nabigo hanggang sa simulan mo ito nang manu-mano.
Itala ang may-ari
Isulat kung aling profile ang binabasa ng unit, aling manager ang may-ari ng interface at saan nanggaling ang file. Kapag may nag-import ng parehong tunnel sa isang desktop client sa hinaharap, ang tala na iyon ang pagkakaiba sa pagitan ng isang migrasyon at dalawang deployment na nag-aagawan sa isang address. Itala rin ang pangalan ng interface, dahil dalawang profile na magkatulad ang pangalan ang karaniwang pinagmumulan ng kalituhan.
Gumagana ang tunnel na may dalawang may-ari hanggang sa unang reboot, at pagkatapos ay misteryo na ito. Iyon ang dahilan kung bakit kabilang ang tala sa repository at hindi sa isang chat thread.