Могу ли я использовать BIND для обеспечения разрешения DNS для двух изолированных сетей через DNS-сервер с двумя домами?

Я устанавливаю две маленькие изолированные сети. Ни в одной из этих сетей не будет подключения к Интернету. Я пытаюсь предоставить DNS и DHCP обеим сетям через один доступный сервер Ubuntu, и пока DHCP работает с файлами, я никогда не настраивал BIND раньше.

Следуя руководству по DNS- руководству, я отредактировал named.conf.local и велел ему искать конфигурации для двух моих доменов (network1.local и network2.local) в /etc/bind/db.network1.local и db.network2. местный. Кстати, network1.local находится на eth0, network2.local находится на eth1.

Затем я скопировал db.local в каждый из этих двух файлов и отредактировал их, чтобы получить запись A для самого сервера имен ns.network1.local.

Однако в конфигурации я не вижу ничего, что могло бы помешать хостам в сети1 получать разрешение DNS для имен в сети network2.local. Что я могу сделать, чтобы предотвратить это? Есть ли способ привязать BIND (тьфу) к одному домену для каждого интерфейса?

Возможно, лучший вопрос будет, должен ли я это сделать? Или есть лучший способ размещения двух зон через каждую сетевую карту? Должен ли я использовать что-то, кроме BIND?

1 ответ

Решение

Я отключил это от чего-то, что я создал для себя несколько лет назад, но вы можете использовать представления для разделения доменов, которые вы используете. Я использовал это, чтобы я мог предоставлять свои адреса RFC1918 своим локальным клиентам и свои публичные адреса публичным клиентам, но я думаю, что это сработает для того, что вы хотите сделать.

Примерно так (при условии, что клиенты в network1.local используют 192.168.0.0/24, а клиенты в network2.local используют 192.168.1.0/24):

view "network1" {
  match-clients { 192.168.0.0/24; };
  zone "." { type hint; file "hints/named.root"; };
  zone "0.0.127.in-addr.arpa" { type master; file "zones/localhost.rev"; };
  zone "0.168.192.in-addr.arpa" { type master; file "zones/0.168.192.rev";
                       allow-transfer { 192.168.0.0/24; }; };
  zone "network1.local" { type master; file "zones/network1.local";
                       allow-transfer { 192.168.0.0/24; }; };
};


view "network2" {
  match-clients { 192.168.1.0/24; };
  zone "." { type hint; file "hints/named.root"; };
  zone "0.0.127.in-addr.arpa" { type master; file "zones/localhost.rev"; };
  zone "1.168.192.in-addr.arpa" { type master; file "zones/1.168.192.rev";
                       allow-transfer { 192.168.1.0/24; }; };
  zone "network2.local" { type master; file "zones/network2.local";
                       allow-transfer { 192.168.1.0/24; }; };
};

Я не могу вспомнить, есть ли что-то еще, но это должно дать вам опору. Удачи.

Другие вопросы по тегам