Установка и настройка DNS в Ubuntu

Дата: 29.03.2017. Опубликовал: Админ, на

Для тех, кто не знает, что DNS представляет собой систему доменных имён, которая служит для преобразования имени в IP-адрес ПК и обратно. Таким образом, когда вы вводите адрес веб-страницы в браузере, система доменных имён преобразует его в IP-адрес хостинга, на котором располагается конкретный домен. В этой статье детально разберём, как установить и настроить DNS-сервер Ubuntu. Давайте же начнём. Поехали!

Из нашей статьи вы точно узнаете, как установить и настроить DNS-сервер Ubuntu правильно

Первый этап

Первый этап — установка. Рекомендуется использовать сервер Bind9. Для этого перейдите в терминал и введите:

sudo apt install bind9

Далее необходимо сгенерировать ключ для обновления записей либо воспользоваться уже имеющимся. Чтобы сгенерировать его, выполните:

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

для вывода ключа на экран нужно ввести

cat Kdhcp_updater.*.private|grep Key

Его обязательно нужно сохранить, так как в дальнейшем secret key вам понадобится.

Чтобы воспользоваться уже имеющимся ключом, добавьте в /etc/bind/named.conf запись. Сперва необходимо выполнить:

sudo nano /etc/bind/named.conf,

а после добавить в файл строку:

include «/etc/bind/rndc.key»;

Настройка Bind9

Теперь перейдём к настройке Bind9. Откройте файл конфигурации, прописав в терминале:

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

и добавьте туда следующие строки:

forwarders {
8.8.8.8;
8.8.4.4;
};
listen-on {
127.0.0.1;
192.168.0.1;
};

forwaders — вышестоящий DNS, используемый в случаях, когда в базе не удаётся найти URL-запрос.

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

Перезапуск bind9

Далее необходимо перезапустить bind9. Для этого пропишите в терминале:

sudo service bind9 restart

Теперь укажите зоны прямого и обратного просмотра, а также введите их в конфигурации bind9. Исходные данные следующие:

Доменное имя — dom
IP-адрес сервера — 192.168.0.1
Имя сервера — ns.dom

Чтобы настроить зону прямого просмотра, создайте соответствующий файл и скопируйте его образец:

sudo cp /etc/bind/db.local /var/lib/bind/db.dom

далее отройте командой:

sudo nano /var/lib/bind/db.dom

и отредактируйте следующим образом:

$ORIGIN .
$TTL 604800     ; 1 week
dom          IN            SOA      ns.dom. root.ns.dom. (
201605277  ; serial
604800     ; refresh (1 week)
86400      ; retry (1 day)
2419200    ; expire (4 weeks)
604800     ; minimum (1 week)
)
@            IN            NS       ns.dom.
@            IN            A        192.168.0.1
@            IN            AAAA     ::1
$ORIGIN dom.
$TTL 604800     ; 1 week
ns           IN            A        192.168.0.1

Далее необходимо настроить обратную. Для этого сделайте копию файла прямого просмотра, которую вы только что создали:

sudo cp /var/lib/bind/db.dom /var/lib/bind/db.192.dom

открываете его командой:

sudo nano /var/lib/bind/db.192.dom

и также редактируете:

$ORIGIN .
$TTL 604800     ; 1 week
0.168.192.in-addr.arpa  IN  SOA    ns.dom. root.ns.dom. (
2016052655 ; serial
604800     ; refresh (1 week)
86400      ; retry (1 day)
2419200    ; expire (4 weeks)
604800     ; minimum (1 week)
)
@          IN         NS        ns.
$ORIGIN 0.168.192.in-addr.arpa.
$TTL 604800     ; 1 week
1          IN         PTR       ns.dom.

Чтобы настроить зоны в конфигурации bind9, нужно открыть файл конфигурации командой:

sudo nano /etc/bind/named.conf.local,

а дальше появляется снова два варианта развития событий. Если вы создавали secret key первым способом, пропишите:

key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «9DxMmNw7J813qviXajG7rQ==»;
};

// зона прямого просмотра

zone «dom»{
type master;
file «/var/lib/bind/db.dom»;
allow-update { key DHCP_UPDATER; };
};

// зона обратного просмотра

zone «0.168.192.in-addr.arpa»{
type master;
file «/var/lib/bind/db.192»;
allow-update { key DHCP_UPDATER; };
};

key DHCP_UPDATER — информация о secret key, который вы записывали в самом начале (его необходимо прописывать в кавычках). IP-адреса, указанные здесь и далее, нужно вписывать именно так, как показано здесь.

Если ранее, вы воспользовались вторым способом, введите:

// зона прямого просмотра

zone «dom»{
type master;
file «/var/lib/bind/db.dom»;
allow-update { key rndc-key; };
};

// зона обратного просмотра

zone «3.168.192.in-addr.arpa»{
type master;
file «/var/lib/bind/db.192»;
allow-update { key rndc-key; };
};

где key rndc-key — данные ключа, взятые из системы, а zone «dom» — данные о зоне применения системы доменных имён.

Проверить правильность настройки можно с помощью команды:

named-checkconf

Если всё сделано правильно, то она ничего не напишет. Иначе вы увидите сообщение об ошибках, и их придётся исправить.

Остаётся сохранить всё это дело, затем закрыть и перезапустить bind9, введя:

sudo /etc/init.d/bind9 restart

Проверка работы системы доменных имён

Теперь проверьте работу системы доменных имён:

nslookup ns.dom

в результате вы должны получить нечто вроде:

Server:        127.0.0.1
Address:    127.0.0.1#53
Name:    ns.dom
Address: 192.168.0.1

Как вы можете убедиться, зона прямого просмотра работает. Теперь удостоверьтесь, что также работает и обратная:

nslookup 192.168.0.1

В результате вы должны увидеть:

Server:        127.0.0.1
Address:    127.0.0.1#53
1.0.168.192.in-addr.arpa    name = ns.dom.

В итоге вы должны получить имя сервера, введя его IP. Если у вас всё отображается подобным образом, значит, настройка была произведена верно. Если же нет, значит, ранее была допущена ошибка.

Настройка динамического обновления

Чтобы настроить динамическое обновление, откройте /etc/dhcp/dhcpd.conf, выполнив команду:

sudo nano /etc/dhcp/dhcpd.conf

Строку ddns-update-style none нужно заменить на ddns-update-style interim. Далее добавьте строку update-static-leases on, которая отвечает за создание зон для клиентов со статичным IP. Убедитесь, что в option domain-name содержится название домена «dom». В строке «key» должно быть название вашего ключа (если вы ранее выбирали первый способ, пропишите DHCP_UPDATER, если второй, то rndc-key), содержит ваш секретный ключ. Чтобы посмотреть rndc-key выполните:

cat /etc/bind/rndc.key |grep secret

в результате должно получиться нечто подобное:

secret «2mu11eRajAdm4KV0x0Pmcg==»;

На этом с настройками DHCP всё. Теперь необходимо перезапустить bind9 и dhcp. Для этого пропишите:

sudo service bind9 restart
sudo service isc-dhcp-server restart

Остаётся проверить как всё работает. Запустите клиентскую машину, находящуюся в сети с сервером. После запуска машина получит IP от DHCP, а он, в свою очередь, создаст запись типа client-pc.dom. По запросу «nslookup имя_клиентской_машины», вы должны получить ответ. Перезапустив server, можно будет посмотреть файлы прямого и обратного просмотра. Если на предыдущих этапах вы всё настроили правильно, там вы увидите информацию о новых машинах. Готово. Настройка завершена.

Итоги

Теперь вы знаете, как настраивается DNS-сервер в Ubuntu. Пишите в комментариях как вы справились с этой задачей, делитесь своим опытом с другими юзерами, и задавайте любые интересующие вас вопросы по теме этой статьи.

Подписаться
Уведомить о

0 комментариев
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии