Я намагаюся налаштувати BIND так, щоб він вловлював будь-які запити, зроблені до нього, і вказував їх на певний набір NS-серверів та конкретний запис A.
У мене є близько 500 доменів, і я додаю нові з розрахунку 10-15 на день, тому я не хочу чітко додавати зону для кожного домену.
Моя поточна настройка: у моєму імені.conf у мене є вид (названий зовнішній) із наступною зоною в ньому:
zone "." {
type master;
file "ext.zone";
};
Це відповідає всім запитам.
ext.zone - це:
$ 3600 TTL @ В SOA. root.nsdomain.com. ( 1; Серійний 3600; Оновити 300; Повторіть спробу 3600; Термін дії 300); Негативний кеш TTL В НС ns1.example.com В НС ns2.example.com ns1 IN A 192.0.2.4 ns2 В А 192.0.2.5 *. В А 192.0.2.6
Отже, мета така: для всіх запитів NS повернення ns1.example.com
та ns2.example.com
для всіх запитів A, за винятком випадків, де вони є, ns1.example.com
або ns2.example.com
повернення 192.0.2.6
. Для ns1.example.com
повернення 192.0.2.4
, для ns2.example.com
повернення 192.0.2.5
.
Це майже працює, єдина проблема полягає в тому, що коли я роблю, я отримую:
копати @localhost somedomain.example ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example ; (Знайдено 1 сервер) ;; глобальні варіанти: printcmd ;; Отримав відповідь: ;; opcode: QUERY, статус: NOERROR, id: 37733 ;; прапори: qr aa rd; ЗАПИТАННЯ: 1, ВІДПОВІДЬ: 1, ВЛАДА: 2, ДОДАТКОВО: 2 ;; РОЗДІЛ ЗАПИТАННЯ: ; somedomain.example. В ;; ВІДПОВІДЬ: somedomain.example. 3600 В А 192.0.2.6 // як очікувалося ;; РОЗДІЛ ВЛАДИ: . 3600 В нс ns1.example.com. // Очікується, я не знаю, чи "". на початку погано, хоча. . 3600 В нс ns2.example.com. // Дивись вище. ;; ДОДАТКОВИЙ РОЗДІЛ: ns1.example.com. 3600 IN A 192.0.2.6 // не очікується, це має бути 192.0.2.4 ns2.example.com. 3600 IN A 192.0.2.6 // не очікується, це має бути 192.0.2.5
Як це виправити? Чи роблю щось жахливе? Чи є кращий спосіб зробити це?