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

Почему WireGuard, а не OpenVPN

WireGuard встроен в ядро Linux, состоит из 4000 строк кода (против 600 000 у OpenVPN) и работает быстрее на слабом железе. Для сервера с 2 ГБ RAM и парой клиентов он практически незаметен.

Главные преимущества:

  • Простота настройки. Один конфиг-файл на сервере, один на клиенте. Не нужно возиться с сертификатами X.509.
  • Высокая производительность. Современная криптография (Curve25519, ChaCha20, Poly1305) работает быстрее старых AES-решений на процессорах без AES-NI.
  • Роуминг. Клиент автоматически переподключается при смене сети (Wi-Fi → мобильный интернет) за доли секунды.
  • Отсутствие логов. Вы владеете сервером — никто не записывает, куда вы ходили.

Когда собственный VPN нужен бизнесу

  • Удалённый доступ к 1С, CRM или файловому серверу. Сотрудники подключаются к офисной сети из дома так, будто сидят за рабочим столом.
  • Защита трафика в кафе и аэропортах. Весь интернет-трафик телефона и ноутбука идёт через защищённый туннель на ваш сервер.
  • Объединение филиалов. Офис в Москве и склад в регионе работают в одной локальной сети.
  • Доступ к сервисам, ограниченным по IP. Например, если банк или госпортал доступен только с российского адреса, а вы в командировке за границей.

Настройка сервера

1. Установка

Debian/Ubuntu:

sudo apt install wireguard

Alpine:

sudo apk add wireguard-tools

2. Генерация ключей

wg genkey | tee privatekey | wg pubkey > publickey

Сохраните privatekey в надёжное место. Он не восстанавливается.

3. Конфигурация сервера

Создайте /etc/wireguard/wg0.conf:

[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <содержимое файла privatekey>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# Ноутбук директора
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.200.200.2/32

[Peer]
# Телефон бухгалтера
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.200.200.3/32

Замените eth0 на имя вашего сетевого интерфейса (узнать: ip link).

4. Включение форвардинга и запуск

sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

5. Открытие порта в фаерволе

sudo ufw allow 51820/udp

Или если используете iptables напрямую:

sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT

Настройка клиента

Linux / macOS

Установите WireGuard, создайте конфиг /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = <приватный ключ клиента>
Address = 10.200.200.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <публичный ключ сервера>
Endpoint = ваш_сервер.ru:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
sudo wg-quick up wg0

Windows / Android / iOS

Скачайте приложение WireGuard, отсканируйте QR-код или импортируйте конфиг-файл. Для генерации QR-кода на сервере:

qrencode -t ansiutf8 < /etc/wireguard/client-phone.conf

Проверка работы

На сервере:

sudo wg

Вы увидите список подключённых клиентов, время последнего рукопожатия и объём переданных данных.

На клиенте проверьте IP:

curl ifconfig.me

Должен вернуться IP вашего сервера.

Типичные ошибки

  • Не работает интернет после подключения. Проверьте PostUp/PostDown правила и включён ли ip_forward.
  • Клиент не соединяется. Убедитесь, что UDP-порт 51820 открыт на хостинге (некоторые провайдеры блокируют порты в панели управления).
  • DNS не резолвится. Добавьте DNS = 1.1.1.1 или IP вашего DNS-сервера в секцию [Interface] клиента.

Безопасность

  • Не используйте один и тот же ключ на нескольких устройствах. Генерируйте пару ключей для каждого клиента.
  • Ограничивайте AllowedIPs. Если клиенту нужен только доступ к офисной сети, укажите AllowedIPs = 10.200.200.0/24, 192.168.1.0/24 вместо 0.0.0.0/0.
  • Обновляйте сервер. WireGuard — часть ядра, обновления безопасности приходят вместе с системой.

Сколько это стоит

Если у вас уже есть VPS — ничего. WireGuard не требует лицензий и не ест ресурсы. Для сравнения: коммерческий VPN для команды из 5 человек обойдётся в 30–50 $/мес. Собственный сервер за 400 ₽/мес покроет эту задачу с запасом.

Итог

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

Похожие материалы

Если нужно настроить VPN для офиса или удалённой команды — напишите, подберу оптимальную схему под вашу инфраструктуру.