StrangeCraft CMS PlaVER

DNS

Модуль DNS позволяет вести записи домена прямо из админки и автоматически создавать служебные записи для почты, сайта и игровых серверов. Публиковать записи можно двумя способами: через внешний Cloudflare (по API-токену) или через собственный DNS-сервер (PowerDNS) на этой машине.

Раздел появляется в админке после включения модуля в Админка → Модули.

С чего начать: выбрать бэкенд

Cloudflare — проще и надёжнее: домен уже обслуживается в Cloudflare, CMS только правит записи по API. Anycast и защита провайдера работают из коробки, свой порт 53 держать не нужно. Рекомендуется, если у вас нет причин хостить DNS самому.

Свой PowerDNS — полный self-host: DNS-сервер поднимается на вашей машине, а домен делегируется на неё у регистратора. Больше контроля, но нужно держать открытым порт 53 и следить за сервером самому.

Вариант A. Cloudflare

  1. В панели Cloudflare создайте API-токен: My Profile → API Tokens → Create Token, шаблон «Edit zone DNS», выберите вашу зону.
  2. Скопируйте Zone ID со страницы Overview зоны (справа внизу).
  3. В CMS: DNS → Добавить зону, бэкенд Cloudflare, вставьте токен и Zone ID.

Токен хранится в базе в зашифрованном виде.

Вариант B. Свой PowerDNS

  1. В CMS: DNS → Свой DNS-сервер на этой машине, укажите домен, нажмите Установить. CMS поставит PowerDNS, включит его локальный API и откроет порт 53. Кнопка доступна, только если при установке CMS были выданы права (sudoers) — если её нет, переустановите CMS скриптом install.sh.
  2. Делегируйте домен у регистратора: пропишите NS-запись на имя этой машины и glue-запись (A) с её внешним IP. Без делегирования зона не будет видна в интернете — этот шаг делается только у регистратора и вручную.

Записи зоны

На странице зоны — таблица всех записей. Они бывают двух видов:

  • Вручную — вы добавляете их сами (кнопка «Добавить запись»). Тип, имя (@ — корень домена), значение, для MX/SRV — приоритет.
  • Служебные (бейдж mail / site / srv) — CMS генерирует их сама и пересобирает по кнопке «Пересобрать авто-записи». Редактировать напрямую их нельзя, но можно «Закрепить»: тогда автогенерация перестанет их трогать, и запись станет редактируемой — удобно, если нужно переопределить значение.

Что генерируется автоматически

Источник Записи
Почта MX, SPF (TXT), DMARC (TXT), DKIM (TXT), A хоста почты
Сайт A корня домена и www, A для mail./webmail.
Серверы SRV _minecraft._tcp (вход по домену без порта), A-записи хостов серверов и нод панели

PTR (обратная запись) не публикуется автоматически — её настраивают у хостера VPS.

Публикация: «Синхронизировать»

Записи в таблице — это то, что CMS хочет видеть в зоне. Кнопка «Синхронизировать» отправляет их в выбранный бэкенд. CMS публикует и обновляет только свои записи и удаляет те, что публиковала раньше, но больше не нужны; чужие записи в зоне она не трогает — можно спокойно держать в Cloudflare записи, о которых CMS не знает.

Порядок при изменениях: правите/пересобираете записи → Синхронизировать.

DNSSEC

Кнопка «Включить DNSSEC» активирует подпись зоны на бэкенде и покажет DS-запись — её нужно добавить у регистратора домена, чтобы подпись заработала в интернете.

Wildcard-сертификаты (ACME DNS-01)

Когда домен управляется через модуль DNS, можно выпустить wildcard-сертификат *.вашдомен — один сертификат на все поддомены (в том числе для публичного порта нод панели). Выпуск идёт по методу DNS-01: CMS сама создаёт и удаляет проверочную TXT-запись.

Команда на сервере:

php artisan cert:issue-wildcard вашдомен

Требуется активная DNS-зона, покрывающая домен, и заполненная почта в Настройках → Сертификаты.

Диагностика

  • «Синхронизация: ошибка» на карточке зоны — откройте зону и запустите «Синхронизировать» ещё раз: под кнопкой появится лог с причиной (неверный токен, недоступный бэкенд).
  • PowerDNS не отвечает — проверьте службу на сервере: systemctl status pdns.
  • Записи не видны в интернете (для своего PowerDNS) — не завершено делегирование NS/glue у регистратора.