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.ddomain 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 TTLIN 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.tldzone ub.ru/IN: loaded serial 2
OK named-checkzone 1.168.192.in-addr.arpa /var/lib/bind/db.rev_domain.tldzone 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.2Server 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.
Комментарии
Комментариев пока нет.