DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Установка и настройка кеширующего DNS

Смотрим какие есть пакеты

pkg search bind9

Вывод:

bind9-devel-9.12 
bind910-9.10.6 
bind911-9.11.2 
bind99-9.9.11

устанавливаем

pkg install bind911-9.11.2

Рабочий каталог /usr/local/etc/namedb. Приводим named к следующему виду. Оставляем все как есть, только добавляем два параметра и раскомментируем строку forwarders

nano /usr/local/etc/namedb/named.conf
listen-on { 127.0.0.1; 192.168.9.1; };   где 192.168.9.1 адрес нашего локального шлюза

allow-recursion { 127.0.0.1; 192.168.9.0/24; };

forwarders {
192.168.1.1;  DNS адресa шлюза провайдера
};

Все остальное оставляем без изменений. Редактируем rc.conf  и добавляем

nano /etc/rc.conf

named_enable="YES"

Запускаем службу

service named start

Этот способ подходит для организации своего интернет шлюза.

Второй способ похож на первый, только мы добавим свои Зоны. Этот способ подходит для организации локального или глобального DNS сервера

Исходные данные

  • Имя компьютера: ub
  • IP: 192.168.1.1 внешний (пример)
  • IP: 192.168.9.1 внутренний
  • Имя домена: mydom.loc

Подготовка

Проверяем какой IP адрес получил компьютер

ifconfig -a 
мой ip 192.168.9.1 прописываем IP и имя нашего зарегистрированного домена в файлике /etc/hosts

sudo nano /etc/hosts
192.168.9.1 gate.mydom.loc gate

Далее настраиваем named.conf (Как и в первой части, только добавим ключи и 2 зоны: прямую и обратную)

Генерируем ключ для обновления DNS записей

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

выводим его на экран

cat Kdhcp_updater.*.private|grep Key

на экране вы должны увидеть ключ, что то подобно этому:

Key: vDo6/PVJ7sRm9bOJsBk9Zg==

Открываем файл конфигурации и добавляем

nano /usr/local/etc/namedb/named.conf

key "mydomlockey" {
algorithm hmac-md5;
secret "vDo6/PVJ7sRm9bOJsBk9Zg==";
};
zone "mydom.loc" {
type master;
allow-update {
key "mydomlockey";
};
file "/usr/local/etc/namedb/master/mydom.loc";
};

zone "9.168.192.in-addr.arpa" {
type master;
allow-update {
key "mydomlockey";
};
file "/usr/local/etc/namedb/master/9.168.192.in-addr.arpa.db";

};

Создаем прямую зону

nano /usr/local/etc/namedb/master/mydom.loc

$TTL 604800 ; 1 week
@ IN SOA mydom.loc. root.mydom.loc. (
                        1 ; serial
                        604800 ; refresh (1 week)
                        86400 ; retry (1 day)
                        2419200 ; expire (4 weeks)
                        604800 ) ; minimum (1 week)

IN           A          192.168.9.1
;
@            IN            NS         gate.mydom.loc.
@            IN            A          192.168.9.1
gate         IN            A          192.168.9.1

Настроим обратную зону

! Обратная зона нужна только для локального dns сервера, если Вы создаете публичный DNS сервер, то обратная запись прописывает у Вашего провайдера интернета.

nano /usr/local/etc/namedb/master/9.168.192.in-addr.arpa.db

$TTL 604800 ; 1 week
@ IN SOA gate.mydom.loc. mydom.loc. (
                              1 ; serial
                              604800 ; refresh (1 week)
                              86400 ; retry (1 day)
                              2419200 ; expire (4 weeks)
                              604800 ) ; minimum (1 week)

;

@       IN        NS         gate.
1       IN        PTR        gate.mydom.loc.

Теперь проверим наши конфиги

named-checkzone mydom.loc /usr/local/etc/namedb/master/mydom.loc

zone ub.ru/IN: loaded serial 1
OK
named-checkzone 9.168.192.in-addr.arpa /usr/local/etc/namedb/master/9.168.192.in-addr.arpa.db

zone 1.168.192.in-addr.arpa/IN: loaded serial 1
OK

Проверим права на папке /usr/localetc/namedb/master. Принадлежать папка должна bind. Вот так

drwxr-xr-x  2 bind  bind     512  6 окт.  23:08 master

Если не стоят ставим (Иначе dhcp не сможет записать данные в прямую и обратную наши зоны клиентов)

chown -R bind:bind /usr/local/etc/namedb/master

Применяем изменения

rndc reload

Меняем в кон фале resolv.conf данные

nano /etc/resolv.conf

search mydom.loc
nameserver 192.168.9.1

Пропишем в rc.conf

echo 'named_enable="YES"' >> /etc/rc.conf

Логирование

nano /etc/syslog.conf

!named
*.* /var/log/named.log

Создаем файл

touch /var/log/named.log

Установим права

chown bind:bind /var/log/named.log

Перезапустим

service syslogd reload

Запустим службу

service named start

Если служба не запустилась, смотрите логи!

Таким же способ мы можем создать публичный DNS server, только вместо локального IP прописывает адреса полученные у интернет провайдера.

nslookup mydom.loc

Server 192.168.91
Server 192.168.9.1#53

Name: mydom.loc
Address: 192.168.9.1
nslookup 192.168.9.1

Server 192.168.9.1
Server 192.168.9.1#53

1.9.168.192.in-addr.arpa name=gate.mydom.loc.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *