bind9, исключить адрес внешнего интерфейса из результатов
Добрый день, я использую Zentyal, настроенный с 2 интерфейсами, один внутренний и один внешний. При решении имени хоста сервера и псевдонимов, bind случайным образом возвращает внешний адрес в результатах. Проблема, конечно, заключается в том, что локальная сеть не может общаться с внешней сетью и случайным образом прерывает работу служб. Пример:
dig proxy.private.example.com
;; ANSWER SECTION:
proxy.private.example.com. 259200 IN CNAME zentyal.private.example.com.
zentyal.private.example.com. 900 IN A 192.168.122.73
zentyal.private.example.com. 900 IN A 10.10.20.40
10.10.20.40 находится во внутренней сети и адрес, который мы должны всегда разрешать.
Как исключить интерфейс "192.168.122.73" из результатов? Как будет выглядеть моя конфигурация bind?
PS: я искал в течение 3 дней; Возможно, я ищу неправильные вещи.
Ваша помощь очень ценится.
1 ответ
Теперь вы настроили несколько A
записи для одного и того же ресурса. Bind обработает это как циклический перебор и поочередно вернет 192.168.122.73 или 10.10.20.40 для запроса DNS для zentyal.private.example.com.
Вы хотите, чтобы в зависимости от интерфейса / IP-адреса, с которого исходит DNS-запрос, последовательный способ возвращает другой ответ. В Bind это называется представлением.
Для этого необходимо настроить два разных файла зоны: для внешних клиентов и секунду для внутренних клиентов и настроить Bind, когда использовать какой файл зоны. Соответствующий раздел конфигурации в вашей конфигурации может выглядеть примерно так:
view "internal" {
match-clients { localnets; };
recursion yes; /* this is the default */
zone "private.example.com" {
type master;
file "db.private.example.com.internal";
allow-transfer { any; };
};
};
view "external" {
match-clients { any; };
recursion no;
zone "example.com" {
type master;
file "db.example.com.external";
allow-transfer { none; };
};
};
Затем добавьте запись A с IP-адресом 10.x в db.private.example.com.internal и убедитесь, что в общедоступном db.example.com.external остается только запись A с IP-адресом 192.x файл зоны.