Настройте DNS для подсети

Я настроил свой собственный DNS-сервер и хочу, чтобы все в подсети могли искать друг друга.

Как я могу это сделать?

1 ответ

Решение

Во-первых, вам нужен DNS-сервер. BIND Установить BIND пример широко используемого и стандартного сервера.

Ниже приведен пример для:

  • сеть имени local.example.com
  • с IP-адресами 192.168.0.0
  • и сетевая маска 255.255.255.0 (24 бита)

Для сервера:

  • названный ns1
  • с номером IP 192.168.0.1

И для 2 внешних DNS-серверов:

  • 1.2.3.4
  • 1.2.3.5

Измените эти значения соответственно, чтобы соответствовать структуре вашей сети.

1. Установите BIND

sudo apt-get install bind9

2. Добавьте свой локальный домен

В конфигурационном файле BINDs /etc/named.conf.local добавить конфигурацию для запросов имени (имя к IP-номеру):

zone "local.example.com" {
    type master;
    file "/etc/bind/db.local.example.com";
    allow-query { 192.168.0.0.0/24; 127.0.0.1; };
};

А для обратных запросов (IP-номера к именам):

zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192.168.0";
    allow-query { 192.168.0.0/24; 127.0.0.1; };
};

Создайте два файла конфигурации для вашей сети. В /etc/bind/db.local.example.com, положил:

$TTL    604800
@       IN      SOA     local.example.com. hostmaster.example.com. (
                        1503281         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.local.example.com.
ns1     IN      A       192.168.0.1
;
; Local computers
comp1   IN      A       192.168.0.101
comp2   IN      A       192.168.0.102
comp3   IN      A       192.168.0.103

В /etc/bind/db.192.168.0 положил:

$TTL    604800
@       IN      SOA     v1.local.example.com. hostmaster.example.com. (
                        1503281         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.
1       IN      PTR     ns1.local.example.com.
; Local computers
101      IN      PTR     comp1.local.example.com.
102      IN      PTR     comp2.local.example.com.
103      IN      PTR     comp3.local.example.com.

Обратите внимание Serial параметр: он может содержать любое число, и его следует менять каждый раз, когда вы вносите изменения в файл конфигурации. В этом примере он построен на основе даты и уникального номера (YYMMDDN).

3. Внешние разрешения

Ваш сервер должен разрешать другие запросы, настраивать внешние DNS-серверы в /etc/bind/named.conf.options в качестве "экспедиторов":

 options {
    forwarders {
        1.2.3.4;
        1.2.3.5;
    };
    [...]
}

4. Загрузить конфигурацию

Вы можете перезагрузить конфигурацию:

sudo service bind9 reload

Проверьте /var/log/syslog если нет ошибок при загрузке ваших новых конфигов.

5. Использование

Теперь вы должны иметь возможность запрашивать ваш DNS-сервер с localhost и от клиентов 192.168.0.0/24 сеть. Они должны быть настроены для использования этого сервера (192.168.0.1) и это доменное имя (local.example.com) - например с настройкой DHCP или статически в /etc/network/interfaces, как это:

auto eth0
iface eth0 inet static
        address 192.168.0.101
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        dns-search local.example.com

Чтобы проверить свой DNS на клиентском компьютере (перед постоянным переключением), вы можете попробовать:

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