Установка DNS сервера Bind на UbuntuServer 24.04 в Proxmox
Развёртывание DNS-сервера BIND9 для OT-сети Самара
Статус документа: рабочая инструкция, формируется по мере выполнения проекта.
Цель: развернуть выделенный авторитетный и рекурсивный DNS-сервер BIND9 для производственных OT-сетей с поддержкой прямого и обратного разрешения имён, а также динамической регистрации DNS-записей.
1. Принятая архитектура
DNS-сервер разворачивается на отдельной виртуальной машине в Proxmox VE.
| Параметр | Значение |
|---|---|
| Имя виртуальной машины | SMR-SRV-OT-DNS |
| Hostname Ubuntu | smr-srv-ot-dns |
| Операционная система | Ubuntu Server 24.04 LTS |
| DNS-сервер | BIND9, нативная установка из репозитория Ubuntu |
| Контейнеризация | Не используется |
| Назначение ВМ | Только DNS, диагностика и системное администрирование |
1.1. Почему BIND9 устанавливается без Docker
Виртуальная машина уже обеспечивает отдельную границу изоляции. Нативная установка BIND9 упрощает:
- привязку DNS-службы к нескольким IP-адресам;
- работу динамически изменяемых зон;
- управление службой через
systemd; - диагностику через
journalctl,ss,digиrndc; - обновление безопасности через штатный механизм
apt; - резервное копирование конфигурации и файлов зон.
2. План DNS-зон
2.1. Прямая зона
Рекомендуемое имя прямой зоны:
ot-samara.baltika.ru
Символ подчёркивания в имени обычной DNS-зоны не используется. Вместо ot_samara.baltika.ru применяется вариант с дефисом.
Примеры будущих имён:
plc-brew-001.ot-samara.baltika.ru
hmi-brew-001.ot-samara.baltika.ru
plc-fill-001.ot-samara.baltika.ru
hmi-util-001.ot-samara.baltika.ru
2.2. Обратные зоны
| IP-сеть | Назначение | Обратная DNS-зона |
|---|---|---|
10.255.0.0/16 |
Legacy OT | 255.10.in-addr.arpa |
172.16.66.0/24 |
Пивопроизводство, первая половина /23 | 66.16.172.in-addr.arpa |
172.16.67.0/24 |
Пивопроизводство, вторая половина /23 | 67.16.172.in-addr.arpa |
172.16.68.0/24 |
Розлив, первая половина /23 | 68.16.172.in-addr.arpa |
172.16.69.0/24 |
Розлив, вторая половина /23 | 69.16.172.in-addr.arpa |
172.16.70.0/24 |
Утилиты, первая половина /23 | 70.16.172.in-addr.arpa |
172.16.71.0/24 |
Утилиты, вторая половина /23 | 71.16.172.in-addr.arpa |
В домене
in-addr.arpaоктеты сетевого префикса записываются в обратном порядке. Поэтому для сети10.255.0.0/16используется зона255.10.in-addr.arpa.
3. Сетевая схема
3.1. Текущее состояние OT-сети
| Сеть | VLAN | Состояние |
|---|---|---|
10.255.0.0/16 |
VLAN 1 | Действующая legacy-сеть |
172.16.66.0/23 |
VLAN 1 | Действующая производственная сеть |
Обе IP-подсети в настоящий момент находятся в одном L2-домене.
3.2. Состояние после модернизации
| Сеть | VLAN | Назначение | Локальный DNS-адрес |
|---|---|---|---|
172.16.66.0/23 |
2030 | Пивопроизводство | 172.16.66.53 |
172.16.68.0/23 |
2002 | Розлив | 172.16.68.53 |
172.16.70.0/23 |
2040 | Утилиты | 172.16.70.53 |
10.255.0.0/16 |
1 | Legacy OT на переходный период | 10.255.0.53 |
3.3. Адреса управления
| Этап | Адрес | Шлюз | Назначение |
|---|---|---|---|
| Развёртывание | 192.168.1.53/24 |
192.168.1.1 |
Временное управление, обновления и доступ в Интернет |
| Production | 10.44.100.228/24 |
10.44.100.1 |
Постоянное управление сервером |
На сервере должен быть только один маршрут по умолчанию. На OT-интерфейсах шлюзы не назначаются.
4. Интерфейсы виртуальной машины
В Proxmox для каждой сети создан отдельный bridge. VLAN-тег обрабатывается на стороне Proxmox, поэтому внутри Ubuntu используются обычные нетегированные Ethernet-интерфейсы.
| Ubuntu | MAC | Proxmox | Назначение | План адресации |
|---|---|---|---|---|
ens18 |
BC:24:11:AE:75:CD |
net0 / vmbr0 |
Временное управление | 192.168.1.53/24 |
ens19 |
BC:24:11:7A:B5:1E |
net1 / vmbr2 |
VLAN 1 | 10.255.0.53/16 и временно 172.16.66.53/23 |
ens20 |
BC:24:11:6B:32:0E |
net2 / vmbr3 |
VLAN 2002, розлив | 172.16.68.53/23 |
ens21 |
BC:24:11:E4:E6:A9 |
net3 / vmbr4 |
VLAN 2030, пивопроизводство | Пока без IPv4; позднее 172.16.66.53/23 |
ens22 |
BC:24:11:32:D6:01 |
net4 / vmbr5 |
VLAN 2040, утилиты | 172.16.70.53/23 |
ens23 |
BC:24:11:D1:4C:AE |
Production management bridge | Будущее постоянное управление | 10.44.100.228/24 |
Адрес
172.16.66.53/23нельзя одновременно назначать интерфейсу VLAN 1 и интерфейсу VLAN 2030. Во время миграции адрес должен быть удалён с одного интерфейса и затем назначен другому.
5. Установка Ubuntu Server
5.1. Параметры ВМ
| Ресурс | Значение |
|---|---|
| CPU | 2–4 vCPU |
| RAM | 4 ГБ |
| Диск | 32 ГБ |
| Дисковый контроллер | VirtIO SCSI |
| Сетевые карты | VirtIO |
| QEMU Guest Agent | Включён в настройках ВМ |
5.2. Параметры установщика
- Hostname:
smr-srv-ot-dns. - Установить OpenSSH Server.
- Не устанавливать Docker.
- Не устанавливать дополнительные snaps.
- Во время установки активировать только management-интерфейс.
- На остальных интерфейсах отключить DHCP.
6. Базовая подготовка Ubuntu
6.1. Обновление системы
sudo apt update
sudo apt full-upgrade -y
apt update обновляет локальный индекс пакетов. apt full-upgrade устанавливает доступные обновления и при необходимости корректно обрабатывает изменение зависимостей.
6.2. Установка базовых пакетов
sudo apt install -y \
ca-certificates \
curl \
nano \
openssl \
iputils-ping \
tcpdump \
arping \
bash-completion \
lsof \
qemu-guest-agent \
systemd-timesyncd \
ufw
| Пакет | Назначение |
|---|---|
ca-certificates |
Проверка TLS-сертификатов |
curl |
Проверка HTTP/HTTPS и получение файлов |
nano |
Редактирование конфигурационных файлов |
openssl |
Криптографические операции и диагностика TLS |
iputils-ping |
Проверка IP-доступности |
tcpdump |
Анализ DNS, ARP, ICMP и NTP-трафика |
arping |
Проверка адресных конфликтов и L2-доступности |
bash-completion |
Автодополнение команд |
lsof |
Поиск процессов, использующих файлы и порты |
qemu-guest-agent |
Интеграция Ubuntu с Proxmox |
systemd-timesyncd |
Синхронизация системного времени |
ufw |
Host firewall |
7. QEMU Guest Agent
7.1. Проверка
systemctl status qemu-guest-agent --no-pager
ls -l /dev/virtio-ports/
Ожидается:
Active: active (running)
/dev/virtio-ports/org.qemu.guest_agent.0
7.2. Примечание о типе службы
Служба qemu-guest-agent.service является статической. Состояние static в выводе systemctl is-enabled является нормальным. Она запускается при наличии virtio-канала, созданного Proxmox.
7.3. Если возникает ошибка dependency
- включить QEMU Guest Agent в настройках виртуальной машины Proxmox;
- полностью перезагрузить гостевую ОС;
- убедиться, что появилось устройство
org.qemu.guest_agent.0.
8. Часовой пояс и NTP
8.1. Настройка часового пояса
sudo timedatectl set-timezone Europe/Samara
sudo timedatectl set-local-rtc 0
sudo timedatectl set-ntp true
Аппаратные часы остаются в UTC, а локальное представление времени используется для часового пояса Самары.
8.2. Временный NTP на этапе развёртывания
Сервер 192.168.1.1 не ответил на NTP-запросы. На этапе развёртывания используется публичный пул Ubuntu:
sudo install -d -m 0755 /etc/systemd/timesyncd.conf.d
sudo tee /etc/systemd/timesyncd.conf.d/10-internal-ntp.conf >/dev/null <<'EOF'
[Time]
NTP=ntp.ubuntu.com
FallbackNTP=
EOF
sudo systemctl restart systemd-timesyncd
8.3. Проверка синхронизации
timedatectl status
timedatectl timesync-status
systemctl status systemd-timesyncd --no-pager
journalctl -u systemd-timesyncd --since "5 minutes ago" --no-pager
Ожидается:
System clock synchronized: yes
NTP service: active
Packet count: 1 или больше
8.4. Production NTP
После переноса management-интерфейса в сеть 10.44.100.0/24 будут использоваться:
10.44.14.34
10.44.14.33
Будущая конфигурация:
[Time]
NTP=10.44.14.34 10.44.14.33
FallbackNTP=
Необходимо обеспечить доступ от 10.44.100.228 к обоим NTP-серверам по UDP/123.
9. Текущее фактическое состояние
| Проверка | Состояние |
|---|---|
| Ubuntu Server | Установлена Ubuntu 24.04.4 LTS |
| Hostname | smr-srv-ot-dns |
| QEMU Guest Agent | Работает |
| Часовой пояс | Europe/Samara |
| Временный IP | 192.168.1.9/24, получен по DHCP |
| Плановый временный management IP | 192.168.1.53/24 |
| Default gateway | 192.168.1.1 |
| Текущий DNS Ubuntu | 192.168.1.1 |
| BIND9 | Ещё не установлен |
| UFW | Установлен, правила ещё не применены |
10. Следующий этап
- создать постоянную конфигурацию Netplan;
- заменить DHCP-адрес
192.168.1.9на статический192.168.1.53/24; - настроить OT-интерфейсы без шлюзов;
- проверить L2-доступность всех VLAN;
- запретить IP forwarding;
- настроить UFW;
- установить BIND9 и создать прямую и обратные зоны.
Важно: конфигурация Netplan должна применяться через
netplan try, чтобы при ошибке не потерять удалённый доступ к серверу.