Настройка DNS в FreeBSD

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

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

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

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

pkg search bind9

Вывод:

bind9-devel-9.12.0.a.2017.07.10 
bind910-9.10.6 
bind911-9.11.2 
bind99-9.9.11

Ставить будем пока bind911-9.11.2

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;  адрес шлюза провайдера
};

 Все остальное оставляем без изменений.

 Редактируем 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
mydom.loc 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)
)
                                                      NS           gate.mydom.loc.
                                                      A             192.168.9.1

@         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

$ORIGIN .
$TTL 604800 ; 1 week
9.168.192.in-addr.arpa 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)
)
                                                                         NS    gate.

1 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/localetc/namedb/master

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

sudo 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.

 

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