WireGuard tunnelini systemd xizmati sifatida qanday ishga tushirish kerak
wg-quick@ shabloni nomlangan profilni ko'taradi va marshrutlar, DNS hamda ilgaklarni o'rnatadi. Unitni tekshiring, bitta menejerni mas'ul tuting va demontajni sinab ko'ring.
Sizda /etc/wireguard/wg0.conf manzilida WireGuard profili bor va har safar qayta yuklangandan keyin wg-quick up ni qo'lda yozmasdan uni ishlab turishini xohlaysiz. Paketdagi systemd shabloni aynan shuni qiladi: [email protected] wg0 nomli profil uchun wg-quick ni ishga tushiradi. U shuningdek, profil e'lon qilgan manzillar, marshrutlar, DNS va har qanday ilgaklarni o'rnatadi, bu yadroga shunchaki kalit yuklashdan ko'proq. Shablon bor deb o'ylashdan oldin uning tizimingizda haqiqatan borligini tekshiring.
Ushbu qo'llanmaning qolgan qismi siz haqiqatda bajaradigan tartibda boradi.
Unitni va u o'qiydigan profilni toping
Unit fayllarini systemctl list-unit-files 'wg-quick*' bilan ro'yxatlang. Uni paketlaydigan distributivlarda [email protected] ko'rasiz, nusxa nomi profildan olinadi. Nusxa /etc/wireguard/<name>.conf ga hal qilinadi, shuning uchun wg-quick@wg0 faqat wg0.conf ni o'qiydi, boshqa hech narsani emas. Agar ro'yxat bo'sh bo'lsa, asboblar paketi o'rnatilmagan va qancha yoqish ham yordam bermaydi.
Profilni 600 rejimida va root egaligida saqlang. Uning ichida shaxsiy kalit bor, agar ruxsat bersangiz unit yomonroq huquqlar bilan ham bemalol ishlaydi.
Uni ko'taring va jurnalni o'qing
Nusxani systemctl start wg-quick@wg0 bilan boshlang, so'ng systemctl status wg-quick@wg0 va journalctl -u wg-quick@wg0 -b ni tekshiring. Boshlanib darhol chiqib ketadigan unitda odatda profil xatosi bo'ladi va jurnal o'sha qatorni nomlaydi. wg show bilan interfeys mavjudligini va oxirgi qo'l berib ko'rishish yangi ekanini tasdiqlang. wg-quick qo'llanmasi skript interfeysdan tashqari nima qilishini sanab o'tadi.
Qo'l berib ko'rishishsiz sozlangan interfeys yo'l yoki kalit muammosi, xizmat muammosi emas.
Bitta menejerni mas'ul tuting
Agar NetworkManager yoki boshqa mijoz tunnelga allaqachon egalik qilsa, systemd unitini ishga tushirish o'sha interfeys, marshrutlar va DNS uchun ikkinchi egasini yaratadi. Belgilar chalkashtiradi: tunnel ko'tariladi, keyin marshrutlar yo'qoladi yoki bir necha soniyadan keyin DNS qaytadi. Bitta menejerni tanlang va o'sha profil uchun ikkinchisini o'chiring. Jurnal odatda egallashni unit muvaffaqiyat haqida xabar berganidan keyin darhol marshrut yoki hal qiluvchi o'zgarishlari sifatida ko'rsatadi.
Ikki menejer egalikni bo'lishmaydi. Ular bir-birining ustiga yozadi.
To'xtatish, qayta yuklash va yuklanishni sinab ko'ring
systemctl stop wg-quick@wg0 ni ishga tushiring va interfeys yo'qolganini hamda marshrutlar olib tashlanganini tasdiqlang. Keyin uni yana boshlang va marshrutlar qaytishini tekshiring, chunki demontaj xatolari muvaffaqiyatsiz startlar sifatida emas, qolgan marshrutlar sifatida ko'rinadi. Nihoyat yuklanish paytida systemctl enable --now wg-quick@wg0 bilan yoqing va bir marta qayta yuklang.
Yuklanish paytida oxirgi nuqta nomi unit ishlashidan oldin hal qilinishi kerak. Agar DNS hali ko'tarilmagan bo'lsa, unit muvaffaqiyatsiz bo'ladi va uni qo'lda ishga tushirmaguningizcha muvaffaqiyatsiz qoladi.
Egasi yozib qo'ying
Unit qaysi profilni o'qiydiganini, qaysi menejer interfeysga ega ekanini va fayl qayerdan kelganini yozing. Keyinchalik kimdir o'sha tunnelni ish stoli mijoziga import qilsa, o'sha eslatma bitta migratsiya va bitta manzil uchun kurashayotgan ikki joylashtirish o'rtasidagi farq. Interfeys nomini ham yozib qo'ying, chunki o'xshash nomli ikki profil chalkashlikning odatiy manbai.
Ikki egasi bor tunnel birinchi qayta yuklashgacha ishlaydi, keyin u jumboq bo'lib qoladi. Shuning uchun eslatma chat oqimida emas, repozitoriyda bo'lishi kerak.