Не удается разрешить duckdns (и другие) бесплатные субдомены, которые указывают на частный IP-адрес, используя DNS-пересылку unbound в pfsense.

Вопрос или проблема

Я пытаюсь использовать бесплатный сервис поддоменов, чтобы использовать SSL-сертификат lets encrypt на самохостимом экземпляре vaultwarden, который работает локально в контейнере docker на raspberry pi. Я попытался следовать этой инструкции, которая использует duckdns и Caddy для управления сертификатами, но у меня не получается это сделать. Я разместил этот вопрос на форумах vaultwarden. Однако, похоже, что проблема заключается либо в настройках DNS моего маршрутизатора pfsense, либо в самом duckdns.

Я настроил настройки DNS TLS маршрутизатора pfsense согласно следующей инструкции точно.

Я провел следующие тесты на обоих бесплатных провайдерах поддоменов duckdns и freedns.afraid.org. Оба имеют поддомен, настроенный для указания на локальный IP-адрес моего raspberry pi. (Тот, который я использую для SSH-доступа к raspberry pi в локальной сети). Так и сказано в инструкции vaultwarden, что vaultwarden должен быть доступен только в локальной сети.

Я использовал nslookup на ПК с Linux, который находится в той же локальной сети, что и мой raspberry pi. У него также задана в качестве шлюза по умолчанию и DNS частный IP-адрес моего маршрутизатора pfsense.

Обратите внимание, что я использовал заполнитель для поддомена, чтобы не раскрывать свои реальные поддомены, но поддомены действительно существуют, а вывод ниже является реальным для моих фактических поддоменов.

duckdns с настройками DNS по умолчанию pfsense (TLS quad 9)

nslookup placeholder.duckdns.org
;; Получен ответ SERVFAIL от 127.0.0.53
Сервер:     127.0.0.53
Адрес:      127.0.0.53#53

** сервер не может найти placeholder.duckdns.org: SERVFAIL

duckdns с явным указанием DNS (quad 9)

nslookup placeholder.duckdns.org 9.9.9.9
Сервер:     9.9.9.9
Адрес:      9.9.9.9#53

Неавторитетный ответ:
Имя:   placeholder.duckdns.org
Адрес: <частный IP raspberry pi>

freedns.afraid.org с настройками DNS по умолчанию pfsense (TLS quad 9)

nslookup placeholder.crabdance.com
;; Получен ответ SERVFAIL от 127.0.0.53
Сервер:     127.0.0.53
Адрес:      127.0.0.53#53

** сервер не может найти placeholder.crabdance.com: SERVFAIL

freedns.afraid.org с явным указанием DNS (quad 9)

nslookup placeholder.crabdance.com 9.9.9.9
Сервер:     9.9.9.9
Адрес:      9.9.9.9#53

Неавторитетный ответ:
Имя: placeholder.crabdance.com
Адрес: <частный IP raspberry pi>

google.com с настройками DNS по умолчанию pfsense (TLS quad 9)

nslookup google.com
Сервер:     127.0.0.53
Адрес:      127.0.0.53#53

Неавторитетный ответ:
Имя:   google.com
Адрес: 142.250.187.206
Имя:   google.com
Адрес: 2a00:1450:4009:820::200e

Как видите, я могу разрешить google.com и все остальные установленные домены, используя настройки DNS pfsense, и пользовался интернетом нормально на протяжении нескольких месяцев. Однако это не так для duckdns и freedns.afraid.org. Я могу разрешить эти домены только если указываю quad 9 или другие DNS-провайдеры в команде nslookup.

Я не уверен, в чем проблема, либо что-то не так с моими настройками pfsense, либо проблема в двух бесплатных провайдерах поддоменов. Я также думаю, что эта проблема является причиной, по которой я не могу получить доступ к моему приватному локально хостингу экземпляру vaultwarden через мой домен duckdns с SSL.

Любая помощь была бы признательна.

Ответ или решение

Возможные решения проблемы разрешения DuckDNS и других бесплатных субдоменов с использованием Unbound DNS Forwarder на pfSense

Проблема, с которой вы сталкиваетесь, связана с тем, что ваш pfSense DNS Forwarder не может разрешать субдомены DuckDNS и Freedns.afraid.org, когда вы используете его настройки по умолчанию. Однако при явном указании DNS-серверов, таких как Quad9, вы получаете ожидаемые результаты. Давайте рассмотрим возможные причины проблемы и пути ее решения.

1. Понимание работы DNS в pfSense

pfSense использует DNS-ресолвер (например, Unbound) для обработки DNS-запросов. Когда вы используете /etc/resolv.conf, например, с 127.0.0.53, это значит, что ваш DNS-запрос обрабатывается локально на pfSense, что может ограничивать разрешение определенных доменов, актуальных для вашего префикса или внутренней сети.

2. Убедитесь в правильной конфигурации Unbound

Проверьте настройки Unbound в pfSense:

  • Перейдите в меню Services > DNS Resolver.
  • Убедитесь, что в настройках разрешателя активированы опции "Enable Forwarding Mode" и "Ignore Remote Resolver". Эти опции позволят вашему pfSense использовать указанные вами DNS-серверы (например, Quad9) при запросах к внешним ресурсам.

3. Добавление настроек для локальной сети

В вашем случае, поскольку вы работаете с локальным хостингом (например, Vaultwarden на Raspberry Pi), вы можете добавить явно запись DNS для вашего Raspberry Pi:

  • Перейдите в Services > DNS Resolver, затем в секцию Host Overrides.
  • Добавьте запись Host Override для вашего субдомена, указав, что он указывает на локальный IP адрес Raspberry Pi.

4. Тестирование и диагностика

Используйте nslookup и dig для проверки работы DNS. Например, выполните следующую команду:

nslookup placeholder.duckdns.org

Также вы можете проверить, как обрабатываются запросы по умолчанию и как это отображается через Unbound. Используйте команду:

dig +trace placeholder.duckdns.org

Это поможет выявить, на каком этапе происходит сбой.

5. HTTPS и Let’s Encrypt

При использовании Let’s Encrypt для получения SSL-сертификатов, убедитесь, что ваш Caddy или другой веб-сервер правильно настроен для обработки запросов на ваш DuckDNS субдомен. Caddy должен быть настроен правильно для обработки ACME-Challenges. Убедитесь, что Caddyfile содержит правильную конфигурацию для вашего сервера.

6. Очистка кеша DNS-клиента

Не забудьте очистить кеш DNS на вашем локальном компьютере. В Linux это можно сделать с помощью команды:

sudo systemd-resolve --flush-caches

Заключение

Следуя этим шагам, вы сможете устранить проблемы с разрешением DuckDNS и Freedns.afraid.org на вашем pfSense. Основная идея заключается в том, чтобы гарантировать, что ваши локальные запросы обрабатываются должным образом, и что вы настроили свои сервисы для работы с ssl-сертификатами от Let’s Encrypt. Эти изменения позволят вам наладить доступ к вашему локальному Vaultwarden с использованием HTTPS.

Оцените материал
Добавить комментарий

Капча загружается...