Назад | Перейти на главную страницу

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

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

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

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

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

Может быть, лучше спросить, стоит ли мне это делать? Или есть лучший способ разместить две зоны через каждую сетевую карту? Стоит ли мне использовать что-нибудь кроме BIND?

Я убираю это из того, что настроил для себя несколько лет назад, но вы можете использовать представления для разделения доменов, которые вы обслуживаете. Я использовал это, чтобы предоставить свои адреса 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; }; };
};

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