Skip to main content

Інструкція користувача

WireGuard VPN

WireGuard - це безкоштовна програма з відкритим вихідним кодом, протокол віртуальної приватної мережі (VPN) для передачі зашифрованих даних та створення безпечних з'єднань «точка-точка».

Важливо

Підтримка WireGuard VPN реалізована для пристроїв Keenetic поточного покоління, починаючи з KeeneticOS версії 3.3

Особливості та переваги протоколу WireGuard - це застосування сучасних, вузькоспеціалізованих алгоритмів обробки даних. Кодова база проекту написана з нуля і характеризується компактним дизайном

WireGuard є частиною модуля системного ядра. Підключення WireGuard програмно прискорене і багатопотокове, може стабільно працювати і використовувати ресурси ядра.

Пристрої Keenetic можуть працювати fабо як VPN-сервер або як VPN-клієнт. Терміни 'клієнт' і 'сервер' обумовлені специфікою протоколу. Але зазвичай сервер - це пристрій, який чекає з'єднання, а клієнт - пристрій, який його ініціює.

При підключенні до Серверу WireGuard VPN на Keenetic, у якості клієнта VPN ви можете використовувати комп'ютер (на базі Windows, Linux, macOS), мобільний пристрій (на базі Android та iOS) або пристрої Keenetic.

Використовуючи VPN-клієнт WireGuard на Keenetic ви можете підключитися до провайдера VPN, який надає послугу підключення WireGuard VPN, або до іншого Keenetic, який працює як VPN-сервер, і отримати віддалений доступ до своєї локальної мережі.

Важливо

Якщо ви плануєте налаштувати пристрій Keenetic як VPN-сервер, спочатку слід перевірити, чи є у нього публічна IP-адреса, і, якщо ви використовуєте Службу KeenDNS, що ця служба працює в режимі прямого доступу. Якщо ви не будете дотримуватися будь якої з цих умов, ви не зможете підключитися до такого сервера з Інтернету.

Щоб налаштувати захищені тунелі за протоколом WireGuard у маршрутизаторах Keenetic, ви повинні встановити компонент системи 'WireGuard VPN'. Ви можете зробити це у вебінтерфейсі, на сторінці 'Параметри системи' у розділі 'KeeneticOS Оновлення та параметри компонентів', натиснувши на 'Змінити набір компонентів'.

wireguard1-en.png

Після цього ви знайдете розділ 'WireGuard' на сторінці 'Інші з'єднання'.

wireguard2-en.png

Щоб налаштувати інтерфейс WireGuard, натисніть 'Додати з'єднання'. Ми не будемо розглядати тут налаштування підключення, але ви можете знайти їх в докладній інструкції:

Ви також можете імпортувати налаштування інтерфейсу WireGuard з попередньо створеного файлу конфігурації. Натисніть кнопку 'Імпорт з файлу', а потім виберіть шлях до попередньо налаштованого файлу на вашому комп'ютері.

Основні принципи роботи WireGuard VPN:
  1. Кожен тунель WireGuard являє собою системний інтерфейс, що працює на третьому (мережевому) рівні Моделі OSI. Трафік може бути змаршрутизований в нього, а також для нього можна налаштувати політику доступу по IP (мережевий екран)

    Інтерфейс WireGuard має кілька основних параметрів конфігурації: пари приватних і публічних ключів, адресу і порт прослуховування.

    При створенні інтерфейсу WireGuard, вам буде потрібно створити пару ключів шифрування — Private і Public, а також призначити внутрішню IP-адресу пристрою в тунелі VPN і визначити номер порту прослуховування на стороні сервера VPN.

    Private і Public ключі використовуються для безпеки з'єднання. Ці ключі використовуються для автентифікації учасників. Публічний і приватний ключі - це пара ключів, які створюються (генеруються) одночасно. Криптографічні алгоритми передбачають спільне використання такої пари ключів. Обидва ключі повинні 'відповідати' зашифрованій частині інформації. Наприклад, якщо шифрування здійснюється за допомогою приватного ключа, розшифровка може здійснюватися тільки за допомогою публічного ключа.

    Вам потрібно згенерувати ключі шифрування по обидва боки тунелю VPN. Під час налаштування підключення вам потрібно буде обмінюватися лише публічними ключами по обидва боки тунелю VPN.

    Що стосується внутрішньої адреси інтерфейсу тунелю, то це повинна бути будь-яка підходяща адреса з приватного діапазону, але вона не повинна належати іншим підмережам на самому маршрутизаторі Keenetic. IP-адреса вказується у форматі IP/бітова маска (наприклад, 10.11.12.1/24). На VPN-клієнті і VPN-сервері повинні бути встановлені різні адреси, але вони повинні бути з однієї підмережі. Наприклад, 172.16.82.1/24 на сервері і 172.16.82.2/24 на клієнті.

    Вам потрібно буде вказати номер порту прослуховування на стороні сервера VPN. Цей порт буде використовуватися для вхідних підключень до інтерфейсу WireGuard. Можна встановити випадковий номер порту (наприклад, 16632); найголовніше, щоб цей порт не був заблокований вашим провайдером і не дорівнював вже відкритим портам інших сервісів на роутері.

  2. Також вам потрібно додати учасників (peer(s)). Пір - це учасник або клієнт певного з'єднання. Ви можете створити кілька пірів в одному VPN-з'єднанні, наприклад, для підключення до VPN-сервера з різних комп'ютерів або мобільних пристроїв.

    Кожен пір(учасник) унікально характеризується публічним ключем віддаленої сторони. В налаштуваннях піру вам потрібно буде вказати відкритий ключ до пристрою, внутрішню IP-адресу в тунелі, та дозволені підмережі з іншого боку тунелю VPN

    Список дозволених підмереж (Дозволені адреси IP) є спеціальним параметром в налаштуваннях пірів. Це адресні області, з яких цей пір може отримувати трафік (IP-адреси джерела) і на який трафік може бути відправлений (цільові IP-адреси). Технічно ці адреси використовуються для шифрування та розшифровки трафіку. Ця технологія називається Crypto Routing і є основною особливістю WireGuard. Ви повинні додати підмережу 0.0.0.0/0, щоб дозволити передачу на будь-яку адресу.

    Важливо вказати публічну IP-адресу або доменне ім'я Сервера WireGuard VPN на стороні VPN-клієнта і вказати порт прослуховування, до якого буде підключатися VPN-клієнт (наприклад, myrouter01.keenetic.pro:16632). На VPN-клієнтах це поле зазвичай називається Віддалена кінцева точка.

    Також необхідно вказати інтервал між спробами перевірки активності піру в його налаштуваннях. Це внутрішня перевірка доступності віддаленої сторони з'єднання шляхом надсилання пакетів keepalive в тунелі. За замовчуванням значення 'Persistent keepalive' у налаштуваннях пірів Keenetic дорівнює 30 секундам. Але, як правило, 10 або 15 секунд між перевірками достатньо.

    Важливо

    Рекомендується залишити поле Persistent keepalive порожнім на стороні сервера, якщо ви налаштовуєте сервер для підключення клієнтів. Це запобіжить непотрібному очікуванню під час того, коли клієнт вже відключився.

    На стороні клієнта, поле Persistent keepalive має бути заповнене вибраним значенням, щоб WireGuard VPN працював належним чином!

  3. WireGuard має концепцію маршрутизації ключів шифрування, яка використовує прив'язки приватних ключів до кожного мережевого інтерфейсу. Підключення VPN ініціалізується шляхом спільного використання відкритих ключів і схоже на SSH модель.

    Ключі шифрування призначаються списку IP-адрес VPN, дозволених у тунелі. Доступ до списку IP-адрес дозволений по мережевому інтерфейсу. Коли сервер приймає і розшифровує автентифікований пакет, його поле джерела перевіряється. Якщо воно відповідає тому, що вказано в полі 'Дозволені IP-адреси' автентифікованого піру, інтерфейс WireGuard прийме пакет. Коли ви відправляєте вихідний пакет, IP-адреса призначення перевіряється, щоб визначити його правомірність, і на його основі вибирається відповідний пір. Потім пакет підписується своїм ключем, шифрується за допомогою однорангового ключа та надсилається на публічну адресу та порт піра (до Віддаленої кінцевої точки). Всі IP-пакети, отримані на інтерфейс WireGuard, інкапсулюються в UDP і безпечно доставляється іншим пірам.

    WireGuard захищає дані користувачів за допомогою розширених типів криптографії: Curve25519 для обміну ключами, ChaCha20 для шифрування, Poli1305 для автентифікації даних, SipHash для хеш-ключів та BLAKE2 для хешування.

    Crypto routing дозволяє надати користувачеві до 100% надійний трафік і забезпечує високу безпеку і продуктивність при виході з інтерфейсу.

Приклади налаштувань підключення WireGuard

Ви можете знайти докладну інструкцію про те, як налаштувати Keenetic як VPN-сервер і VPN-клієнт для з'єднання двох локальних мереж:

Для налаштування підключення до VPN-провайдерів, які можуть працювати з WireGuard, зверніться до інструкції:

Ви можете використовувати мобільні пристрої на базі Андроїд та iOS для підключення до маршрутизатора Keenetic через WireGuard:

Або ви можете використовувати комп'ютери на базі Windows, Linux, macOS:

Іноді вам може бути потрібно, щоб клієнти підключилися до маршрутизатора Keenetic через WireGuard для доступу до Інтернету через цей тунель VPN. Буде необхідно зробити додаткові налаштування. Будь ласка, зверніться до статті: