На моей Linux-машине есть:
- один физический интерфейс eth0 с публичным ip x.x.x.x
- один логический интерфейс eth0: 0 с публичным ip t.t.t.t
- BIND DNS прослушивает t.t.t.t
Если я пингую t.t.t.t из любого другого места, он отвечает, так что это хорошо.
Я пытаюсь настроить BIND для использования ip t.t.t.t для обмена зонами, единственное, что плохо, это то, что трафик, возвращаемый с главного сервера, возвращается на x.x.x.x.
Я пробовал несколько SNAT, но мне это не совсем понравилось, трафик соответствовал моему правилу, но главный BIND все равно отвечал на x.x.x.x.
Любые идеи?
BIND имеет transfer-source
опция, которая контролирует, какой локальный адрес используется для выборки зон. Добавьте его в options
раздел named.conf
:
options {
// ...
transfer-source t.t.t.t;
};
Если этот параметр установлен, BIND будет отправлять сообщения запроса на передачу от t.t.t.t
. Ответы от мастера будут отправлены обратно t.t.t.t
. Вам также необходимо настроить мастер для приема передачи зон от t.t.t.t
(если вы еще этого не сделали).
Вы также можете установить query-source
и notify-source
параметры для управления тем, какой локальный адрес используется для выполнения запросов и отправки уведомляющих сообщений соответственно:
query-source address t.t.t.t;
notify-source t.t.t.t;
Дополнительную документацию по этим параметрам можно найти в Справочном руководстве администратора BIND, доступном по адресу Документация BIND страница.