У меня есть DNS-сервер (linux box с bind9), который является авторитетным для некоторых доменов и перенаправляет все другие запросы на внешний DNS-сервер моего провайдера.
Пока никаких проблем.
Теперь я хочу, чтобы запросы о некоторых конкретных доменах перенаправлялись на мой внутренний DNS-сервер, например:
zone "some_domain" {
type forward;
forwarders {
some_internal_dns_ip;
};
};
Пока проблем нет, все работает нормально.
Но затем я также хочу перенаправить некоторые обратные DNS-запросы на мой внутренний DNS. Итак, я добавил:
zone "16.172.in-addr.arpa" {
type forward;
forwarders {
some_internal_dns_ip;
};
};
И это работает не так, как я ожидал. Запросы о "16.172.in-addr.arpa
" (например 1.16.172.in-addr.arpa
) разрешены правильно, но обратные запросы о полном адресе (например, 1.1.16.172.in-addr.arpa
) не. Я понимаю, что мой сервер должен использовать здесь рекурсивный запрос, но не смог его настроить. Я уже пробовал добавлять следующие варианты
recursion yes;
allow-recursion { 127.0.0.1; };
allow-recursion-on { 127.0.0.1; };
но безуспешно. (Я использовал здесь loopback-адрес, потому что мне нужна эта функция только для моего DNS-хоста, а не для его клиентов) Есть предложения?
Это потому, что по умолчанию bind создает «пустые зоны». Итак, ваш сервер имен является главным для «16.172.in-addr.arpa». зона и вернитесь с "NXDomain" для своих ответов.
Если вы определяете «пустых-зон-включения нет;» в named.conf это будет работать так, как вы ожидаете.
У меня была такая же проблема, вам просто не хватает IN в синтаксисе named.conf:
zone "5.10.in-addr.arpa." IN {
type forward;
forwarders {10.5.0.1;};
};
zone "6.10.in-addr.arpa." IN {
type forward;
forwarders {10.6.0.1;};
};
Это сбивает с толку, так как зоны master / slave не нужны. Во всяком случае, это то, что исправило для меня.
Два подхода ...
ИЛИ