Перейти к основному контенту

3 Практика

Задачи

  1. Установить и настроить авторитетного DNS
  2. Настроить DNS для работы в соответствии со стандартом RFC 2136
  3. Установка и настройка рекурсивного DNS
  4. Создать свой CA сертификат
  5. Создать простой тестовый сайт и выпустить для него сертификат

Построение стенда

Схема виртуального лабораторного стенда

Рисунок 1. Схема стенда

  1. Создать виртуальные машины для работы
Название виртуальной машины Источник Тип инстанса Сети для внешнего подключения
web-server Образ-Ubuntu-server20.04 small external-net
dns-server Образ-Ubuntu-server20.04 small external-net

Так же нужно проверить развернутую инфраструктуру на соответствие схеме на рисунке 1.

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 ns1.devops-course.test
sudo pdnsutil add-record devops-course.test. www A 127.0.0.1

Проверьте работу сервера

nslookup www.devops-course.test {server ip}

Рисунок 3. Пример ответ при адресе сервера 172.17.36.216