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.
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