Как защитить IP-адрес сервера от блокировки
В некоторых сетях IP-адрес VPN-сервера блокируют буквально через пару часов. Несколько простых настроек помогут сделать его почти неуязвимым. Начните с отдельного IP-адреса для исходящего трафика: это сразу покажет, как именно сеть вычисляет ваш сервер.
Как сеть обнаруживает VPN-сервер
Сеть может распознать само соединение: характер трафика или реакцию сервера на сканирование. Cloak Mode практически не оставляет следов. Сервер уже поддерживает этот режим, а пользователи могут включить его в приложении.
Либо сеть анализирует направления трафика. В ряде стран для этого используют системы оценки репутации: если множество людей обращается к местным банкам и госсервисам с одного и того же зарубежного IP-адреса, этот адрес могут пометить как VPN или прокси и добавить в черный список.
Либо адрес просто перехватывают. Ключи доступа не зашифрованы, и любой может увидеть в них адрес сервера. Делитесь ключами только с теми, кому доверяете.
Один IP для подключения, другой — для выхода
Выделите серверу два публичных IP-адреса с четким разделением ролей:
- Входящий IP — адрес, к которому подключаются приложения пользователей. Именно он указан в ключах доступа.
- Исходящий IP — адрес, через который сервер обращается к веб-сайтам. Сайты видят только его.
Сайты видят только исходящий IP. Если адрес попадет под блокировку или проверку, это затронет только его — пользователи продолжат подключаться через другой IP. Вы легко сможете заменить исходящий адрес, не рассылая пользователям новые ключи доступа.
В VpnHood! SERVER нет отдельной настройки исходящего IP. Сервер обращается к сайтам как обычное приложение, поэтому выбор адреса зависит от операционной системы. Задайте исходящий IP в системе, а IP для подключения — в VpnHood.
Добавьте второй IP-адрес
Закажите дополнительный IPv4-адрес у вашего хостинг-провайдера и настройте его на сервере по инструкции хостинга. Если вы работаете без Docker, сервер автоматически добавит назначенный для прослушивания адрес в систему.
Оставьте основной адрес сервера для исходящего трафика, а новый используйте для подключения. Система уже отправляет трафик с основного IP — вам потребуется меньше настроек. И даже если основной IP заблокируют для входящих соединений, он продолжит работать на выход.
Настройте исходящий IP
Эта команда показывает, с какого адреса система отправляет трафик: он указан после src.
ip route get 1.1.1.1
Результат команды с исходящим IP 198.51.100.20
1.1.1.1 via 198.51.100.1 dev eth0 src 198.51.100.20 uid 0
cache
Если в выводе отображается новый адрес вместо основного, система настроена наоборот. Проще всего поменять их роли местами: используйте отображаемый адрес как исходящий, а второй — для входящих подключений.
В Docker сервер использует общую сеть с хостом, поэтому применяются сетевые настройки хоста.
В облачных сервисах (AWS, Google Cloud, Azure или Oracle Cloud) сервер использует внутренние приватные IP, привязанные к публичным. Используйте приватные адреса в настройках сервера и ОС, а публичный IP для подключения — только в ключах доступа.
Назначьте IP для подключения
Настройте VpnHood! SERVER так, чтобы он принимал соединения только на IP для подключения и добавлял в ключи доступа исключительно его. Тогда исходящий IP никак не выдаст наличие VPN-сервера даже при прямом сканировании.
Укажите оба адреса вручную. По умолчанию как отдельный, так и управляемый сервер определяет свой адрес по исходящему трафику и выберет исходящий IP. Подробнее в руководстве Настройка IP-адресов сервера.
Ранее созданные ключи содержат старый адрес. Оставьте сервер доступным по старому адресу на несколько дней, чтобы приложения успели обновить ключи, а затем отключите его — до этого момента исходящий IP все еще будет отвечать как VPN-сервер.
Проверьте результат
Подключитесь с любого устройства и проверьте свой IP на любом специализированном сайте. Должен отображаться исходящий IP.
Если IP подключения остаётся доступным, значит, сеть отслеживала сервер по направлению трафика. Если блокировка снова наступает через пару часов, сеть распознаёт само подключение: попросите пользователей включить Режим маскировки (Cloak Mode) и привяжите к серверу доменное имя.
Подключение через доменное имя
По умолчанию сервер использует самоподписанный сертификат со случайным именем. Подключите собственный домен с сертификатом от доверенного центра (например, Let's Encrypt), и трафик к серверу станет неотличим от посещения обычного сайта.
Домен выручает и при блокировке IP подключения. Ключи будут содержать домен, к которому обращаются приложения, — вы сможете просто сменить IP сервера, обновить запись домена, и все ключи продолжат работать.
В руководстве Подключение через доменное имя описана настройка как для управляемого, так и для автономного сервера.
Сервер за обратным прокси (Reverse Proxy)
Если позволяет конфигурация, сервер можно разместить за обратным прокси или CDN (например, Cloudflare). В этом случае пользователи подключаются к прокси, скрывая реальный IP сервера. Доступность и стабильность зависят от страны и интернет-провайдера.
Исключите локальные сайты из VPN-трафика
Попросите пользователей включить в приложении функцию Исключить мою страну. Местные ресурсы (банки, госпорталы) будут открываться напрямую, не нагружая сервер и не создавая аномального зарубежного трафика.