WireGuard DNS жөнөтпөйт: жеке BIND зонасын тейлөө
Кол кармашуу ачкычтарды жана уруксат берилген IP даректерди алып жүрөт, эч качан резолверди алып жүрбөйт. Мына даяр жеке BIND 9 зонасы жана аны чечүүгө мажбурлаган ар бир байланыш үчүн кардар саясаты.
Сиз WireGuard көтөрдүңүз, туннель трафикти өткөрөт, ал эми ички ат дагы эле чечилбейт. Кийинки кадам адатта WireGuard конфигурациясынан DNS параметрин издөө болуп саналат, кээ бир башка VPN сыяктуу теңтуш резолверди түртүп жибере алат дегендей. Жибере албайт. Кол кармашуу ачкычтарды, интерфейс даректерин жана уруксат берилген IP-лерди алып жүрөт, жана анда DNS серверлери же издөө домендери үчүн талаа жок. Резолвер саясаты кардарда жашайт, оңдоо да ошол жерде.
Туннель жана резолвер өзүнчө келишимдер
WireGuard атайын кичине. Ал сиз тизген даректер үчүн пакеттерди жылдырат жана теңтуштарды аутентификациялайт; ошол катмардан жогоркунун баары сиздин долбооруңуз. OpenVPN dhcp-option DNS жибере алат, анткени анын башкаруу каналы конфигурацияны алып жүрөт, жана бул айырма экөөнүн ортосунда жүргөндөрдү буттайт.
Ошондуктан иштеген туннель аттарды чечүү жөнүндө эч нерсе айтпайт. Кардарда 10.90.0.1 ге идеалдуу маршрут болушу мүмкүн жана ал сурамдарын жарыя резолверге жибере берет, ошондуктан симптом «VPN DNS бузду» деп көрүнөт, бирок DNS эч качан VPN ге багытталган эмес.
Зонаны рекурсивдик резолвер болбой тейлеңиз
Сервер тарабы кичине авторитеттүү зона, жалпы резолвер эмес. Бул мисалда шлюз 10.90.0.1, кардарлар 10.90.0.0/24, ал эми сизге керектүү колдонмо 10.60.0.20 дарегинде жооп берет.
Бул параметрлерди экинчи блок түзүүнүн ордуна бар болгон options блогуна бириктириңиз:
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;
};Анан зонаны жана анын файлын жарыялаңыз:
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Кайра жүктөөдөн мурун текшериңиз, анткени жүктөө учурундагы синтаксистик ката ал тейлеген ар бир зона үчүн бүт серверди кулатат:
named-checkconf
named-checkzone corp.example /etc/bind/db.corp.exampleUDP жана TCP 53 дү VPN интерфейсинде гана ачыңыз. Жарыя интерфейсте жеке авторитетти жарыялоо сурамдарды да, саноону да чакырат, жана allow-transfer экинчилик чындап керектебесе жабык бойдон калышы керек.
Кардарды ага багыттаңыз, ар бир байланыш үчүн
Байланышты NetworkManager ээлейт, ал эми резолвер systemd-resolved деп ойлоңуз. Адегенде учурдагы саясатты окуңуз, өзгөчө каалаган тамыр маршруттоо доменин, анткени ~. жазуусу сиз кошмокчу болгон нерседен басымдуу болот.
nmcli connection modify wg-office +ipv4.dns 10.90.0.1
nmcli connection modify wg-office +ipv4.dns-search '~corp.example'Тильда маанилүү белги. Ал доменди маршрут-гана деп белгилейт: corp.example астындагы аттар ушул байланыштын DNS серверине барат жана домен кыска ат издөө уландысы катары кошулбайт. Ансыз portal терүү portal.corp.example ды чечүүнү баштайт, бул сизге ыңгайлуу, калгандарга таң калыштуу. Тильданы тырмакчанын ичинде кармаңыз, анткени тырмакчасыз тильда үй каталогуңузга көрсөтүүнү күткөн shell кеңейтүүсү.
Өзгөртүүнү интерфейске ээлик кылган менеджер аркылуу колдонуңуз, анан байланышты кайра туташтырыңыз. Ошол эле интерфейс үчүн экинчи wg-quick нускасын иштетпеңиз; эки ээ маршруттар үчүн талашат жана алардын бири эң жаман учурда жеңет.
Аттан мурун жолду текшериңиз
Атты кардардан сурап, жоопту жана аны түзгөн серверди ырастаңыз:
resolvectl query portal.corp.exampleЭгер бул 10.60.0.20 кайтарса, DNS келишими аткарылды. Эгер убакыт бүтсө, адегенде 10.90.0.1 ге чейинки маршрутту, андан кийин брандмауэр эрежесин, андан кийин сервердеги allow-query текшериңиз. Бул конфигурацияда аттарды чечүүнүн ийгиликсиздиктери дээрлик ар дайым жеткиликтүүлүк же ACL, зона файлы эмес. Кардардан тышкары карай иштеңиз, анткени сервер сурам эмне үчүн келбегенин айта албайт.
Колдонмого дагы эле өзүнүн маршруту жана өзүнүн кызмат уруксаты керек экенин унутпаңыз. Жеткиликсиз дарекке көрсөткөн чечилген ат — ошол эле кийимдеги башка бузулуу.
Дагы эле автоматтык эмес нерселер
Өзүнүн резолвер логикасы бар колдонмолор системалык резолверди толугу менен этибарга албайт, жана nmcli канча болбосун аны өзгөртпөйт. DNSSEC текшерген жайылтуулар жеке зона үчүн ачык ишеним тирегинин долбоорун талап кылат; жооп текшерүүнү өчүрүү боюнча жалпы нускама эмес. Колдонуучуларыңыз иштеткен ошол эле кардар программасы менен сынаңыз, кокустан системалык резолверди колдонгон курал менен эмес. Ошол экөөнүн ортосундагы айырма — бүт ката отчёту.
Флоттор бул кардар саясатын өздөрүнүн камсыздоо системасы аркылуу автоматташтыра алышат, бирок саясат ээси бар өзүнчө объект бойдон калат. BIND 9 шилтемеси жогоруда колдонулган угуу жана сурам көзөмөлдөрүн камтыйт жана орнотулган версияңыз үчүн жүрүм-турумду ырастоонун туура жери.
Кийинки кадам: зонанын сериялык номеринин өсүшүн жана текшерүү буйруктарын өзгөртүүлөр процедураңызга кошуңуз, ошентип жазууну оңдоо текшерилбестен өндүрүшкө жете албайт.