проект DNS Editor

Простая автономная DNS-панель для своего сервера

DNS Editor можно бесплатно разместить на своём VPS: редактировать записи, проверять зоны, перезагружать BIND и меньше зависеть от панели регистратора.

Пастельный интерфейс DNS Editor с попугайчиками

о проекте

Что делает DNS Editor

Это self-hosted веб-приложение для администрирования DNS-зон на собственном VPS. Оно объединяет FastAPI backend, Next.js интерфейс, BIND 9 и production-развертывание через Docker Compose и Caddy.

Попугайчики рядом с ноутбуком

Учебный проект

Показывает полный путь от UI до DNS-сервера и zone-файлов.

Владелец VPS

Подходит для небольшой инфраструктуры, где хочется держать DNS под своим контролем.

Тестовая зона

Можно безопасно проверять записи, DNSSEC и делегирование на отдельном домене.

Редактирование

A, AAAA, CNAME, MX, NS, TXT и SRV через аккуратную веб-панель.

Проверка зоны

Перед сохранением данные проходят валидацию и named-checkzone.

Перезагрузка BIND

После сохранения можно применить изменения без ручных команд на сервере.

DNSSEC

Панель помогает включить подпись зоны и получить DS-запись для регистратора.

Self-hosted

Проект можно бесплатно разместить на своём VPS и не привязываться к одной панели регистратора.

почему не только регистратор

DNS можно держать под своим контролем

DNS Editor не заменяет регистратора полностью: домен всё равно покупается и делегируется у него. Но сами DNS-зоны можно обслуживать на своём сервере.

  • бесплатно и разворачивается на своём сервере;
  • не зависит от интерфейса конкретного регистратора;
  • даёт полный контроль над BIND и zone-файлами;
  • удобно для обучения, тестов и демонстрации DNSSEC;

мини-архитектура

Как устроен проект

Browser
Next.js UI
FastAPI API
BIND 9
Zone files

интерфейс панели

Как выглядит DNS Editor

Ниже показаны реальные экраны панели: список DNS-записей, настройки зоны и форма добавления новой записи. Это пример интерфейса редактора.

Список DNS-записей в DNS Editor
Форма добавления DNS-записи

что видно на скринах

  • выбор активной зоны;
  • настройки TTL, Primary NS и email администратора;
  • таблица записей A, NS, TXT, AAAA, CNAME, MX и SRV;
  • форма добавления новой DNS-записи;
  • кнопки сохранения и перезагрузки BIND.

установка

Запуск на VPS

Нужен Ubuntu 22.04/24.04, открытые порты 53, 80 и 443, а панель лучше вынести на отдельный поддомен, например dns.example.com.

curl -fsSL https://raw.githubusercontent.com/hop333/dns-editor/main/deploy/install.sh   | sudo bash -s --       --repo https://github.com/hop333/dns-editor.git       --domain dns.example.com       --site-domain example.com       --email admin@example.com

руководство

Как пользоваться

  1. Войти в панель администратора.
  2. Создать новую DNS-зону или открыть существующую.
  3. Добавить нужные DNS-записи и сохранить зону.
  4. Перезагрузить BIND через интерфейс.
  5. При необходимости включить DNSSEC и скопировать DS-запись.

важно

Замена NS у регистратора

Чтобы домен начал обслуживаться вашим BIND-сервером, одной установки панели недостаточно. Нужно передать домен на свои nameserver-ы у регистратора.

  1. Создать зону домена в DNS Editor.
  2. Добавить NS-записи ns1.example.com и ns2.example.com.
  3. Добавить A-записи для ns1 и ns2 на IP VPS.
  4. У регистратора создать glue-записи для ns1 и ns2.
  5. Заменить NS домена у регистратора на ns1.example.com и ns2.example.com.
  6. Проверить: dig example.com NS +short.