Я намагаюся налаштувати 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
Як це виправити? Чи роблю щось жахливе? Чи є кращий спосіб зробити це?