Siz WireGuard ni ko'tardingiz, tunnel trafikni o'tkazadi, ammo ichki nom hali ham hal bo'lmaydi. Keyingi qadam odatda WireGuard konfiguratsiyasida DNS sozlamasini izlash bo'ladi, go'yo peer boshqa ba'zi VPN lar kabi rezolverni itarib yubora oladigandek. Yo'q. Qo'l berish kalitlar, interfeys manzillari va ruxsat etilgan IP larni olib yuradi va unda DNS serverlari yoki qidiruv domenlari uchun maydon yo'q. Rezolver siyosati mijozda yashaydi va tuzatish ham o'sha yerda.

Tunnel va rezolver alohida shartnomalar

WireGuard atayin kichik. U siz ro'yxatga olgan manzillar uchun paketlarni ko'chiradi va peerlarni autentifikatsiya qiladi; bu qatlam ustidagi hamma narsa sizning dizayningiz. OpenVPN dhcp-option DNS ni itarib yubora oladi, chunki uning boshqaruv kanali konfiguratsiyani olib yuradi va bu farq ikkalasi orasida o'tadiganlarni qoqintiradi.

Shunday qilib ishlayotgan tunnel nom hal qilish haqida hech narsa demaydi. Mijozda 10.90.0.1 ga mukammal yo'l bo'lishi mumkin va u baribir so'rovlarini ommaviy rezolverga yuboradi, shuning uchun alomat “VPN DNS ni buzdi” kabi ko'rinadi, holbuki DNS hech qachon VPN ga qaratilmagan.

Zonaga rekursiv rezolver bo'lmasdan xizmat ko'rsating

Server tomoni kichik vakolatli zona, umumiy rezolver emas. Bu misolda shlyuz 10.90.0.1, mijozlar 10.90.0.0/24, va sizni qiziqtirgan dastur 10.60.0.20 da javob beradi.

Bu sozlamalarni ikkinchi blok yaratish o'rniga mavjud options blokiga birlashtiring:

options {
    listen-on { 127.0.0.1; 10.90.0.1; };
    listen-on-v6 { none; };
    allow-query { 127.0.0.1; 10.90.0.0/24; };
    allow-transfer { none; };
    recursion no;
};

So'ngra zonani va uning faylini e'lon qiling:

zone "corp.example" {
    type primary;
    file "/etc/bind/db.corp.example";
};
$TTL 300
@ IN SOA ns.corp.example. hostmaster.corp.example. ( 1 3600 600 604800 300 )
@      IN NS ns.corp.example.
ns     IN A  10.90.0.1
portal IN A  10.60.0.20

Qayta yuklashdan oldin tekshiring, chunki yuklash paytida sintaksis xatosi u xizmat ko'rsatadigan har bir zona uchun butun serverni yiqitadi:

named-checkconf
named-checkzone corp.example /etc/bind/db.corp.example

UDP va TCP 53 ni faqat VPN interfeysida oching. Ommaviy interfeysda xususiy vakolatni e'lon qilish ham so'rovlarni, ham sanashni chaqiradi va allow-transfer ikkinchi darajali haqiqatan kerak bo'lmasa yopiq qolishi kerak.

Mijozni unga yo'naltiring, har bir ulanish uchun

Ulanish NetworkManager ga tegishli va rezolver systemd-resolved deb faraz qiling. Avval mavjud siyosatni o'qing, ayniqsa har qanday ildiz marshrutlash domenini, chunki ~. yozuvi siz qo'shmoqchi bo'lgan narsadan ustun bo'ladi.

nmcli connection modify wg-office +ipv4.dns 10.90.0.1
nmcli connection modify wg-office +ipv4.dns-search '~corp.example'

Tilda muhim belgi. U domenni faqat-yo'l deb belgilaydi: corp.example ostidagi nomlar bu ulanishning DNS serveriga boradi va domen qisqa nom qidiruv qo'shimchasi sifatida qo'shilmaydi. Usiz portal terish portal.corp.example ni hal qila boshlaydi, bu siz uchun qulay va qolganlar uchun hayratlanarli. Tildani qo'shtirnoq ichida saqlang, chunki qo'shtirnoqsiz bittasi uy katalogingizga ishora qilishni kutayotgan shell kengaytmasi.

O'zgarishni interfeysga egalik qiluvchi menejer orqali qo'llang, so'ngra ulanishni qayta ulang. Xuddi shu interfeys uchun ikkinchi wg-quick nusxasini ishga tushirmang; ikki egasi marshrutlar uchun talashadi va ulardan biri eng yomon paytda g'olib chiqadi.

Nomdan oldin yo'lni tekshiring

Nomni mijozdan so'rab, javobni va uni yaratgan serverni tasdiqlang:

resolvectl query portal.corp.example

Agar bu 10.60.0.20 qaytarsa, DNS shartnomasi bajarilgan. Vaqt tugasa, avval 10.90.0.1 ga yo'lni, so'ngra tarmoq devori qoidasini, so'ngra serverdagi allow-query ni tekshiring. Bu sozlashda nom hal qilish nosozliklari deyarli har doim yetib borish yoki ACL masalasidir, zona fayli emas. Mijozdan tashqariga qarab ishlang, chunki server so'rov nima uchun hech qachon yetib kelmaganini ayta olmaydi.

Dastur hali ham o'z yo'liga va o'z xizmat ruxsatiga muhtoj ekanini unutmang. Yetib bo'lmaydigan manzilga ishora qiluvchi hal qilingan nom — xuddi shu kiyimdagi boshqa nosozlik.

Hali avtomatik bo'lmagan narsalar

O'z rezolver mantiqiga ega dasturlar tizim rezolverini butunlay e'tiborsiz qoldiradi va qancha nmcli bo'lmasin, bu o'zgarmaydi. DNSSEC ni tekshiradigan joylashtirishlar xususiy zona uchun aniq ishonch langari dizaynini talab qiladi; javob tekshiruvni o'chirish haqidagi umumiy ko'rsatma emas. Foydalanuvchilaringiz ishlatadigan o'sha mijoz dasturi bilan sinab ko'ring, tasodifan tizim rezolveridan foydalanadigan vosita bilan emas. Bu ikkisi orasidagi farq butun xato hisobotidir.

Flotlar bu mijoz siyosatini o'zlarining ta'minlash tizimi orqali avtomatlashtirishi mumkin, ammo siyosat egasiga ega alohida obyekt bo'lib qoladi. BIND 9 ma'lumotnomasi yuqorida ishlatilgan tinglash va so'rov boshqaruvlarini qamrab oladi va o'rnatilgan versiyangiz uchun xatti-harakatni tasdiqlash uchun to'g'ri joy.

Keyingi qadam: zona seriya raqamining oshishini va tekshirish buyruqlarini o'zgarishlar tartibingizga qo'shing, shunda yozuvni tahrirlash tekshirilmasdan ishlab chiqarishga yetib bormasin.

O'xshash maqolalar