Назад | Перейти на главную страницу

Let's Encrypt: используйте альтернативное имя субъекта для внутреннего домена

My Synology NAS может запускать веб-интерфейс через HTTPS. По умолчанию вы получаете доступ к NAS через его имя (скажем, mynas) так http(s)://myname:5001 или http(s)://myname.local. По умолчанию используется сертификат SSL для synology.com.

Вы можете создать новый сертификат с помощью Let's Encrypt; вы перенаправляете необходимые порты со своего маршрутизатора на NAS, я создал поддомен из домена, которым владею, и обновил DNS, чтобы он указывал на мой домашний IP-адрес. (например. home.my-domain-i-own.com)

Я надеялся, что смогу войти myname;myname.local в качестве альтернативных имен субъектов, поэтому я могу без предупреждения просматривать свой NAS внутри через HTTPS. Однако Let's Encrypt, по-видимому, не принимает доменные имена, которые он не может проверить.

Мой вопрос: как решить проблему Я могу использовать сертификат Let's Encrypt с моим доменом mynas.local без предупреждений?

Эта проблема

Вы не владеете доменным именем mynas.local, поэтому, конечно, Let's Encrypt не будет подписывать сертификат о том, что этот домен принадлежит вам. Если они подписывают такие сертификаты, браузеры очень скоро перестанут доверять Let's Encrypt.

Вместо этого вам нужно использовать собственное доменное имя для доступа к NAS независимо от того, откуда вы к нему обращаетесь. Это не только из-за сертификата, но и потому, что это более удобно, если у вас есть какие-либо мобильные устройства, которым требуется доступ к NAS как из вашей локальной сети, так и извне.

Похоже, у вас есть NAT в вашей сети, который мешает просто указать ваше доменное имя на IP-адрес вашего NAS. Если бы вы не использовали NAT, это просто сработало бы.

Решение

Идеальное решение - использовать сеть без NAT. У вас по-прежнему может быть брандмауэр, блокирующий подключения извне ко всему, кроме порта HTTPS на NAS, если вы хотите.

Маловероятно, что ваш интернет-провайдер предоставит вам достаточно адресов IPv4 для такой настройки, поэтому, если вы хотите сделать это таким образом, вам придется делать это с IPv6.

Вы можете настроить свою локальную сеть так, чтобы IPv4 передавался через NAT вашим шлюзом, а IPv6 маршрутизировался без NAT. Для имени, которое вы выбрали для своего NAS, вы можете затем создать как запись A, указывающую на ваш NAT, так и запись AAAA, указывающую на NAS.

У клиентов в вашей локальной сети будет путь IPv6 непосредственно к NAS, и они предпочтут использовать запись AAAA. Использование адреса IPv4 потребует закрепления NAT, но это будет использоваться только в качестве запасного варианта в случае сбоя соединения IPv6. Учитывая, что клиент и NAS будут находиться всего в одном переходе друг от друга без маршрутизатора между ними, сбой подключения IPv6 должен быть редкостью.

Клиенты за пределами вашей локальной сети будут использовать IPv4 или IPv6 в зависимости от сети, к которой они подключены. Если они находятся в сети, поддерживающей только IPv4, им необходимо будет пройти через переадресацию портов на вашем NAT, которую вы должны оставить настроенной так же, как сейчас.

Обходной путь

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

Вы можете настроить свой собственный DNS-сервер на шлюзе NAT. Этот DNS-сервер должен будет считать себя авторитетным для вашего домена и рекурсивным для всего остального. Этот DNS-сервер должен будет выдавать локальные адреса при запросе вашего домена.

Клиентам в локальной сети будет предоставлен локальный IP-адрес, и они будут подключаться напрямую к NAS. Клиенты за пределами вашей локальной сети не будут использовать DNS-сервер на вашем шлюзе NAT, вместо этого они будут получать ответы от настоящего авторитетного сервера, указывающего на ваш внешний IP-адрес.

Это невозможно, потому что тебе не принадлежит mynas.local этот домен в Интернете (т.е. владение).