свой DNS-сервер

Может кто задумался или уже реализовал у себя свой DNS-сервер? Вопрос возник вот откуда. Я зарегистрировал доменное имя у регистратора, но эта контора предоставляет DNS-серверы только в связке с их хостингом, за который я платить не хочу (зачем, ибо у меня статический ip от провайдера интернета, по деньгам выходит дешевле). Соответственно, управлять записями домена я не могу. Есть только возможность делегирования на другой DNS-сервер.
Если свой DNS-сервер будет развернут на том же железе, что и остальные сервисы, к которым нужен доступ, то в случае сбоя хоста не будет доступен ни DNS-сервер, ни сервисы, которые на хосте развернуты, что в принципе не страшно, если это не прод. А из локальной сети разрешение имен будет реализовывать тот же AdGuard.
Главный вопрос: кто как решает эти задачи, и так ли необходимо их решать?
Дополнительный вопрос: может быть нам организоваться и создать сеть DNS-серверов, чтобы не зависеть от провайдеров DNS-услуг?

Если мы говорим про хостинг зоны у себя, то надо понимать, что lля делегирования DNS-серверов необходимо указать как минимум два NS-сервера у регистратора домена. Серверы должны быть расположены в разных IP-сетях класса C и поддерживать делегируемый домен.
Много DNS серверов тоже нельзя указать по причине ограничений на размер UDP пакета. Обычно указывается от 2х до 4 NS серверов.
Требование по разным сетям класса С тут добавлено для повышение стабильности - вероятность того, что оба сервера находятся в одной комнате и перестанут отвечать одновременно снижается.

Что надо сделать для самохостинга DNS зоны:

  1. Поднять полноценный DNS сервер со всеми RFC, кастрированные dnsmasq тут не подходят, соответственно AdguardHome и Pi-Hole отпадают.
    1.1. Можно посмотреть в сторону Technitium DNS для домашней сети
    1.2. Популярен еще PowerDNS
    1.3. Я в свое время использовал BIND, но вместе с ним идет борода и потертый свитер
  2. Поднять в другой сети тоже полноценный DNS сервер и произвести инициализацию оного. Я в свое же время использовал украинский Triffle.NET и сделал .deb пакет с самописными утилитами для работы с ним из консоли (регистрация и настройка зоны), не знаю, функционирует ли сейчас сервис. Нашел еще упоминание https://freedns.afraid.org
  3. Настроить пересылку между первичным и вторичным DNS серверами

Какие есть альтернативные варианты

  1. Все еще самым лучшим из бесплатным считаю Cloudflare, если CDN их активно болчится, то DNS работает очень стабильно и поддерживается работа с ним из CertBot и Lego, соответственно, проблем с выпуском сертификатов не будет.
  2. Можно попробовать https://freedns.afraid.org/, но прямой работы с ним в certbot я не нашел, или свои скрипты подпихивать или подключить acme-dns прослойку
  3. За деньги можно в яндексе хостить или еще где-то из наших облаков.
2 лайка

Cloudflare считаю не слишком надёжным решением в нашем стремительно изменяющемся мире, поэтому буду пробовать прослойку acme-dns. Спасибо за как всегда развернутый ответ.

Перерести доменное имя другому регистратору?

Я не уверен, но вроде бы все наши регистраторы не дают управлять записями без заказа других их услуг, например аренды vps. Если я ошибаюсь, поправьте меня.

reg.ru точно умеет DNS бесплатно
А где Вы регистрировали домен?

Majordomo.ru, в логах whois значится maxname.ru

1 лайк