Настройка клиентов WireGuard на Windows, iOS, Android и роутере
Сервер WireGuard подняли — осталось подключить к нему устройства. Телефон удобнее настраивать по QR-коду, ПК — через приложение, а роутер прячет под VPN всю домашнюю сеть сразу. Разберём каждый случай отдельно, с готовыми конфигами.
Содержание
Логика: один сервер — много клиентов
['У сервера один конфиг wg0.conf. Каждое устройство — это отдельная секция [Peer] на сервере плюс свой конфиг на самом устройстве. Никогда не используйте одну пару ключей на два устройства: если оба подключатся с одним AllowedIPs, соединение будет рваться.', 'Схема адресов: сервер 10.8.0.1, ПК 10.8.0.2, телефон 10.8.0.3, планшет 10.8.0.4 и так далее. Заведите себе табличку соответствия «устройство — адрес — файл ключа»: когда клиентов станет пять-шесть, без неё легко запутаться, чей это [Peer].', 'Приятная деталь WireGuard: добавление клиента не требует перезапуска сервера и не рвёт уже поднятые туннели. Вы дописываете секцию и применяете конфиг на лету — остальные пользователи ничего не замечают.']Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для WireGuardГенерация ключей для нового клиента
['Под каждое устройство создаём пару на сервере:', 'cd /etc/wireguard\numask 077\nwg genkey | tee phone_private.key | wg pubkey > phone_public.key', 'Добавляем клиента в wg0.conf сервера и применяем без перезапуска туннеля:', '[Peer]\nPublicKey = PHONE_PUBLIC_KEY\nAllowedIPs = 10.8.0.3/32', 'wg syncconf wg0 <(wg-quick strip wg0)']
Windows и macOS
['Ставите официальное приложение WireGuard, «Добавить пустой туннель» и вставляете конфиг. PrivateKey клиента, PublicKey сервера, Endpoint — IP:порт вашего VPS.', '[Interface]\nPrivateKey = CLIENT_PRIVATE_KEY\nAddress = 10.8.0.2/24\nDNS = 1.1.1.1\n\n[Peer]\nPublicKey = SERVER_PUBLIC_KEY\nEndpoint = YOUR_SERVER_IP:51820\nAllowedIPs = 0.0.0.0/0\nPersistentKeepalive = 25', 'Галочка «Активировать» — и весь трафик ПК идёт через сервер.']
iOS и Android по QR-коду
['На телефоне неудобно вставлять длинные ключи руками. Сгенерируйте QR прямо на сервере: положите конфиг телефона в файл и покажите его как код.', 'apt install qrencode -y\nqrencode -t ansiutf8 < phone.conf', 'В приложении WireGuard на телефоне: «+» → «Создать из QR-кода» → наводите камеру на терминал. Конфиг phone.conf при этом такой же, как для ПК, только Address = 10.8.0.3/24.', '- iOS: App Store → WireGuard.
- Android: Google Play или F-Droid → WireGuard.
Роутер: OpenWrt и Keenetic
['Настроив VPN на роутере, вы автоматически прячете под туннель все устройства дома — телевизор, приставку, ноутбуки — без установки клиентов на каждое.', 'На OpenWrt WireGuard ставится пакетами:', 'opkg update\nopkg install wireguard-tools luci-proto-wireguard\n/etc/init.d/network restart', 'Дальше в LuCI (веб-интерфейс) создаёте интерфейс типа WireGuard, вписываете приватный ключ роутера, а в Peer — публичный ключ сервера и Endpoint. У Keenetic WireGuard настраивается через веб-панель: «Интернет» → «WireGuard» → импорт конфига.', 'Важный нюанс роутерного клиента: роутер получает свой адрес в туннеле (например 10.8.0.10), а на сервере в его [Peer] стоит именно этот /32. Если хотите пускать через VPN весь дом, в firewall роутера включите маршрутизацию LAN в WireGuard-интерфейс — иначе устройства за роутером будут выходить мимо туннеля. MikroTik (RouterOS 7+) тоже умеет WireGuard нативно, логика та же.']
Split-tunnel: через VPN только часть трафика
['Иногда нужно гнать через сервер не всё, а только определённые адреса (например, банк или рабочий сервис). Тогда в клиенте вместо 0.0.0.0/0 указываете конкретные подсети в AllowedIPs.', 'AllowedIPs = 10.8.0.0/24, 203.0.113.0/24', 'Остальной трафик пойдёт напрямую — быстрее и без лишней нагрузки на канал. Это удобно для рабочих задач: доступ к серверу или закрытому сервису идёт через VPN, а тяжёлые видео и загрузки — мимо, не съедая ширину туннеля.', 'Обратная ситуация — гнать через сервер всё, кроме локальной сети (чтобы не терять доступ к домашнему принтеру или NAS): тогда исключаете свою подсеть, например добавляя её маршрут в обход в настройках клиента. WireGuard гибок, и одну и ту же серверную установку можно использовать в обоих режимах, меняя только клиентский AllowedIPs.']
Частые ошибки
['- Телефон подключился, интернета нет — на сервере не включён ip_forward или у клиента забыт DNS.
- Два устройства выбивают друг друга — вы дали им одинаковый AllowedIPs. Каждому — свой /32 адрес.
- QR не считывается — терминал слишком узкий, разверните окно на весь экран.
- Роутер не держит туннель — проверьте PersistentKeepalive = 25, он нужен за NAT.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для WireGuardЧастые вопросы
Сколько устройств потянет один сервер?
Даже младший VPS спокойно держит всю семью — 5-10 устройств. WireGuard очень лёгкий, упор будет в ширину канала, а не в число пиров.
Можно ли один конфиг на телефон и ноут?
Нет. Одинаковые ключи и адрес приводят к постоянным разрывам. Каждому устройству — своя пара ключей и свой IP из подсети 10.8.0.0/24.
Нужен ли статический IP сервера?
Крайне желателен. Endpoint в клиентах указывает на конкретный адрес. MAATRIX выдаёт фиксированный IP, поэтому конфиги не приходится переделывать.