Екі сайт, бір жеке DNS аймағы: жазбалар кімдікі?
Жазбалар тізімі бөлек сайттар VPN арқылы репликацияланбайды. Ортақ өкілеттік немесе делегацияланған сайт субдомендерін таңдап, содан кейін әрбір шешушіні соларға бағыттаңыз.
Сіз жасыл сайтқа хост қосасыз, ол жасыл пайдаланушылар үшін шешіледі, ал сары кеңсе әлі де NXDOMAIN алады. Бұл VPN ақауы да, бүлінген шешуші де емес; бұл жеке аймақтағы меншік қуысы. Екі дербес өңделген жазба тізімі сайттар бір-біріне жете алатындықтан ғана бір аймаққа айналмайды. Шешім — жариялау жоспары, тағы бір брандмауэр ережесі емес.
Симптом жоқ меншік иесін атайды
Әр сайтта, бәлкім, біреу ат қажет болғанда қосқан жергілікті қайта анықтау, Pi-hole жазбасы немесе dnsmasq жолы бар. Жасыл жазба тек жасыл шешушіде бар, сондықтан сары сайттағы клиент өз шешушісінен сұрайды да, шынайы "мұндай ат жоқ" жауабын алады. Ескірген жауап басқаша көрінеді: хост көшіп кетті, бір сайт өз көшірмесін жаңартты, ал екіншісі әлі ескі мекенжайды қайтарады.
Екі үлгінің ешқайсысы кэшті тазалаумен ұзақ түзелмейді. Қайта бағыттаушы шешушінің кэші бір кезде алған жауабының көшірмесі, жаңа аттарды жариялайтын өкілеттік емес, сондықтан бүгін жұмыс істеген кэш ертеңгі хост туралы ештеңе айтпайды. BIND құжаттамасы негізгі, қосалқы, рекурсивті және қайта бағыттаушы рөлдерді дәл осы себеппен бөлек сипаттайды.
Сондықтан дизайн сұрағы тар және жауапқа келетін: жазбаны кім құра алады, және ол жазба оған жауап беруге тиіс әрбір шешушіге қалай жетеді?
A нұсқасы: қосалқылармен бір өкілетті аймақ
internal.example.com үшін негізгіні іске қосып, қолдау көрсетілген қосалқыларға аймақты әр сайтта алуға рұқсат етіңіз. Әр сайттың рекурсивті шешушісі өзінің жергілікті қосалқысынан сұрайды, сондықтан жауаптар кэштен емес, өкілетті көзден келеді, және бір рет жасалған өзгеріс қайта терулінің орнына ауыстырылады.
Мұндай тәртіп кейінге қалдыру оңай және өткізіп жіберу қымбат нақты шешімдерді талап етеді. Аймақты кім өңдей алады? Қай серверлерге оны ауыстыруға рұқсат етілген, және қай мекенжайлар арқылы? Сайттар арасындағы туннель өшіп тұрғанда клиенттер не көруі керек? Қосалқы өзінің соңғы көшірмесінен жауап беруді жалғастырады, бұл әдетте қалаған мінез-құлық, бірақ ол жарияланған таңдау болуы керек, үзіліс кезіндегі тосынсый емес.
Аймақ ауыстыруларды мекенжай бойынша белгілі қосалқылармен шектеп, іске асыру қолдайтын жерлерде транзакция қолтаңбаларын пайдаланыңыз. Ашық ауыстыру — портқа жете алатын кез келген адам үшін ішкі ат кеңістігіңіздің көшірмесі.
Бағасы — үйлестіру: бір өңдеу жолы, бір өзгеріс қарауы және жазба қате болғанда кім кезекші екені туралы ортақ түсінік.
B нұсқасы: әр сайт үшін субдомен
green.internal.example.com жасыл сайтқа, yellow.internal.example.com сары сайтқа делегациялаңыз. Әр сайт өз аттары үшін өкілетті болады, ал ата-ана аймақ тек делегация жазбаларын алып жүреді. Бір файл үшін талас жоғалады, және жергілікті команда орталық өзгерісті күтпей-ақ хост қоса алады.
Делегация ата-ана аймақта болуы керек, сайттың өкілетті серверлеріне сілтейтін NS жазбаларымен. Толық делегация практикалық болмағанда субдомен үшін шартты қайта бағыттау жарамды балама, бірақ бұл шешуші параметрі, жарияланған факт емес, сондықтан әр шешушіге бірдей ереже қажет.
Бағасы жоғалудың орнына орын ауыстырады: ата-ана аймаққа әлі де меншік иесі керек, ал жаңа сайт құру енді бір емес, екі жерде өзгеріс.
Әр шешуші таңдауды ұстансын
Клиенттерге бекітілген шешуші мен іздеу доменін қолдау көрсетілетін конфигурация арқылы беріңіз және оған көз жеткізіңіз: шешушінің сұрауға тиіс кез келген қашықтағы DNS серверіне рұқсат етілген VPN маршруты бар. Қолданбаларға да осы жауаптар қайтаратын жеке мекенжайларға маршруттар қажет, өйткені жолсыз дұрыс ат та бүлінген байланыс болып қалады.
Егер Pi-hole жергілікті шешімді ұсынса, қай жазбалар оған тиесілі және қай сұрауларды қайта бағыттайтынын жазып қойыңыз. Екі дербес өңделген Pi-hole тізімі әлі де репликацияланбайды. Pi-hole v6-да теңшелген dnsmasq жолдары TOML, CLI немесе орта айнымалылары сияқты хост тарапының опциялары арқылы орнатылады және API арқылы көрсетілмейді; /etc/dnsmasq.d/ файлдарын жүктеу — әдепкіде өшірулі жеке опция.
Содан кейін барлық жерде көрінуі тиіс атпен екі жақтан да сынап көріңіз:
$ dig +short newhost.green.internal.example.com @10.20.0.53
10.20.0.41
$ dig +short newhost.green.internal.example.com @10.30.0.53
10.20.0.41
$ dig SOA internal.example.com @10.30.0.53
SOA жауабы сары шешуші өзін өкілетті санай ма, қосалқыдан сұрай ма, әлде жай ғана қайта бағыттай ма, соны айтады. Бұлар әртүрлі ақау режимдері бар әртүрлі дизайндар, және жауап әдетте қайсысын нақты енгізгеніңізді анықтайды.
Үш қабылдау жағдайымен аяқтаңыз: әр сайттан бір ат, бір сағат ішінде өзгертілген бір жазба және сайттар арасындағы байланыстың қолжетімсіздігі. Тек біріншісінен өтетін дизайнның қағазда жариялау жоспары, өндірісте жергілікті қайта анықтауы бар.