3. Практика
Задачи
- Установить и настроить авторитетного DNS сервера
- Настроить DNS для работы в соответствии со стандартом RFC 2136
- Установка и настройка рекурсивного DNS
СоздаВыпуститьсвой CAсертификат безопасности- Создать
простойтестовый сайт и выпустить для него сертификат
Построение стенда
Схема виртуального лабораторного стенда
Рисунок 1. Схема стенда
- Создать виртуальные машины для работы
Название виртуальной машины | Источник | Тип инстанса | Сети для внешнего подключения |
---|---|---|---|
web-server | Образ-Ubuntu-server20.04 | small | external-net |
dns-server | Образ-Ubuntu-server20.04 | small | external-net |
Так же нужно проверить развернутую инфраструктуру на соответствие схеме на рисунке 1.
В группах безопастности необходимо разрешить DNS
1. Установка и настройка авторитетного DNS сервера
Обновляем пакеты внутри системы до последней версии
sudo apt update
# Необязательно, но желательно
sudo apt full-upgrade -y
Устанавливаем сервер реализацию DNS сервера PowerDNS
sudo apt install pdns-server pdns-backend-sqlite3 sqlite3 -y
Настроить для работы c sqlite бд
sudo mkdir /var/lib/powerdns
sudo sqlite3 /var/lib/powerdns/pdns.sqlite3 < /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql
sudo chown -R pdns:pdns /var/lib/powerdns
Выключаем systemd-resolved
sudo systemctl disable --now systemd-resolved.service
Изменяем используемый dns-сервер на 172.17.1.10
sudo rm -rf /etc/resolv.conf
echo "nameserver 172.17.1.10" |sudo tee /etc/resolv.conf
Отредактировать /etc/powerdns/pdns.conf
include-dir=/etc/powerdns/pdns.d
launch=gsqlite3
gsqlite3-database=/var/lib/powerdns/pdns.sqlite3
security-poll-suffix=
setgid=pdns
setuid=pdns
Рисунок 2. Пример конфига
Активируем демона dns-сервера
sudo systemctl enable --now pdns
Создаем зону по имени пользователя(для примера используется devops-course.test)
sudo pdnsutil create-zone devops-course.test{zone name} ns1.devops-course.test{zone name}
sudo pdnsutil add-record devops-course.test.{zone name}. www A 127.0.0.1
Проверьте работу сервера
nslookup www.devops-course.test {server ip}
Запрос делается с пользователького пк
Рисунок 3. Пример ответ при адресе сервера 172.17.36.216
2. Настроить DNS для работы в соответствии со стандартом RFC 2136
Для работы по стандарту rfc2136, необходимо изменить конфигурацию работы PowerDNS, в конфигурационном файле необходимо добавить строки:
dnsupdate=yes
allow-dnsupdate-from=172.16.0.0/12
Рисунок 4. Конфигурация после обновления
Создать TSIG ключ с именем dnsudpater
sudo pdnsutil generate-tsig-key dnsupdater hmac-sha512
Рисунок 5. Пример корректного создания TSIG ключа
Посмотреть существующие ключи можно командой:
sudo pdnsutil list-tsig-keys
Для проверки работы rfc2136 добавим новую A запись test указывающую, на наш web-сервер
nsupdate <<!
server {ip dns-server} 53
zone {zone name}
update add test.{zone name} 3600 A {ip web-server}
key hmac-sha512:{key name} {tsig key}
send
!
выполнять с устройства в сети 172.16.0.0/12
Проверить, что запись добавилась
nslookup test.{zone name} {ip dns-server}