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 не завершується.
У цьому застосунку варто знати дві опції. Блокувати трафік поза тунелем на екрані редагування тунелю не випускає нічого в обхід тунелю, якщо він впаде, — правильне налаштування, якщо суть VPN у тому, щоб нічого не витікало. А Експортувати лог у файл — це місце, де застосунок зрозумілою мовою пояснює, чому тунель відмовився запускатися.

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

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

Android

  1. Установіть WireGuard з Play Store і натисніть кнопку +.
  2. Екран Створити тунель WireGuard пропонує Сканувати з QR-коду, Імпортувати з файлу або архіву і створення тунелю з нуля. Виберіть те, що відповідає отриманому.
  3. Якщо попросять, дайте тунелю назву, потім увімкніть перемикач. Android один раз запитає дозвіл на додавання конфігурації VPN — цей запит від операційної системи, а не від застосунку.

iPhone та iPad

  1. Установіть WireGuard з App Store і натисніть Add a tunnel.
  2. У розділі Add a new WireGuard tunnel виберіть Create from QR code або Create from file or archive. Екран сканера називається Scan QR code; після успішного сканування застосунок попросить назвати тунель.
  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 на більшому екрані: він живе в рядку меню, а його вікно відкривається через Manage Tunnels. Натисніть Import tunnel(s) from file (у рядку меню той самий пункт називається Import Tunnel(s) from File…), виберіть свій .conf, потім виділіть тунель і натисніть Activate. Сканера QR на Mac немає — QR-коди для телефонів, — тож використовуйте сам файл або виберіть Add Empty Tunnel… і вставте конфіг.

Якщо вам зручніше в терміналі, 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

Цей гайд був корисним?