Содержание статьи:
- Настройка кеширующего DNS сервера
- Создание зон прямого и обратного просмотра
- Настройка динамического обновления зон DHCP сервером
Настройка кеширующего DNS сервера
Устанавливаем службу DNS сервера Bind9, командой:
sudo apt-get install bind9
При установке сервера Bind9 система может потребовать от вас вписать свое согласие Yes, а не просто нажать кнопку Y.
Генерируем ключ для обновления DNS записей, следующей командой:
dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER
Показать этот ключ можно командой:
cat Kdhcp_updater.*.private|grep Key
Отобразится ключ вида вида sWAQagEOVTtRQpCekhNsJQ==, данный ключ понадобится нам позже. Либо скопируйте данный ключ, либо запомните команду отображения ключа.
Открываем файл конфигурации Bind9, командой:
sudo nano /etc/bind/named.conf.options
Именно в этом файле прописываются внешние DNS сервера, к которым будет обращаться наш локальный сервер.
forwarders — вы можете установить сервера своего провайдера, или DNS сервера компании Google (8.8.8.8 и 8.8.4.4. в некоторых случаях они работают стабильней или снимают ограничения вашего провайдера) .
Так как я настраиваю сервер школы, я буду использовать «семейные» DNS сервера компании Яндекс (об этом сервисе для домашних пользователей, я уже упоминал).
Это будет самым первым уровнем защиты и первым фильтром контента школы.
listen-on — адреса через которые будет обслуживаться наш DNS сервер.
Закомментируем строку dnssec-validation auto.
Перед последней закрывающей скобкой в файле конфигурации Bind9 вставляем следующий текст:
forwarders {
77.88.8.7;
77.88.8.3;
};
listen-on {
127.0.0.1;
192.168.137.1;
};
Перезапускаем службу DNS, командой:
sudo service bind9 restart
Далее требуется ввести изменения в системный файл конфигурации resolv.conf, но так как значения этого файла берется из другого, вносим изменения в изначальный файл, командой:
sudo nano /etc/resolvconf/resolv.conf.d/tail
Вносим в него следующие значения, для нашей сети.
domain school.loc
search school.loc
nameserver 127.0.0.1
Сохраняем и закрываем файл. Перезагружаем DNS сервер, командой:
sudo service bind9 restart
Проверяем работу нашего DNS сервера, командой:
dig ubuntu.com
После чего повторно вводим эту же команду:
dig ubuntu.com
Нас интересует поле Query time (Время запроса) обеих команд, если время выполнения второго запроса уменьшилось, значит наш DNS сервер работает нормально.
Для проверок используйте менее популярные домены, чем mail.ru, ya.ru, google.com.
Перезагрузите сервер (команда reboot) и выполните проверку еще раз (необязательно, но поможет диагностировать на каком этапе настройки появилась ошибка)
Создание зон прямого и обратного просмотра
Указываем зоны прямого и обратного просмотра и прописываем их в файле конфигурации.
Создаем зону прямого просмотра.
Копируем образец файла по адресу /etc/bind/db.local в наше расположение, одновременно переименовывая его в /var/lib/bind/prime_zone:
sudo cp /etc/bind/db.local /var/lib/bind/prime_zone
и открываем его:
sudo nano /var/lib/bind/prime_zone
Изменяем файл, приводя к следующему виду, не забывая вставлять свои значения (если название сервера, домена и IP адресация отличается от моего примера):
Внимание: Linux очень «нежная» ОС, пропущенная или удаленная точка в файле конфигурации, приведет к ошибкам.
Создаем зону обратного просмотра.
Так же копированием и переименованием файла образца, командой:
sudo cp /etc/bind/db.127 /var/lib/bind/reverse_zone
Открываем его:
sudo nano /var/lib/bind/reverse_zone
Приводим файл к виду:
Внимание: Любой файл зоны, должен оканчиваться пустой строкой.
В файле конфигурации Bind9 указываем зоны просмотра (используемый мною в этом примере ключ, отличается от созданного в начале статьи, ваш отличаться не должен) :
sudo nano /etc/bind/named.conf.local
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «c0fLwUnt918/w5F+a1xrqQ==«;
};
zone «school.loc» {
type master;
file «/var/lib/bind/prime_zone«;
allow-update { key DHCP_UPDATER; };
};
//reverse zone
zone «137.168.192.in-addr.arpa» {
type master;
file «/var/lib/bind/reverse_zone«;
allow-update { key DHCP_UPDATER; };
};
Где:
secret — указываем ключ обновления DNS записей, созданный ранее
zone «school.loc« — название вашего домена с указанием пути до файла конфигурации зоны прямого просмотра
zone «137.168.192.in-addr.arpa» — зона обратного просмотра (обратите внимание, адресация указывается «задом наперёд») с указанием пути до файла конфигурации зоны.
Перезапускаем службу Bing9 сервер, командой:
sudo /etc/init.d/bind9 restart
Проверяем работу созданных зон, зоны прямого просмотра (преобразования имен):
nslookup gate.school.loc
Если зона настроена правильно, то будет отображен следующий результат:
И проверяем зону обратного просмотра:
nslookup 192.168.137.1
Если обратная зона настроена правильно, то будет отображен следующий результат:
DNS сервер — настроен.
Дополнительно и полезно:
named-checkzone school.loc /var/lib/bind/prime_zone — проверка корректности работы зоны прямого просмотра;
named-checkzone 137.168.192.in-addr.arpa /var/lib/bind/reverse_zone — проверка корректности работы зоны обратного просмотра;
Поиск проблем в Bind9: После попытки рестарта сервиса командой sudo /etc/init.d/bind9 restart , выполните команду tail /var/log/syslog для просмотра возможных ошибок;
Команды службы Bing:
- sudo service bind9 start — запуск службы
- sudo service bind9 stop — остановка службы
- sudo service bind9 status — статус службы (с выводом имеющихся ошибок)
- sudo service bind9 restart — перезапуск службы
Настройка динамического обновления зон DHCP сервером
Настроим автоматизацию создания прямых и обратных зон DNS для клиентов, с помощью DHCP.
Открываем конфигурационный файл DHCP, командой:
sudo nano /etc/dhcp/dhcpd.conf
Закомментируем в файле строку:
#ddns-update-style none;
Добавляем в наш конфигурационный файл следующие строки:
ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «c0fLwUnt918/w5F+a1xrqQ==«;
}
zone school.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 137.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
Перезапускаем службы DNS и DHCP:
sudo /etc/init.d/bind9 restart
sudo /etc/init.d/isc-dhcp-server restart
С клиентского ПК с названием teacher проверим работу прямой и обратной зоны, командами nslookup:
Если получен отклик, как на скриншоте, то на этом эту часть настройки Ubuntu Server будем считать законченной.
Переходим к следующей части настройки Ubuntu Server — Настройка интернет шлюза на Ubuntu Server.
Большинство «не работает» вызвано невнимательностью! Внимательно проверяйте команды и не допускайте в файлах конфигурации лишних символов.
[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]
Если проблема решена, один из способов сказать «Спасибо» автору — здесь.
Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.
[nx_box title=»Поделиться этой статьей» style=»glass» box_color=»#ED303C»]Если данная статья вам помогла и вы хотели бы в ответ помочь проекту Mhelp.kz, поделитесь этой статьей с другими:
[/nx_box]