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


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

  • имя компьютера: ub
  • имя домена: domain.tld

Подготовка 

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

 ifconfig -a  

# мой ip 192.168.1.1

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

 sudo nano /etc/hosts     

192.168.1.1 ub.domain.tld ub

Настроим сетевой интерфейс

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.1

 Установка bind9

 sudo apt-get install bind9

# каталог установки /etc/bind.

Следующим шагом, генерируем ключ для обновления DNS записей

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

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

cat Kdhcp_updater.*.private|grep Key

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

Key: lqrfes/uv041jCmoqDu3BA==

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

sudo nano /etc/bind/named.conf.options

Добавим следующий код:

forwarders{

                    85.112.23.15
                    85.112.23.18 #DNS нашего провайдера
                    8.8.8.8;
                    8.8.4.4;
};

listen-on {
                  127.0.0.1;
                  192.168.1.1;
};

 forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.

listen-on – адреса через которые будет обслуживаться наш DNS сервер.

Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.

 nano /etc/resolvconf/resolv.conf.d

domain domain.tld
search domain.tld
nameserver 127.0.0.1     #(192.168.1.1)

# Переходим в каталог

 cd /etc/bind

Прописываем зоны для нашей сети

 sudo nano named.conf.local

key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «lqrfes/uv041jCmoqDu3BA==»;
};

zone «domain.tld» { //прямая зона
type master;
file «/var/lib/bind/db.domain.tld»;
allow-update { key DHCP_UPDATER; };
};

 zone «1.168.192.in-addr.arpa» { // обратная зона PTR
type master;
file «/var/lib/bind/db.rev_domain.tld»;
allow-update { key DHCP_UPDATER; };
};

cd /var/lib/bind/
sudo cp /etc/bind/db.local /var/lib/bind/db.domain.tld

# Настраиваем прямую зону

sudo nano db.domain.tld

;
; BIND data file for domain.tld ;
$TTL 604800
@ IN SOA domain.tld. root.domain.tld.(
                                                      2 ; Serial
                                                     604800 ; Refresh
                                                     86400 ;Retry  
                                                     2419200 ; Expire
                                                     604800 ) ; Negative Cache TTL

IN            A          192.168.1.1
;
@      IN            NS        ub.domain.tld.
@      IN             A          192.168.1.1
ub  IN             A          192.168.1.1

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

 sudo cp/etc/bind/db.127 /var/lib/bind/db.rev_domain.tld
 sudo nano db.rev_domain.tld

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ub.domain.tld. domain.tld. (
                                                              1 ; Serial
                                                   64800 ; Refresh
                                                   86400 ; Retry
                                               2419200 ; Expire
                                              604800 ) ; Negative Cache TTL
;
@ IN  NS    ub.
 1  IN  PTR ub.domain.tld.

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

  named-checkzone domain.tld /var/lib/bind/db.domain.tld
zone ub.ru/IN: loaded serial 2
OK
 named-checkzone 1.168.192.in-addr.arpa /var/lib/bind/db.rev_domain.tld
zone 1.168.192.in-addr.arpa/IN: loaded serial 2
OK

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

sudo rndc reload

sudo service bind9 restart 

# Теперь проверим наш DNS сервер

 nslookup domain.tld 

Server 192.168.1.1

Server 192.168.1.1#53

Name: domain.tld

Address: 192.168.1.1

 nslookup 192.168.1.2

Server 192.168.1.1

Server 192.168.1.1#53

1.1.168.192.in-addr.arpa name=ub.domain.tld.

В последующем как настроим DHCP сервер, нужно, чтобы он автоматически создавал А запись, для этого нужно дать права на запись в /etc/default/bind9

nano /etc/default/bind9

Пропишем 

# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Прописывать  обратную зону на своем сервер можно, если настраиваешь локальный DNS сервер, для глобального необходимо прописывать у Вашего хостера.  

Кстати можно прописать свой глобальный серевер DNS, только нужно прописать вместо локального IP, Ваш глобальный («белый») IP  и второе нужен другой NS сервер хотя бы один иначе DNS не заработает.

Теперь можем настроить DHCP.

Удачи!

 

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

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