VPN · Гайд

Как использовать файл конфигурации WireGuard

Обновлено September 23, 2026 14 мин чтения

На этой странице
  1. Что внутри файла .conf, строка за строкой
  2. Windows: импорт туннеля
  3. Android и iPhone: отсканируйте QR-код или импортируйте файл
  4. macOS и Linux
  5. На роутере, чтобы покрыть весь дом
  6. Подключается, но ничего не грузится, и другие реальные проблемы
  7. Откуда берётся файл конфигурации
  8. FAQ

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

Это руководство делает две вещи. Сначала оно построчно разбирает настоящий файл конфигурации, чтобы вы знали, за что отвечает каждый параметр и какой менять, когда что-то не так. Затем показывает, как импортировать файл и подключиться на Windows, Android, iPhone, macOS, Linux и роутере, а после — несколько проблем, на которые приходится почти каждая жалоба на WireGuard: handshake, который так и не завершается, и туннель, который подключён, но не открывает ни одной страницы.

Что внутри файла .conf, строка за строкой

Любой конфиг WireGuard устроен одинаково и состоит из двух частей. [Interface] описывает ваш конец туннеля; [Peer] — машину, к которой вы подключаетесь. Вот полный клиентский конфиг, где секреты заменены заглушками:

[Interface]
PrivateKey = YOUR_PRIVATE_KEY_KEEP_THIS_SECRET
Address    = 10.7.0.4/32
DNS        = 10.7.0.1

[Peer]
PublicKey           = THE_SERVER_PUBLIC_KEY_FROM_YOUR_PROVIDER
Endpoint            = 198.51.100.10:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Оба ключа выше — заглушки, а адрес 198.51.100.10 зарезервирован для документации в RFC 5737 — ничто из этого никуда не подключается. Используйте значения из своего файла.

Блок [Interface]: ваша сторона

  • PrivateKey — это и есть ваша личность в VPN. Любой, у кого он есть, может выдать себя за вас. Он состоит из 44 символов base64 и заканчивается на =; если у вашего другая длина, файл где-то обрезался при копировании.
  • Address — IP, который ваше устройство получает внутри туннеля, а не ваш публичный IP. /32 означает «только этот один адрес», для клиента это нормально.
  • DNS — резолвер, который используется, пока туннель поднят. Без него устройство продолжает обращаться к старому резолверу, а это и раскрывает, что вы ищете, и часто не позволяет разрешить ничего на той стороне.
  • MTU — необязательная строка, но о ней полезнее всего знать. В большинстве файлов её нет, потому что значение по умолчанию подходит; случай, когда не подходит, описан в разделе решения проблем.

Блок [Peer]: сторона сервера

  • PublicKey — публичный ключ сервера. Ваш собственный в вашем файле не появляется никогда; он хранится на сервере.
  • Endpoint — куда отправлять пакеты, в формате host:port. WireGuard работает только по UDP, а 51820 — привычный порт, а не обязательный.
  • AllowedIPs — какие направления идут через туннель. 0.0.0.0/0, ::/0 означает всё, ради этого и нужен VPN для приватности. Более узкий список — скажем, только внутренняя сеть компании — отправляет через туннель только её, а остальное оставляет на обычном подключении. Такая схема называется split tunnel, и это осознанный выбор, а не сломанный полный туннель.
  • PersistentKeepalive — каждые 25 секунд отправляет небольшой пакет, чтобы устройство NAT между вами и сервером держало обратный путь открытым. Нужно всегда, когда вы за NAT, а на телефоне или домашнем подключении вы за ним всегда.
Деталь, которая объясняет частую путаницу. Address и DNS — вовсе не настройки WireGuard, а указания для помощника wg-quick, который настраивает сетевой интерфейс. Сам WireGuard их никогда не видит. В этом легко убедиться: wg-quick strip wg0 выводит конфиг, который на самом деле получает ядро, и обеих строк там просто нет. Это важно, если вы когда-нибудь настроите туннель через wg setconf вместо wg-quick: тогда никто не назначит вам адрес и резолвер, и туннель поднимется, подключённый ни к чему.

Нужен файл конфигурации для импорта? Услуга HytHost VPN выдаёт готовую конфигурацию WireGuard от €0.99/мес.

Смотреть тарифы VPN

Windows: импорт туннеля

Для Windows есть официальное приложение WireGuard, и вся работа — импортировать в него файл.

  1. Установите WireGuard с wireguard.com/install.
  2. Нажмите Добавить туннель внизу слева — откроется окно выбора файла с фильтром Файлы конфигурации (*.zip, *.conf). Выберите свой .conf, и он появится в списке туннелей под именем файла.
  3. Или вставьте текст. Стрелка рядом с «Добавить туннель» предлагает Добавить пустой туннель… — это текстовое поле, удобное, когда конфиг пришёл сообщением, а не файлом. В нём уже заполнен новый приватный ключ, поэтому удалите эту строку и вставьте поверх свой конфиг.
  4. Нажмите Подключить. Статус сменится на «Подключен», и панель начнёт считать переданные байты. Этот счётчик — самая быстрая проверка: если данные уходят, а обратно ничего не приходит, handshake не завершается.
В этом приложении стоит знать две опции. Блокировать трафик, идущий мимо туннеля (kill-switch) на экране редактирования туннеля не выпускает ничего в обход туннеля, если он упадёт, — правильная настройка, если смысл VPN в том, чтобы ничего не утекало. А Экспорт журнала в файл — это место, где приложение понятным языком объясняет, почему туннель отказался запускаться.

Android и iPhone: отсканируйте QR-код или импортируйте файл

На телефоне есть два способа, и QR-код существует именно потому, что набирать 44-символьный ключ на сенсорном экране — мучение.

Android

  1. Установите WireGuard из Play Store и нажмите кнопку +.
  2. Экран Создать туннель WireGuard предлагает Сканировать QR-код, Импорт из файла или архива и создание туннеля с нуля. Выберите то, что соответствует полученному.
  3. Если попросят, дайте туннелю имя, затем включите переключатель. Android один раз спросит разрешение на добавление конфигурации VPN — этот запрос от операционной системы, а не от приложения.

iPhone и iPad

  1. Установите WireGuard из App Store и нажмите Добавить туннель.
  2. В разделе Добавить новый туннель WireGuard выберите Создать из QR-кода или Создать из файла или архива. Экран сканера называется Сканирование QR-кода; после успешного сканирования приложение попросит назвать туннель.
  3. Включите его и разрешите конфигурацию VPN, когда iOS спросит.

Как сделать QR-код из уже имеющегося файла конфигурации

QR-код не обязан выдавать провайдер — это просто ваш файл конфигурации в виде картинки, и сделать его можно самому одной командой. Приложение WireGuard само это подсказывает:

# prints the code straight into the terminal, ready to scan off the screen
qrencode -t ansiutf8 < wg0.conf

# or write it to an image file
qrencode -o wg0.png < wg0.conf

В Debian или Ubuntu qrencode ставится через apt install qrencode; в macOS — через brew install qrencode.

QR-код WireGuard содержит ваш приватный ключ. Это не ссылка и не идентификатор — это весь конфиг вместе с ключами в виде, который прочитает любая камера. Никогда не публикуйте его на Discord-сервере, в ветке форума или в тикете поддержки и осторожнее со скриншотами. Если сканируете код с экрана, потом закройте его. Относитесь к картинке ровно так же, как к файлу.

macOS и Linux

macOS

Установите WireGuard из Mac App Store. Приложение для Mac — это не приложение для iPhone на большом экране: оно живёт в строке меню, а его окно открывается через Управление туннелями. Нажмите Импорт туннелей из файла… (в строке меню есть тот же пункт — Импорт туннелей из файла…), выберите свой .conf, затем выделите туннель и нажмите Подключен. Сканера QR на Mac нет — QR-коды для телефонов, — поэтому используйте сам файл или выберите Добавить пустой туннель… и вставьте конфиг.

Если вам удобнее терминал, brew install wireguard-tools даст те же команды wg-quick, что и в Linux, — о них ниже.

Linux

  1. Установите утилиты. В Debian или Ubuntu: sudo apt install wireguard. В большинстве дистрибутивов пакет называется так же.
  2. Положите файл туда, где его ищет wg-quick. На этом шаге ошибаются чаще всего, потому что имя файла становится именем интерфейса:
    sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
    600 важно — в файле ваш приватный ключ, и другие пользователи машины не должны его читать. Имя делайте коротким и простым; оно должно быть допустимым именем сетевого интерфейса.
  3. Поднимите туннель:
    sudo wg-quick up wg0
    sudo wg show
    wg show — единственная команда, которую стоит запомнить. Она показывает пира, endpoint, строку latest handshake и счётчики трафика. Если время handshake так и не появляется — это признак проблемы из следующего раздела.
  4. Автозапуск при загрузке: sudo systemctl enable --now wg-quick@wg0. Чтобы остановить туннель вручную — sudo wg-quick down wg0.
Две ошибки, которые стоит узнавать с первого взгляда. wg-quick: `/etc/wireguard/wg0.conf' does not exist значит, что переданное имя не совпадает ни с одним файлом в этой папке — вы запросили wg0, а файл называется иначе. А если туннель не поднимается и жалуется на resolvconf, дело в строке DNS: чтобы её применить, wg-quick нужен resolvconf или systemd-resolved. Установите один из них или удалите строку DNS и настройте резолвер сами.

На роутере, чтобы покрыть весь дом

Туннель на роутере покрывает все устройства за ним, включая те, что вообще не умеют запускать VPN-приложение, — игровую приставку, телевизор, умную колонку. Получится ли, целиком зависит от прошивки.

ПрошивкаПоддержка WireGuardГде искать
OpenWrtДа, через пакетУстановите luci-proto-wireguard, затем добавьте интерфейс с протоколом WireGuard VPN и заполните поля из своего файла
Asus (свежая стоковая прошивка)Да, на многих моделяхВ разделе VPN есть клиент WireGuard, который напрямую импортирует .conf
Asuswrt-MerlinДаТо же самое, но с большим контролем над маршрутизацией
Mikrotik RouterOS 7ДаWireGuard встроен; в RouterOS 6 его нет вообще
Типичный роутер от интернет-провайдераОбычно нетНи WireGuard, ни способа его добавить — см. ниже

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

Не используйте повторно конфиг, который уже стоит на другом устройстве. Один файл конфигурации — это один пир, а один пир — это одно устройство. Если загрузить конфиг с телефона в роутер, они будут бороться за одну и ту же личность, и оба подключения станут нестабильными. Закажите вторую конфигурацию или добавьте второго пира на своём сервере.

Одно стоит решить заранее, прежде чем пускать весь дом через туннель: тогда через него пойдёт всё. Банковские сайты, которые не любят иностранные адреса, стриминг, проверяющий ваш регион, и всё, что общается с устройствами в вашей собственной сети, могут вести себя иначе. Здесь и пригодится более узкий AllowedIPs — отправляйте только то, что нужно, а остальное не трогайте.

Подключается, но ничего не грузится, и другие реальные проблемы

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

Что вы видитеЧто это обычноГде искать
Handshake нет совсем; отправленные байты растут, полученные остаются на нулеНикто не отвечает, или ответ не может вернутьсяEndpoint, PublicKey сервера, блокировка UDP
Handshake в порядке, мелочи работают, веб-страницы зависают на полпутиMTUДобавьте строку MTU в [Interface]
Подключено, но имена не разрешаютсяDNSСтрока DNS и resolvconf в Linux
Подключено, имена разрешаются, но трафик через туннель не идётСлишком узкий AllowedIPsAllowedIPs в [Peer]
Работает, потом перестаёт после минуты-двух простояИстекло сопоставление NATPersistentKeepalive = 25

«Handshake did not complete»

Ваше устройство отправило пакет инициации и ничего не получило в ответ. Проверьте по порядку:

  • Endpoint. Правильный хост, правильный порт, и порт UDP. Опечатка здесь даёт ровно этот симптом и ничего больше.
  • Выходит ли UDP наружу вообще. Гостевой Wi-Fi, сети отелей, некоторые корпоративные сети и отдельные мобильные операторы пропускают на обычных портах только TCP. Если один и тот же конфиг работает дома и не работает в одной конкретной сети, с конфигом всё в порядке, проблема в сети.
  • Ключи на своих местах. PublicKey в [Peer] — это публичный ключ сервера, а на сервере отдельно должен быть публичный ключ, парный вашему PrivateKey. Конфиг, скопированный для другого устройства, отваливается именно здесь.
  • Ваши часы. Handshake WireGuard содержит метку времени и отклоняет сильно расходящуюся. Редко, но бывает на устройствах, у которых сбилось время.

Если туннель работает из дома, но никогда — с мобильного подключения, причина может быть на стороне вашего провайдера, а не у вас: carrier-grade NAT и похожие схемы меняют то, что может до вас дойти. Руководство по пробросу портов объясняет, как за пару минут определить это по собственному роутеру.

Проблема MTU, в которой стоит один раз разобраться

Это классический случай «подключено, но интернет сломан», и картина характерная: ping работает, DNS работает, лёгкие страницы открываются, а всё сколько-нибудь объёмное виснет навсегда.

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

Решение — с самого начала сказать WireGuard использовать пакеты поменьше. wg-quick уже пытается: он берёт MTU обычного маршрута и вычитает 80 байт на накладные расходы туннеля, так что на обычном подключении с 1500 байт получается 1420. Если и этого много — в некоторых мобильных сетях, в большинстве подключений, которые уже идут через другой туннель, — задайте значение явно и снижайте:

[Interface]
MTU = 1420      # what wg-quick would have picked
# still stalling? try 1380, then 1280

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

Туннель поднят, но через него ничего не идёт

Сначала проверьте AllowedIPs. Это не файрвол и не список разрешений — он решает, какие направления вообще маршрутизируются в туннель. Если в нём нет 0.0.0.0/0, трафик к остальному интернету и не должен был идти через туннель, и подключение ведёт себя ровно так, как настроено. В Linux ip route show table all | grep wg0 показывает, что на самом деле попало в маршруты.

Если маршрутизация верна, а имена просто не разрешаются, дело в строке DNS — её либо нет, либо она есть, но не применяется, потому что не установлен resolvconf.

Откуда берётся файл конфигурации

Всё, что выше, предполагает, что файл у вас есть. Получить его можно ровно двумя способами.

Поднять сервер самому

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

Получить его у провайдера

Другой вариант — файл генерируют за вас, а вы его скачиваете. С HytHost VPN, от €0.99/мес, он находится здесь:

  1. Закажите услугу и войдите в личный кабинет, затем откройте свою VPN-услугу из списка.
  2. Найдите раздел WireGuard Configuration. В нём две кнопки — Copy to Clipboard, которая копирует текст конфига в буфер обмена, и Download Configuration, которая отдаёт готовый файл.
  3. Если вы скопировали текст, вставьте его в простой текстовый редактор и сохраните с расширением .confwg0.conf хорошее имя. Убедитесь, что редактор не дописал в конце .txt.
  4. Импортируйте его по разделу выше для своего устройства. На телефоне сначала превратите его в QR-код с помощью qrencode.

На той же странице видно, подключён ли туннель к серверу прямо сейчас, — это снимает вопрос «проблема у меня или у них» ещё до того, как вы начнёте менять настройки. Кнопки для QR-кода нет — сделайте его сами из файла, и тогда код не попадёт никуда, куда ему не нужно.

Нужен файл конфигурации для импорта? Услуга HytHost VPN выдаёт готовую конфигурацию WireGuard от €0.99/мес.

Смотреть тарифы VPN
FAQ

Частые вопросы

Установите официальное приложение WireGuard, импортируйте файл конфигурации, который вам дал сервер или провайдер, и включите туннель. В Windows это «Добавить туннель», а затем «Подключить»; на Android и iPhone файл можно не импортировать, а отсканировать как QR-код; в Linux положите файл в /etc/wireguard/ и выполните wg-quick up с его именем. Время handshake и полученные данные в приложении подтверждают, что подключение работает.

Обычный текстовый файл, как правило с расширением .conf, в котором два блока. [Interface] описывает ваше устройство: его приватный ключ, адрес внутри туннеля и резолвер. [Peer] описывает сервер: его публичный ключ, хост и UDP-порт и то, какие направления маршрутизировать через туннель. Этот файл и есть всё подключение — больше на устройстве ничего не хранится.

Надёжно — нет, и причину стоит знать. Конфиг — это один пир, определяемый одной парой ключей, а сервер помнит для каждого пира одно текущее местоположение. Подключите телефон и ноутбук с одним файлом, и сервер будет слать обратный трафик тому, кто последним сделал handshake, поэтому оба подключения то пропадают, то появляются. Каждому устройству нужен свой конфиг со своей парой ключей.

Сгенерируйте его из уже имеющегося файла конфигурации — QR-код WireGuard это просто тот же файл, закодированный в картинку. Выполните qrencode -t ansiutf8 < wg0.conf, чтобы вывести его в терминал и отсканировать с экрана, или qrencode -o wg0.png < wg0.conf, чтобы сохранить изображение. Раз в коде есть приватный ключ, обращайтесь с ним как с самим файлом: никогда не публикуйте его открыто.

Нет. Приватный ключ идентифицирует ваше устройство в VPN, поэтому любой, у кого есть файл, может подключиться от вашего имени. Его нельзя публиковать ни в чате, ни на форуме, ни в issue-трекере, ни в тикете поддержки, и то же относится к QR-коду или скриншоту файла. Если конфиг засветился, выход — сгенерировать новую пару ключей и заменить пира, а не надеяться, что его никто не прочитал.

Это сообщение значит, что пакет инициации ушёл, а обратно ничего не пришло, и WireGuard не может сказать почему, ведь ответа он не получил. Проверьте хост и порт в Endpoint, убедитесь, что сеть, в которой вы находитесь, пропускает исходящий UDP, и что PublicKey в [Peer] — это ключ сервера, а на сервере есть публичный ключ, парный вашему приватному. Если тот же файл работает в другой сети, файл правильный, а сеть фильтрует UDP.

Такая картина — handshake в порядке, ping в порядке, веб-страницы зависают — почти всегда означает MTU. Когда трафик упаковывается для туннеля, каждый пакет увеличивается, поэтому пакеты, которые раньше помещались, отбрасываются, а сообщение, которое обычно об этом сообщает, часто фильтруется. Добавьте строку MTU в [Interface]: 1420 — это то, что wg-quick рассчитал бы на обычном подключении, а 1380 или 1280 помогают там, где и этого слишком много.

Чтобы пользоваться файлом конфигурации — нет. Клиент устанавливает исходящее UDP-соединение с сервером, а ответ возвращается через сопоставление, которое это соединение создаёт, — именно его и держит открытым PersistentKeepalive. Порт нужно открывать только на той стороне, где работает сервер WireGuard и которая должна принимать входящие подключения.

У провайдера, который сгенерирует его за вас. Услуга HytHost VPN, от €0.99/мес, показывает в личном кабинете раздел WireGuard Configuration с кнопкой, копирующей текст конфига, и кнопкой, скачивающей готовый файл. Дальше он импортируется в приложение WireGuard на любом устройстве, а на той же странице видно, подключён ли туннель прямо сейчас.

Файл конфигурации, который остаётся у вас

HytHost VPN даёт вам конфигурацию WireGuard, которую вы скачиваете один раз и импортируете на любое устройство — Windows, Android, iPhone, macOS, Linux или роутер. От €0.99/мес.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Этот гайд был полезен?