Постоянный IP для удалённых сотрудников: VPS как единая точка выхода для IP-whitelist

22.09.26
Единый IP для удалённой команды: домашние, офисные и мобильные сотрудники подключаются через Linux VPS к CRM и API с IP-whitelist

Доступ к CRM, API, базе данных или административной панели нередко ограничивают списком доверенных IP-адресов. Такой список называют IP-whitelist. Пока сотрудники работают из одного офиса, в него достаточно добавить внешний адрес офисного шлюза. Но у удалённой команды адреса постоянно меняются: домашний провайдер выдаёт динамический IP, мобильная сеть использует собственную адресацию, а в командировке сотрудник подключается через гостиничный Wi-Fi.

Добавлять в список разрешённых адресов каждую новую сеть неудобно и небезопасно. Практичнее организовать единую корпоративную точку выхода на Linux VPS с постоянным публичным IP. Сотрудники подключаются к VPS по защищённому туннелю, а целевой сервис видит обращения как трафик от одного известного адреса.

В этой статье разберём архитектуру такого решения, выбор маршрутов, настройку WireGuard, преобразование адресов через NAT и проверку результата. Основной вариант — направлять через VPS только трафик к разрешённым корпоративным системам, не затрагивая остальной интернет-трафик сотрудника.

Правовые границы использования: материал описывает организацию авторизованного корпоративного доступа к CRM, API, базам данных, административным панелям и другим информационным системам, законно доступным на территории Российской Федерации. Описанная конфигурация не предназначена для получения доступа к информационным ресурсам и сетям, доступ к которым ограничен в соответствии с законодательством РФ.

Зачем удалённым сотрудникам единый исходящий IP

IP-whitelist дополняет обычную аутентификацию: внешний сервис принимает соединения только от заранее разрешённых публичных адресов. Даже если логин, пароль или токен стали известны постороннему, попытка подключения из другой сети будет отклонена. При этом список доверенных адресов не заменяет многофакторную аутентификацию, разграничение прав и журналирование действий.

Единый исходящий IP полезен, когда сотрудники работают с системами, где доступ ограничен по источнику соединения:

  • корпоративной CRM или ERP;
  • облачной базой данных;
  • API партнёра или платёжного сервиса;
  • панелью администрирования сайта или инфраструктуры;
  • системой аналитики, документооборота или отчётности;
  • внешним сервисом подрядчика, который требует указать доверенный IP.
ПодходЧто видит внешний сервисОсновное ограничение
Адрес каждого сотрудника добавляется отдельноДомашний, мобильный или гостиничный IPАдреса меняются, список быстро устаревает
Доступ разрешён для всех адресовЛюбой источник соединенияIP-фильтрация фактически перестаёт защищать сервис
Сотрудники выходят через VPSОдин постоянный публичный IP VPSНужно администрировать шлюз, ключи и маршруты
Важно: единый IP не делает всех сотрудников одной учётной записью. Для каждого человека сохраняйте отдельный логин в целевой системе, выдавайте индивидуальный ключ WireGuard и включайте журналирование действий.

Как VPS становится корпоративной точкой выхода

В этой схеме VPS выполняет две функции: принимает зашифрованные подключения сотрудников и пересылает выбранный трафик во внешнюю систему от своего публичного адреса. На сервере включается маршрутизация IPv4, а правило NAT заменяет внутренний адрес клиента WireGuard на внешний адрес VPS.

Что это значит: NAT (Network Address Translation) — преобразование сетевых адресов. В рассматриваемой схеме внешний сервис видит публичный IP VPS, а не внутренний адрес сотрудника в туннеле.
Ноутбук сотрудника
        │
        │ зашифрованный туннель WireGuard
        ▼
Linux VPS с постоянным публичным IP
        │
        │ маршрутизация и NAT
        ▼
CRM, API, база данных или админ-панель
        │
        └── проверка IP-whitelist
Как читать схему: рабочее устройство отправляет запрос к разрешённой корпоративной системе через туннель. VPS принимает пакет, пересылает его дальше и подставляет свой публичный IP. Ответ возвращается тем же маршрутом к сотруднику.

Это исходящий сценарий. Он отличается от подключения к внутренним ресурсам компании: здесь целевая система расположена за пределами VPS и принимает запросы только от доверенного адреса шлюза.

Как направлять трафик к корпоративным системам

До настройки нужно решить, какой трафик пойдёт через VPS. От этого зависят маршруты WireGuard, нагрузка на сервер и влияние шлюза на работу пользователя.

Выборочная маршрутизация

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

Например, если организация законно использует сервисы в тестовых сетях 203.0.113.0/24 и 198.51.100.16/28, строка маршрутов будет выглядеть так:

AllowedIPs = 203.0.113.0/24, 198.51.100.16/28
Важно: адреса 203.0.113.0/24 и 198.51.100.0/24 зарезервированы для документации. Замените их реальными адресами разрешённых корпоративных систем. Не копируйте пример без изменений.

Выборочная маршрутизация снижает нагрузку на VPS и уменьшает последствия сбоя: если шлюз временно недоступен, сотрудник теряет маршрут к конкретной рабочей системе, а не всё интернет-соединение.

Полный корпоративный маршрут

Параметр AllowedIPs = 0.0.0.0/0 направляет через VPS весь IPv4-трафик устройства. Такой режим может понадобиться на централизованно управляемом рабочем устройстве, если внутренняя политика компании требует единой контролируемой точки выхода ко всем разрешённым рабочим системам.

AllowedIPs = 0.0.0.0/0
Важно: полный маршрут увеличивает объём трафика через VPS и меняет сетевое поведение устройства. Используйте его только в управляемом рабочем профиле, для доступа к законно доступным корпоративным системам и после проверки требований информационной безопасности. Для обычного IP-whitelist чаще достаточно выборочных маршрутов.

Что подготовить перед настройкой

Для шлюза потребуется Linux VPS с постоянным публичным IPv4-адресом. Перед началом работ соберите параметры и убедитесь, что у вас есть резервный способ доступа к серверу.

Что подготовитьЗачем это нужноПример
Публичный IP VPSДобавить его в IP-whitelist внешней системы192.0.2.10
DNS-имя шлюзаНе привязывать клиентские конфигурации к адресу вручнуюgateway.example.ru
UDP-порт WireGuardРазрешить входящее подключение на VPS51820/udp
Подсеть туннеляНазначить уникальные внутренние адреса сотрудникам10.20.0.0/24
Адреса целевых системСформировать выборочные маршрутыАдреса или подсети, предоставленные владельцем системы
Список сотрудниковСоздать отдельную пару ключей и адрес для каждого устройства10.20.0.2/32, 10.20.0.3/32

Также проверьте имя внешнего сетевого интерфейса VPS. Оно может быть ens3, eth0, enp1s0 или другим. Узнать интерфейс маршрута по умолчанию можно командой:

Терминал Linux
ip route show default

В строке вывода имя расположено после слова dev. Оно понадобится в правилах NAT. В примерах ниже используется ens3; замените его на значение своего сервера.

Важно: перед изменением firewall сохраните действующий SSH-сеанс и проверьте доступ к консоли VPS в панели управления. Ошибка в правилах фильтрации может прервать удалённое подключение.

Как настроить Linux VPS как шлюз

Ниже приведён пример для актуальных выпусков Ubuntu и Debian. Названия пакетов и способ управления firewall могут отличаться в других дистрибутивах. Все значения в угловых скобках необходимо заменить.

Установите WireGuard и создайте ключи сервера

Обновите индекс пакетов и установите WireGuard:

Терминал Linux
sudo apt update
sudo apt install wireguard iptables

Создайте закрытый и открытый ключи сервера. Закрытый ключ нельзя передавать сотрудникам или публиковать в документации:

Терминал Linux
sudo install -d -m 700 /etc/wireguard/keys
sudo sh -c 'umask 077; wg genkey > /etc/wireguard/keys/server.key; wg pubkey < /etc/wireguard/keys/server.key > /etc/wireguard/keys/server.pub'

Открытый ключ можно посмотреть следующей командой:

Терминал Linux
sudo cat /etc/wireguard/keys/server.pub

Включите маршрутизацию IPv4

Создайте отдельный файл параметров ядра:

Терминал Linux
sudo nano /etc/sysctl.d/99-wireguard-forward.conf

Добавьте в него строку:

net.ipv4.ip_forward = 1

Примените параметр и проверьте его значение:

Терминал Linux
sudo sysctl --system
sysctl net.ipv4.ip_forward

Ожидаемое значение — net.ipv4.ip_forward = 1.

Создайте конфигурацию интерфейса wg0

Откройте файл конфигурации:

Терминал Linux
sudo nano /etc/wireguard/wg0.conf

Добавьте базовые параметры. Вставьте закрытый ключ сервера вместо <SERVER_PRIVATE_KEY> и замените ens3 на фактический внешний интерфейс:

[Interface]
Address = 10.20.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>

PostUp = iptables -I FORWARD 1 -i %i -o ens3 -j ACCEPT; iptables -I FORWARD 1 -i ens3 -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -o ens3 -j ACCEPT; iptables -D FORWARD -i ens3 -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.20.0.0/24 -o ens3 -j MASQUERADE

Ограничьте доступ к файлу:

Терминал Linux
sudo chmod 600 /etc/wireguard/wg0.conf

Правила FORWARD разрешают пересылку пакетов между туннелем и внешним интерфейсом. Правило MASQUERADE выполняет NAT, чтобы целевая система видела публичный IP VPS.

Разрешите порт в firewall

Если на сервере уже включён UFW, откройте выбранный UDP-порт и проверьте состояние правил:

Терминал Linux
sudo ufw allow 51820/udp
sudo ufw status verbose
Типичная ошибка: не включайте UFW удалённо, пока не разрешили используемый SSH-порт и не проверили резервную консоль. Если сервер использует nftables, firewalld или правила панели провайдера, настройте порт в действующей системе фильтрации, а не параллельно в нескольких инструментах.

Добавьте отдельного peer для каждого сотрудника

В WireGuard участник туннеля называется peer. Для каждого устройства нужна собственная пара ключей и уникальный адрес. В конец /etc/wireguard/wg0.conf добавляют отдельный блок:

[Peer]
# employee-01
PublicKey = <EMPLOYEE_01_PUBLIC_KEY>
AllowedIPs = 10.20.0.2/32

Для следующего сотрудника используйте другой ключ и адрес, например 10.20.0.3/32. Не выдавайте нескольким устройствам один закрытый ключ: иначе нельзя будет отозвать доступ одного пользователя без отключения остальных.

Запустите интерфейс и проверьте службу

Перед запуском проверьте конфигурацию визуально: имя внешнего интерфейса, подсеть, ключи и порт. Затем включите автоматический запуск интерфейса:

Терминал Linux
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0 --no-pager
sudo wg show

Если служба не запускается, изучите журнал:

Терминал Linux
sudo journalctl -u wg-quick@wg0 -n 100 --no-pager

Как подключить сотрудников и проверить работу

Создайте клиентскую конфигурацию

Ключи клиента лучше генерировать на рабочем устройстве, чтобы закрытый ключ не покидал его. В конфигурацию добавьте адрес сотрудника, закрытый ключ, открытый ключ сервера и адрес VPS.

Для выборочной маршрутизации конфигурация может выглядеть так:

[Interface]
PrivateKey = <EMPLOYEE_01_PRIVATE_KEY>
Address = 10.20.0.2/32

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = gateway.example.ru:51820
AllowedIPs = 203.0.113.0/24, 198.51.100.16/28
PersistentKeepalive = 25

PersistentKeepalive = 25 помогает сохранять соединение, когда устройство сотрудника находится за NAT. В AllowedIPs укажите только фактические адреса разрешённых рабочих систем.

Если организация осознанно выбрала полный корпоративный маршрут для управляемого устройства, строка будет другой:

AllowedIPs = 0.0.0.0/0

В этой статье рассматривается IPv4. Если на рабочем устройстве и в целевой системе используется IPv6, его маршрутизацию и фильтрацию необходимо спроектировать отдельно. Иначе часть соединений может пойти вне ожидаемого маршрута.

Проверьте туннель, маршрут и исходящий адрес

После подключения выполните проверку по уровням:

  1. На VPS команда sudo wg show должна показать недавнее рукопожатие с нужным peer.
  2. С клиентского устройства должен быть доступен внутренний адрес шлюза 10.20.0.1.
  3. Трассировка к целевой системе должна идти через интерфейс WireGuard.
  4. Целевая система должна зафиксировать публичный IP VPS.
  5. После добавления IP VPS в whitelist авторизованный сотрудник должен получить доступ, а подключение с другого адреса — отклоняться.

При полном корпоративном маршруте внешний IPv4 можно проверить командой:

Терминал Linux
curl -4 https://ifconfig.me

Результат должен совпасть с публичным IPv4 VPS. При выборочной маршрутизации проверяйте адрес на стороне самой корпоративной системы — например, по журналу подключений или диагностическому endpoint, который контролирует организация. Общий сервис проверки IP при таком режиме покажет адрес локального провайдера, и это нормально.

Диагностика типичных проблем

СимптомВероятная причинаЧто проверить
Нет рукопожатия WireGuardЗакрыт UDP-порт, неверный Endpoint или ключFirewall VPS и провайдера, DNS-имя, порт, соответствие ключей
Рукопожатие есть, но целевой сервис недоступенНе включена маршрутизация или отсутствует правило FORWARDnet.ipv4.ip_forward, правила firewall и имя внешнего интерфейса
Сервис видит не тот IPМаршрут не попал в AllowedIPs или NAT не сработалМаршрут на клиенте, подсеть назначения, правило MASQUERADE
Открываются не все страницы приложенияСистема использует дополнительные домены или сетиПолный список адресов у владельца сервиса, DNS и журналы соединений
Соединение устанавливается, но передача зависаетПроблема с MTU на путиПодобрать меньшее значение MTU на клиенте, например начать с 1380, и повторить тест
💡 Совет администратора: ведите реестр сотрудников, внутренних адресов WireGuard, открытых ключей, выданных маршрутов и даты отзыва доступа. Не записывайте в него закрытые ключи.

Как отозвать доступ сотрудника

При увольнении, потере устройства или компрометации ключа удалите соответствующий блок [Peer] из конфигурации сервера и примените изменения. Безопасный способ — сначала отредактировать файл, затем перезапустить только интерфейс WireGuard:

Терминал Linux
sudo nano /etc/wireguard/wg0.conf
sudo systemctl restart wg-quick@wg0
sudo wg show

Перезапуск кратковременно прервёт активные туннели всех сотрудников. Если это недопустимо, применяйте изменения через wg syncconf по утверждённой процедуре и предварительно проверьте конфигурацию на тестовом узле.

Заключение

Linux VPS с постоянным публичным IP позволяет дать распределённой команде единую точку выхода к внешней CRM, API, базе данных или административной панели с IP-whitelist. Для большинства сценариев оптимальна выборочная маршрутизация: через WireGuard идут только адреса рабочих систем, а остальной трафик сотрудника сохраняет обычный маршрут.

Надёжность решения зависит не только от настройки туннеля. Для каждого пользователя нужны отдельные ключи, доступ необходимо своевременно отзывать, а работоспособность шлюза — контролировать. IP-whitelist следует использовать вместе с персональными учётными записями, многофакторной аутентификацией и журналированием.

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

Что почитать дальше

Для настройки и сопровождения шлюза пригодятся связанные материалы:

Когда стоит обратиться к специалистам

Самостоятельная настройка подходит для небольшой команды и простой схемы с одним VPS. Помощь специалиста особенно полезна, если нужно объединить несколько офисов, согласовать маршруты разных сетей, внедрить резервный шлюз, интегрировать доступ с корпоративными правилами безопасности или изменить firewall без остановки действующих сервисов.

Когда стоит обратиться к специалистам: если ошибка в маршрутизации или firewall может остановить доступ сотрудников к рабочим системам, сначала подготовьте схему, окно работ, резервный канал управления и план возврата изменений.

Для организации корпоративного шлюза доступа к разрешённым системам по IP-whitelist можно выбрать Linux VPS IPWAY, в том числе VPS на Ubuntu или VPS на Debian. При подборе учитывайте число сотрудников, объём маршрутизируемого трафика и требования к резервированию.

Кратко

  • Linux VPS может стать единой точкой выхода с постоянным публичным IP.
  • Внешняя система добавляет IP VPS в whitelist вместо адресов каждого сотрудника.
  • Для подключения сотрудников удобно использовать отдельные ключи WireGuard.
  • Выборочная маршрутизация передаёт через VPS только трафик к рабочим системам.
  • NAT подменяет внутренний адрес клиента на публичный IP сервера.
  • IP-whitelist не заменяет персональные учётные записи и многофакторную аутентификацию.
  • Доступ уволенного сотрудника отзывают удалением его отдельного peer.
  • Схему используют только для авторизованного доступа к законно доступным системам.
Headscale на VPS объединяет Linux-сервер, ноутбук, смартфон и офисную сеть в защищённую mesh-сеть.
12.10.26
Headscale на VPS: как объединить серверы и устройства в собственную mesh-сеть

Когда в частной сети несколько серверов, рабочих компьютеров и мобильных устройств, ручное управление отдельными конфигурациями WireGuard быстро усложняется. Администратору приходится самостоятельно распределять ключи, учитывать адреса узлов,…

Автор: Редакция блога
Схема удалённого доступа к домашней или офисной сети без белого IP через Linux VPS и защищённый туннель за CGNAT.
05.10.26
Как получить удалённый доступ к домашней или офисной сети без белого IP

Нужно подключиться из Интернета к домашнему роутеру, NAS, компьютеру или серверу в офисе, но провайдер не выдаёт белый IP. Внутри локальной сети устройства работают, однако открыть…

Автор: Редакция блога
Зашифрованные удалённые резервные копии на VPS с хранением ежедневных, еженедельных и ежемесячных снимков и проверкой восстановления.
28.09.26
Удалённые резервные копии на VPS: restic или Borg, шифрование и проверка восстановления

Резервная копия на том же сервере, где находятся рабочие данные, помогает не во всех случаях. Если выйдет из строя диск, сервер окажется скомпрометирован или администратор случайно…

Автор: Редакция блога
Как выбрать VPS для Telegram-бота: подбор CPU, RAM и SSD для подходящей конфигурации сервера IPWAY.
25.09.26
Как выбрать VPS для Telegram-бота: CPU, RAM, диск и запас для роста

Telegram-бот может без проблем работать на ноутбуке разработчика, но для круглосуточной эксплуатации ему нужен сервер. На этом этапе возникает практический вопрос: какую конфигурацию VPS выбрать, чтобы…

Автор: Редакция блога
Nginx как reverse proxy на VPS: HTTPS, заголовки и диагностика 502
21.09.26
Nginx как reverse proxy на VPS: HTTPS, заголовки и диагностика 502

Приложение на VPS может исправно отвечать на локальном порту, например 127.0.0.1:3000, но оставаться недоступным по домену. Открывать этот порт напрямую в интернет обычно не требуется: перед…

Автор: Редакция блога
Настройка домена для Linux VPS: инженер IPWAY показывает DNS-записи A, AAAA, CNAME и TTL, ведущие от домена к серверу и проверке доступности сайта.
11.09.26
Как направить домен на Linux VPS: A, AAAA, CNAME, TTL и проверка DNS

После заказа Linux VPS сервер получает публичный IP-адрес, но сам по себе домен еще не знает, куда отправлять пользователей. Чтобы сайт открывался по адресу вроде example.com,…

Автор: Редакция блога

Мы используем файлы cookie и сервис веб-аналитики Яндекс Метрика для улучшения работы сайта. Оставаясь на сайте, вы соглашаетесь с Политикой конфиденциальности.