WireGuard VPN

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

NOTE: Важливо! Підтримка WireGuard VPN реалізована для пристроїв Keenetic починаючи з KeeneticOS версії 3.3

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

Пристрої Keenetic можуть працювати і як сервер VPN, і як клієнт VPN. Терміни «клієнт» і «сервер» є умовними через специфіку протоколу. Але зазвичай сервер — це пристрій, який очікує з’єднання, а клієнт — пристрій, який ініціює з’єднання.

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

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

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

Щоб налаштувати захищені тунелі через протокол WireGuard у маршрутизаторах Keenetic, необхідно встановити системний компонент WireGuard VPN. Ви можете зробити це в веб-конфігураторі на сторінці "Параметри системи" натиснувши кнопку "змінити набір компонентів

Ви можете знайти секцію 'WireGuard' в меню "Інші підключення".

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

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

 

Основні принципи роботи WireGuard VPN:

1.Кожен тунель WireGuard є системним інтерфейсом, що працює на третьому (мережевому) рівні моделі OSI. В тунель можна направляти трафік і налаштовувати політики IP-доступу (міжмережевий екран).

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

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

Для захисту з’єднання використовуються закриті та відкритий ключі. Ці ключі використовуються для автентифікації учасників. Відкритий і закритий ключі – це пара ключів, які створюються (генеруються) одночасно. Криптографічні алгоритми передбачають спільне використання такої пари ключів. Обидва ключі мають «відповідати» зашифрованій частині інформації. Наприклад, якщо шифрування виконується за допомогою закритого ключа, розшифровку можна виконати лише за допомогою відкритого ключа.

Вам потрібно згенерувати ключі шифрування з обох боків 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) є учасником або клієнтом певного підключення. Ви можете створити кілька пірів в одному VPN-з’єднанні, наприклад, для підключення до VPN-сервера з різних комп’ютерів або мобільних пристроїв.

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

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

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

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

NOTE: Важливо! Рекомендується залишити поле Persistent keepalive пустим на стороні сервера, якщо ви налаштовуєте сервер для підключення клієнтів. Це запобігатиме непотрібному переходу в режим очікування під час очікування завершення спроби рукостискання, коли клієнт від’єднається. На стороні клієнта поле Persistent keepalive має бути заповнене вибраним значенням, щоб WireGuard VPN працював належним чином!

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

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

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

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

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

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

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

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

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

 

Чи була ця стаття корисною?

91 з 120 вважають статтю корисною