VpnHood!

VpnHood! SERVER на динамическом IP-адресе

Многие домашние подключения получают новый публичный IP-адрес каждые несколько дней. Статический адрес не нужен: VpnHood! MANAGER сам отслеживает новый адрес, а приложения ваших пользователей находят его через динамическое DNS-имя или URL токена фермы.

Что происходит при смене адреса

Сервер с включённым режимом Automatic Configuration, как и любой новый сервер, сам отслеживает адрес. Его следующий отчет в MANAGER приходит уже с нового адреса, поэтому MANAGER заставляет сервер заново определить свои адреса и в течение нескольких минут обновляет точки доступа и ключи. Ничего переустанавливать или перезапускать не нужно.

Как VpnHood! MANAGER отслеживает новый адрес Следующий отчет сервера приходит в MANAGER с нового адреса, и MANAGER вносит этот адрес в точки доступа и ключи. Следующий отчет 203.0.113.10 приходит с нового адреса Обновление 203.0.113.10 попадает в ключи Ваш сервер VpnHood! SERVER VpnHood! MANAGER Замечает изменение Ключи доступа и точки доступа MANAGER сам отслеживает адрес
Как VpnHood! MANAGER отслеживает новый адрес Следующий отчет сервера приходит в MANAGER с нового адреса, и MANAGER вносит этот адрес в точки доступа и ключи. Следующий отчет 203.0.113.10 приходит с нового адреса Обновление 203.0.113.10 попадает в ключи Ваш сервер VpnHood! SERVER VpnHood! MANAGER Замечает изменение Ключи доступа и точки доступа MANAGER сам отслеживает адрес

Если режим Automatic Configuration отключён, адреса остаются такими, как вы их задали, и менять их придётся вам самим, как показано в разделе Изменение адреса.

За домашним роутером

Приложения попадают на ваш сервер через роутер, поэтому он должен пропускать их подключения дальше. Это настраивается один раз: MANAGER сохраняет порты каждой точки доступа при смене адреса.

  1. Закрепите за машиной постоянный адрес в домашней сети. В роутерах это называется резервированием DHCP или статической арендой.
  2. Откройте Servers, выберите сервер и найдите его Access Points: там указаны его порты.
  3. На роутере настройте их проброс на машину: TCP Port (1) как TCP, а UDP Port (2) и QUIC Port (3) как UDP. Порт со значением -1 отключён, и пробрасывать его не нужно.
Точки доступа сервера в VpnHood! MANAGER с включённым Automatic Configuration: отмечены TCP Port (1), UDP Port (2) и QUIC Port (3)
Сервер за роутером: собственный адрес машины, 192.168.1.10, — это то, куда роутер пробрасывает порты. Публичный адрес, 203.0.113.10, входит в ключи, и MANAGER меняет его сам.

Как приложениям найти новый адрес

Ключ содержит адреса, с которыми был создан, поэтому после смены приложение с таким ключом обращается к старому адресу. Дайте своим ключам путь к новому адресу до того, как он изменится: динамическое DNS-имя, URL токена фермы или и то, и другое.

Как приложения находят новый адрес Адрес старого ключа больше не отвечает, но динамическое DNS-имя или URL токена в ключе приводит приложения к новому адресу. Динамическое DNS-имя или URL токена фермы Новый адрес 203.0.113.10 198.51.100.20 Старый адрес Пользователи Со старым ключом Ваш сервер VpnHood! SERVER Имя или URL в ключе указывает путь
Как приложения находят новый адрес Адрес старого ключа больше не отвечает, но динамическое DNS-имя или URL токена в ключе приводит приложения к новому адресу. Динамическое DNS-имя или URL токена фермы Новый адрес 203.0.113.10 198.51.100.20 Старый адрес Пользователи Со старым ключом Ваш сервер VpnHood! SERVER Имя или URL в ключе указывает путь

Динамическое DNS-имя

Служба динамического DNS (DDNS) даёт вам имя, которое всегда указывает на ваш текущий адрес. Ключи с этим именем продолжают работать, потому что приложения определяют его адрес при каждом подключении.

  1. Получите имя в службе динамического DNS и настройте его обновление на роутере или с помощью небольшой программы на машине. Выберите имя без слова «VPN»: приложения передают его в открытом виде в начале каждого подключения, и его видно в сети.
  2. Пробросьте на машину и TCP-порт 80 на всё время использования имени: через него проверяется сертификат и каждые несколько месяцев продлевается.
  3. Добавьте ферме сертификат для этого имени, как показано в разделе Использование собственного домена: установите для Signing значение AutoSign (1), дождитесь, пока Signature покажет CA Signed (2), затем установите для Visibility значение PublicInToken (3).
Сертификат для server1.example.com в VpnHood! MANAGER, настроенный по инструкции: Signing AutoSign (1), Signature CA Signed (2) и Visibility PublicInToken (3)
Готовый сертификат имени: подписан Let's Encrypt и включён в каждый ключ фермы.

Всё дело в подписи: приложения определяют адрес имени, только если его сертификат имеет статус CA Signed. С самоподписанным сертификатом они пробуют только адреса из ключа.

URL токена фермы

URL токена фермы указывает на файл в интернете, в котором MANAGER публикует текущие адреса фермы после каждого изменения. Приложение, которое не может подключиться, читает файл и пробует снова с тем, что найдёт. Для этого не нужны ни имя, ни дополнительный порт, а только место в интернете, доступное вашим пользователям, например репозиторий GitHub. Как его добавить, показано в разделе URL токена фермы. Для Auto Upload выберите любое значение, кроме Off, чтобы MANAGER сам обновлял файл.

Ранее созданные ключи

Ключи, которые вы скопируете из MANAGER с этого момента, содержат имя или URL. Приложение со старым ключом получит новый при следующем подключении, так как опция Push token to clients включена по умолчанию, поэтому настройте всё это, пока адрес в его ключе ещё работает. Приложению, которое больше не может подключиться к серверу, нужен от вас новый ключ.

Важные нюансы

  • Подключённые приложения отключаются. Приложения, подключённые в этот момент, теряют соединение. Они смогут подключиться снова, как только имя или файл покажут новый адрес, обычно в течение нескольких минут.
  • Общий адрес не подойдёт. Некоторые провайдеры размещают многих клиентов за одним публичным адресом (это часто называют CGNAT), и подключения извне никогда не доходят до вашего роутера. Если адрес, который показывает роутер, не совпадает с тем, что видят сайты, попросите у провайдера публичный адрес.
  • Две интернет-линии с этим не работают. За роутером, который отправляет каждое подключение по другой линии, адрес как будто меняется постоянно, и сервер снова и снова перенастраивается. На таком сервере отключите Automatic Configuration и задайте адреса сами.

На автономном сервере

Без MANAGER ключи никто не обновляет, а автономный сервер определяет свой адрес только при запуске. Динамическое DNS-имя всё равно работает, потому что приложения определяют адрес имени сами: дайте серверу сертификат для него, как показано в разделе Использование доменного имени и доверенного сертификата, и выдайте пользователям новые ключи.

Следующие шаги