Удалёнщики без Cisco: переводим 30 сотрудников на WireGuard VPN

Задача клиента

В марте 2026 года к нам в АйТи Фреш обратилась консалтинговая компания из Екатеринбурга, специализирующаяся на управленческом консалтинге для среднего бизнеса. Штат компании — около 50 человек, из которых 30 консультантов постоянно работают удалённо: из дома, от клиентов, из коворкингов и в командировках.

Клиент столкнулся с несколькими серьёзными проблемами:

  • Дорогое VPN-решение — компания использовала Cisco AnyConnect, лицензии на который обходились в 180 000 рублей ежегодно, при этом функциональность использовалась на 10%
  • Жалобы сотрудников на скорость — OpenVPN-сервер, который тестировали как альтернативу, давал ощутимые задержки и обрывы соединения при переключении между Wi-Fi и мобильной сетью
  • Отсутствие мобильного доступа — консультанты не могли безопасно подключаться к корпоративной CRM со смартфонов
  • Безопасность — данные клиентов требовали надёжного шифрования при передаче через публичные сети

Наши инженеры предложили развернуть WireGuard VPN — современное, быстрое и полностью бесплатное решение с открытым исходным кодом. Задача: обеспечить безопасный удалённый доступ для 30+ сотрудников с любых устройств, с минимальными задержками и возможностью масштабирования.

Почему мы выбрали WireGuard вместо Cisco и OpenVPN

WireGuard — современный VPN-протокол, появившийся как модуль ядра Linux в 2020 году (включён в ядро начиная с версии 5.6). В отличие от OpenVPN и IPsec, WireGuard содержит около 4 000 строк кода, что делает его легко аудируемым и минимально подверженным уязвимостям. Протокол использует современные криптографические примитивы: Curve25519 для обмена ключами, ChaCha20 для симметричного шифрования, Poly1305 для аутентификации, BLAKE2s для хеширования и SipHash24 для хеш-таблиц.

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

Сравнительный анализ, который мы представили клиенту

ПараметрWireGuardOpenVPNIPsec/IKEv2
Кодовая база~4 000 строк~100 000 строк~400 000 строк
ШифрованиеChaCha20-Poly1305AES-256-GCM / CBCAES-256-GCM
Пропускная способность~900 Мбит/с~500 Мбит/с~700 Мбит/с
Время установления соединения<100 мс~5-10 сек~1-3 сек
Работа в пространствеЯдроПользовательскоеЯдро
РоумингВстроенныйНетС MOBIKE

Наши тесты на сервере с процессором Intel Xeon E-2236 подтвердили, что WireGuard стабильно обеспечивает на 30–50% большую пропускную способность по сравнению с OpenVPN при аналогичных условиях. Это достигается за счёт работы непосредственно в пространстве ядра и использования оптимизированных криптографических примитивов.

Сценарии, под которые мы проектировали решение

Исходя из задач клиента, мы определили четыре ключевых сценария использования WireGuard:

  • Удалённый доступ сотрудников — мгновенное подключение и роуминг между Wi-Fi и мобильной сетью без разрыва туннеля
  • Site-to-Site VPN — соединение главного офиса с переговорной площадкой клиента
  • Mesh-сети — связь между серверами компании в разных дата-центрах
  • Мобильный доступ — нативные клиенты для iOS и Android с отличным энергопотреблением

WireGuard менее подходит для сценариев, требующих обфускации трафика (обход DPI), — в таких случаях лучше использовать VLESS/XTLS или Shadowsocks в качестве транспорта. Для данного клиента это ограничение не было критичным.

Установка WireGuard на сервер клиента

Мы развернули VPN-сервер на выделенном сервере клиента под управлением Debian 12. Установка WireGuard на современных дистрибутивах Linux занимает несколько минут.

Применённая конфигурация: установка на Debian 12

# Обновляем пакеты
sudo apt update && sudo apt upgrade -y

# Устанавливаем WireGuard
sudo apt install -y wireguard wireguard-tools

# Проверяем загрузку модуля ядра
sudo modprobe wireguard
lsmod | grep wireguard

# Убеждаемся, что модуль загрузился
# wireguard             81920  0
# curve25519_x86_64     36864  1 wireguard
# libchacha20poly1305   16384  1 wireguard

Если вы используете более старое ядро (ниже 5.6), потребуется установка модуля из бэкпортов:

# Для Debian 10 (buster)
echo 'deb http://deb.debian.org/debian buster-backports main' | sudo tee /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install -y -t buster-backports wireguard

Установка на CentOS/RHEL 8/9 и Rocky Linux

# CentOS/RHEL 8
sudo dnf install -y epel-release elrepo-release
sudo dnf install -y kmod-wireguard wireguard-tools

# Rocky Linux 9 / AlmaLinux 9
sudo dnf install -y epel-release
sudo dnf install -y wireguard-tools

# Загружаем модуль
sudo modprobe wireguard

После установки мы убедились, что директория /etc/wireguard существует и имеет корректные права доступа:

sudo mkdir -p /etc/wireguard
sudo chmod 700 /etc/wireguard

Генерация ключей и настройка сервера

WireGuard использует асимметричную криптографию на основе эллиптических кривых Curve25519. Каждый узел (peer) имеет пару ключей: приватный и публичный. Для клиента мы дополнительно использовали preshared key (PSK) для защиты от квантовых атак — требование их службы безопасности.

Вот как мы генерировали ключевые пары

# Генерация ключей для сервера
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

# Устанавливаем права доступа на приватный ключ
sudo chmod 600 /etc/wireguard/server_private.key

# Генерация ключей для первого клиента
wg genkey | sudo tee /etc/wireguard/client1_private.key | wg pubkey | sudo tee /etc/wireguard/client1_public.key

# Генерация Pre-Shared Key (дополнительная защита)
wg genpsk | sudo tee /etc/wireguard/client1_psk.key
sudo chmod 600 /etc/wireguard/client1_private.key /etc/wireguard/client1_psk.key

# Просмотр сгенерированных ключей
echo "Server Private: $(cat /etc/wireguard/server_private.key)"
echo "Server Public: $(cat /etc/wireguard/server_public.key)"
echo "Client1 Private: $(cat /etc/wireguard/client1_private.key)"
echo "Client1 Public: $(cat /etc/wireguard/client1_public.key)"
echo "Client1 PSK: $(cat /etc/wireguard/client1_psk.key)"

Важно: приватные ключи должны храниться в секрете. Никогда не передавайте их по незащищённым каналам. Для распространения конфигурации клиентам мы использовали QR-коды и зашифрованную почту.

Применённая конфигурация сервера wg0.conf

Вот конфигурационный файл сервера, который мы подготовили:

# /etc/wireguard/wg0.conf

[Interface]
# Приватный ключ сервера
PrivateKey = SERVER_PRIVATE_KEY_HERE

# IP-адрес сервера в VPN-сети
Address = 10.0.0.1/24

# Порт прослушивания (UDP)
ListenPort = 51820

# DNS-сервер для клиентов (опционально)
DNS = 1.1.1.1, 8.8.8.8

# Команды при поднятии интерфейса — включаем NAT и форвардинг
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
PostUp = sysctl -w net.ipv4.ip_forward=1

# Команды при выключении интерфейса — убираем правила
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -A FORWARD -o wg0 -j ACCEPT

# === Клиент 1: Ноутбук администратора ===
[Peer]
PublicKey = CLIENT1_PUBLIC_KEY_HERE
PresharedKey = CLIENT1_PSK_HERE
AllowedIPs = 10.0.0.2/32

# === Клиент 2: Мобильное устройство ===
[Peer]
PublicKey = CLIENT2_PUBLIC_KEY_HERE
AllowedIPs = 10.0.0.3/32

# === Клиент 3: Офисный шлюз (Site-to-Site) ===
[Peer]
PublicKey = CLIENT3_PUBLIC_KEY_HERE
AllowedIPs = 10.0.0.4/32, 192.168.10.0/24
PersistentKeepalive = 25

Обратите внимание: AllowedIPs для site-to-site соединения включает подсеть удалённого офиса (192.168.10.0/24). Параметр PersistentKeepalive = 25 необходим, если клиент находится за NAT.

Включение IP-форвардинга на постоянной основе

# Включаем форвардинг пакетов
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-wireguard.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf

# Проверяем
sysctl net.ipv4.ip_forward
# net.ipv4.ip_forward = 1

Настройка клиентских устройств сотрудников

Мы настроили подключение для всех 30 удалённых сотрудников на трёх типах устройств: рабочие ноутбуки (Linux и Windows), а также смартфоны (iOS и Android). Клиентская конфигурация проста и одинакова по структуре для всех платформ — отличается только способ импорта.

Конфигурация для Linux-ноутбуков

# Устанавливаем WireGuard на клиенте
sudo apt install -y wireguard resolvconf

# Создаём конфигурацию клиента
sudo nano /etc/wireguard/wg0.conf
# /etc/wireguard/wg0.conf (клиент Linux)

[Interface]
PrivateKey = CLIENT1_PRIVATE_KEY_HERE
Address = 10.0.0.2/24
DNS = 1.1.1.1, 8.8.8.8

# MTU — важен при проблемах с фрагментацией
# MTU = 1420

[Peer]
PublicKey = SERVER_PUBLIC_KEY_HERE
PresharedKey = CLIENT1_PSK_HERE
Endpoint = vpn.example.com:51820

# Для полного туннелирования (весь трафик через VPN)
AllowedIPs = 0.0.0.0/0, ::/0

# Для split-tunneling (только VPN-подсеть)
# AllowedIPs = 10.0.0.0/24

# Keepalive для работы за NAT
PersistentKeepalive = 25
# Поднимаем туннель
sudo wg-quick up wg0

# Проверяем статус
sudo wg show

# Автозапуск при загрузке
sudo systemctl enable wg-quick@wg0

# Проверяем подключение
ping 10.0.0.1
curl ifconfig.me  # Должен показать IP VPN-сервера

Настройка для Windows-ноутбуков

Большинство консультантов работали на Windows. Мы подготовили для них готовые конфигурационные файлы. Скачайте официальный клиент WireGuard с wireguard.com/install. После установки:

  1. Откройте приложение WireGuard
  2. Нажмите «Add Tunnel» → «Add empty tunnel»
  3. Вставьте конфигурацию клиента (аналогичную Linux)
  4. Или импортируйте файл .conf

Конфигурация для Windows идентична Linux-клиенту. Для удобного распространения мы создали файлы client.conf для каждого сотрудника и передали через защищённый канал.

# Генерация QR-кода для мобильных клиентов
sudo apt install -y qrencode
qrencode -t ansiutf8 < /etc/wireguard/client1.conf

Мобильные клиенты: iOS и Android

Для консультантов, которым нужен доступ к CRM с телефона, мы настроили мобильные клиенты через QR-коды:

# На сервере — генерируем конфигурацию клиента
cat <<EOF > /tmp/mobile-client.conf
[Interface]
PrivateKey = MOBILE_PRIVATE_KEY
Address = 10.0.0.3/24
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF

# Генерируем QR-код
qrencode -t png -o /tmp/mobile-qr.png < /tmp/mobile-client.conf
# Или выводим в терминал
qrencode -t ansiutf8 < /tmp/mobile-client.conf

Сотрудник сканирует QR-код в приложении WireGuard, и подключение готово за 5 секунд. После передачи мы удалили временные файлы:

sudo shred -u /tmp/mobile-client.conf /tmp/mobile-qr.png

Настройка NAT, firewall и DNS

Правильная настройка firewall — критически важный этап. Нам нужно было разрешить трафик WireGuard, настроить NAT для выхода клиентов в интернет и обеспечить DNS-резолвинг внутри VPN-сети.

Правила iptables для WireGuard

# Разрешаем входящий UDP-трафик на порт WireGuard
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT

# Разрешаем трафик на интерфейсе wg0
sudo iptables -A INPUT -i wg0 -j ACCEPT
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT

# NAT — маскарадинг для выхода в интернет
# Замените eth0 на ваш реальный внешний интерфейс
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

# Сохраняем правила
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

Настройка через nftables (современный подход)

# /etc/nftables.conf

table inet wireguard {
    chain input {
        type filter hook input priority 0; policy accept;
        udp dport 51820 accept comment "WireGuard"
        iifname "wg0" accept comment "WireGuard tunnel traffic"
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
        iifname "wg0" accept comment "Forward from WG"
        oifname "wg0" accept comment "Forward to WG"
        ct state established,related accept
    }

    chain postrouting {
        type nat hook postrouting priority 100;
        ip saddr 10.0.0.0/24 oifname "eth0" masquerade
    }
}
# Применяем конфигурацию
sudo nft -f /etc/nftables.conf
sudo systemctl enable nftables

DNS-сервер для VPN-клиентов

Чтобы DNS-запросы сотрудников тоже шли через зашифрованный туннель, мы подняли локальный DNS-резолвер:

# Устанавливаем Unbound
sudo apt install -y unbound

# Конфигурация /etc/unbound/unbound.conf.d/wireguard.conf
server:
    interface: 10.0.0.1
    access-control: 10.0.0.0/24 allow
    do-ip6: no
    hide-identity: yes
    hide-version: yes
    prefetch: yes
    num-threads: 2
    msg-cache-size: 16m
    rrset-cache-size: 32m

forward-zone:
    name: "."
    forward-addr: 1.1.1.1
    forward-addr: 8.8.8.8
sudo systemctl restart unbound
sudo systemctl enable unbound

Затем в конфигурации WireGuard-клиентов мы указали DNS = 10.0.0.1 вместо публичных DNS.

Автоматизация управления пользователями

С 30 сотрудниками ручная настройка каждого клиента — слишком трудоёмкий процесс. Мы написали скрипт автоматического добавления новых VPN-пользователей и настроили управление через systemd.

Основные команды управления

# Запуск интерфейса
sudo wg-quick up wg0

# Остановка интерфейса
sudo wg-quick down wg0

# Автозапуск при загрузке
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

# Просмотр статуса подключений
sudo wg show
sudo wg show wg0

# Вывод статистики в формате JSON
sudo wg show all dump

# Добавление нового пира без перезагрузки
sudo wg set wg0 peer CLIENT_NEW_PUBLIC_KEY allowed-ips 10.0.0.10/32

# Удаление пира
sudo wg set wg0 peer CLIENT_PUBLIC_KEY remove

Скрипт автоматического добавления клиентов

Этот скрипт мы разработали для IT-отдела клиента, чтобы они могли самостоятельно подключать новых сотрудников:

#!/bin/bash
# /usr/local/bin/wg-add-client.sh
# Скрипт для добавления нового VPN-клиента

set -euo pipefail

SERVER_PUB_KEY=$(cat /etc/wireguard/server_public.key)
SERVER_ENDPOINT="vpn.example.com:51820"
VPN_SUBNET="10.0.0"
WG_CONF="/etc/wireguard/wg0.conf"

if [ -z "${1:-}" ]; then
    echo "Использование: $0 <имя_клиента>"
    exit 1
fi

CLIENT_NAME="$1"

# Определяем следующий свободный IP
LAST_IP=$(grep -oP 'AllowedIPs = 10\.0\.0\.\K[0-9]+' $WG_CONF | sort -n | tail -1)
NEXT_IP=$((LAST_IP + 1))

if [ $NEXT_IP -gt 254 ]; then
    echo "Ошибка: пул IP-адресов исчерпан"
    exit 1
fi

# Генерируем ключи
CLIENT_PRIV=$(wg genkey)
CLIENT_PUB=$(echo "$CLIENT_PRIV" | wg pubkey)
CLIENT_PSK=$(wg genpsk)

# Создаём конфиг клиента
CLIENT_CONF="/etc/wireguard/clients/${CLIENT_NAME}.conf"
mkdir -p /etc/wireguard/clients

cat > "$CLIENT_CONF" <<EOF
[Interface]
PrivateKey = ${CLIENT_PRIV}
Address = ${VPN_SUBNET}.${NEXT_IP}/24
DNS = 10.0.0.1

[Peer]
PublicKey = ${SERVER_PUB_KEY}
PresharedKey = ${CLIENT_PSK}
Endpoint = ${SERVER_ENDPOINT}
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF

# Добавляем пир на сервер
cat >> "$WG_CONF" <<EOF

# === ${CLIENT_NAME} ===
[Peer]
PublicKey = ${CLIENT_PUB}
PresharedKey = ${CLIENT_PSK}
AllowedIPs = ${VPN_SUBNET}.${NEXT_IP}/32
EOF

# Применяем без перезагрузки
wg set wg0 peer "${CLIENT_PUB}" preshared-key <(echo "${CLIENT_PSK}") allowed-ips "${VPN_SUBNET}.${NEXT_IP}/32"

echo "Клиент ${CLIENT_NAME} добавлен: ${VPN_SUBNET}.${NEXT_IP}"
echo "Конфигурация: ${CLIENT_CONF}"
echo ""
echo "QR-код для мобильного клиента:"
qrencode -t ansiutf8 < "$CLIENT_CONF"

chmod 600 "$CLIENT_CONF"

Мониторинг и устранение неполадок

После запуска VPN для 30 сотрудников мы настроили мониторинг через Prometheus и Grafana, а также подготовили инструкцию по диагностике типичных проблем для IT-отдела клиента.

Диагностика проблем подключения

# Проверяем статус интерфейса
ip a show wg0

# Проверяем активных пиров и время последнего handshake
sudo wg show wg0
# Если latest handshake старше 2 минут — есть проблемы

# Проверяем маршруты
ip route show table all | grep wg0

# Проверяем доступность порта снаружи
nc -uzv vpn.example.com 51820

# Включаем динамическое логирование WireGuard
echo module wireguard +p | sudo tee /sys/kernel/debug/dynamic_debug/control

# Смотрим логи
sudo dmesg | grep wireguard
journalctl -u wg-quick@wg0 -f

# Тестируем MTU (часто причина проблем)
ping -M do -s 1400 10.0.0.1
# Уменьшайте размер пакета, пока ping не заработает
# Затем установите MTU = найденное значение + 28

Типичные проблемы, с которыми столкнулись сотрудники

  • Handshake не устанавливается — проверьте, что UDP-порт 51820 открыт в firewall, PublicKey корректен, Endpoint указывает на правильный адрес
  • Трафик идёт, но нет интернета — проверьте ip_forward, правила NAT/MASQUERADE, корректность имени сетевого интерфейса в PostUp
  • Низкая производительность — проверьте MTU (рекомендуется 1420 для IPv4), убедитесь, что процессор поддерживает аппаратное ускорение ChaCha20
  • DNS не работает — проверьте, установлен ли resolvconf, корректен ли DNS в конфигурации клиента
  • Потеря пакетов — настройте PersistentKeepalive = 25 для клиентов за NAT

Мониторинг через Prometheus и Grafana

# Устанавливаем Prometheus exporter для WireGuard
sudo apt install -y prometheus-node-exporter

# Или используем специализированный wireguard_exporter
wget https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/latest/download/prometheus_wireguard_exporter-linux-amd64
chmod +x prometheus_wireguard_exporter-linux-amd64
sudo mv prometheus_wireguard_exporter-linux-amd64 /usr/local/bin/prometheus_wireguard_exporter

# Создаём systemd unit
sudo cat > /etc/systemd/system/wireguard-exporter.service <<EOF
[Unit]
Description=Prometheus WireGuard Exporter
After=network.target

[Service]
ExecStart=/usr/local/bin/prometheus_wireguard_exporter -p 9586
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now wireguard-exporter

Мы настроили дашборд в Grafana для визуализации числа активных подключений, объёма трафика и времени последнего handshake каждого пира. IT-отдел клиента получил доступ к этому дашборду для оперативного контроля.

Результаты внедрения

Проект был реализован за 3 рабочих дня: один день на развёртывание серверной части, два дня на настройку всех клиентских устройств и обучение IT-отдела. Вот измеримые результаты:

  • Экономия 180 000 руб./год — полный отказ от лицензий Cisco AnyConnect в пользу бесплатного WireGuard
  • Скорость подключения менее 100 мс — вместо 5-10 секунд на OpenVPN, сотрудники подключаются мгновенно
  • Пропускная способность выросла на 40% — WireGuard стабильно показывает ~900 Мбит/с против ~500 Мбит/с у OpenVPN
  • Ноль обрывов при роуминге — консультанты могут переключаться между Wi-Fi и мобильной сетью без разрыва VPN-соединения
  • 30 сотрудников подключены — включая 12 мобильных клиентов на iOS и Android
  • Время добавления нового сотрудника — 2 минуты — благодаря скрипту автоматизации
  • Мониторинг 24/7 — дашборд в Grafana показывает статус всех подключений в реальном времени

Клиент полностью отказался от Cisco уже через неделю после запуска WireGuard. IT-отдел самостоятельно подключает новых сотрудников, используя наш скрипт и документацию.

Часто задаваемые вопросы

WireGuard использует UDP-порт 51820 по умолчанию. Вы можете изменить его на любой другой, указав ListenPort в конфигурации сервера. Многие администраторы используют порт 443/UDP для обхода ограничений корпоративных firewall.

Да, WireGuard отлично подходит для site-to-site VPN. Для каждого офиса создаётся отдельный пир с указанием подсети офиса в AllowedIPs. Например, для трёх офисов (192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24) каждый пир получает свою подсеть. При этом центральный сервер маршрутизирует трафик между офисами.

WireGuard использует современные криптографические примитивы (Curve25519, ChaCha20-Poly1305, BLAKE2s) и прошёл множество независимых аудитов безопасности. Его кодовая база в 4 000 строк делает его легко верифицируемым. Для дополнительной защиты рекомендуем использовать PresharedKey (защита от квантовых атак) и регулярно ротировать ключи. В нашем проекте для консалтинговой компании WireGuard полностью удовлетворил требования службы безопасности.

Используйте правила iptables/nftables для ограничения трафика внутри VPN-сети. Например, чтобы разрешить клиенту 10.0.0.2 доступ только к веб-серверу 192.168.1.10:443, добавьте правило: iptables -A FORWARD -s 10.0.0.2 -d 192.168.1.10 -p tcp --dport 443 -j ACCEPT и запретите остальной трафик. Также можно использовать параметр AllowedIPs на стороне сервера для контроля маршрутизации.

В конфигурации клиента измените параметр AllowedIPs. Для полного туннелирования используйте 0.0.0.0/0, для split-tunneling укажите только нужные подсети, например: AllowedIPs = 10.0.0.0/24, 192.168.1.0/24. Так через VPN пойдёт только трафик к указанным сетям, а остальной — напрямую через интернет провайдера.

Нужна помощь с настройкой?

Специалисты АйТи Фреш помогут с внедрением и настройкой — 15+ лет опыта, обслуживание от 15 000 ₽/мес

📞 Связаться с нами
#WireGuard VPN#настройка WireGuard Linux#VPN сервер Linux#WireGuard установка#WireGuard конфигурация#WireGuard клиент Windows#WireGuard мобильный#VPN iptables NAT