Налаштування WireGuard VPN між двома маршрутизаторами Keenetic
Починаючи з версії KeeneticOS 3.3, була реалізована підтримка WireGuard VPN для актуальних пристроїв.
Розглянемо приклад налаштування безпечного VPN-з'єднання за протоколом WireGuard між двома маршрутизаторами Keenetic. Ми детально покажемо налаштування VPN-сервера (очікує на підключення) та VPN-клієнта (ініціює підключення).
Важливо
Якщо ви плануєте налаштувати свій маршрутизатор Keenetic як VPN-сервер, спочатку переконайтеся, що він має публічну IP-адресу, і якщо ви використовуєте сервіс KeenDNS, що він працює в режимі прямого доступу. Якщо будь-яка з цих умов не виконується, ви не зможете підключитися до такого сервера з Інтернету.
Адреси мереж, що об'єднуються, повинні належати до різних підмереж!
Розглянемо схему підключення:

Є маршрутизатор Keenetic з публічною IP-адресою для доступу до Інтернету. Цей маршрутизатор буде виступати як VPN-сервер, а його публічна адреса буде використовуватися для підключення іншого Keenetic (як VPN-клієнт) з IP-адресою з приватного діапазону на інтерфейсі WAN.
Необхідно надати хостам кожного маршрутизатора доступ до віддаленої локальної мережі через VPN-тунель. Така схема підключення також називається «Site-To-Site VPN» (наприклад, між офісне з’єднання для розширення мережевої інфраструктури).
У нашому прикладі розглянемо підключення двох локальних мереж 192.168.100.x та 192.168.22.x через WireGuard VPN.

Важливо
Ми рекомендуємо налаштовувати WireGuard з одного пристрою (наприклад, комп’ютера або смартфона), оскільки під час створення з’єднання вам потрібно буде обмінюватися публічними ключами з обох боків VPN-тунелю. Отже, вам потрібно забезпечити одночасний доступ до налаштувань сервера та клієнта.
Відкрийте вебінтерфейси двох маршрутизаторів Keenetic у різних вкладках вашого веббраузера.
Виконайте наступні дії на обох пристроях:
Перейдіть на сторінку «Інші підключення», і в розділі «WireGuard» натисніть «Додати підключення». Ви побачите сторінку налаштувань, де можна вказати назву тунелю. У нашому прикладі це імена «
WG-S» для сервера та «WG-CL1» для клієнта.
Натисніть кнопку «Згенерувати пару ключів», щоб згенерувати Приватний та Публічний ключі. Далі нам знадобляться лише Публічні ключі з обох боків VPN-тунелю. Вам потрібно буде вказати ключ до VPN-сервера в налаштуваннях VPN-клієнта і навпаки.

Важливо
Не закривайте вкладки браузера з підключеннями WireGuard для сервера та клієнта. Вам потрібно буде переключатися між ними під час процесу налаштування.
Тепер детально розглянемо налаштування кожного маршрутизатора.
Налаштування VPN-сервера WireGuard
Введіть внутрішню IP-адресу тунелю у форматі IP/маска (у нашому прикладі 172.16.82.1/24) в налаштуваннях підключення WireGuard у полі «Адреса». Ви можете використовувати будь-яку підмережу з приватного діапазону, яка не використовується на стороні сервера та клієнта.
У полі «Слухати порт введіть номер порту, який буде використовуватися при налаштуванні VPN-клієнта (у нашому прикладі це порт 16632). Цей порт клієнт буде використовувати під час налаштування тунелю. Маршрутизатор автоматично відкриє цей порт на всіх інтерфейсах, щоб пропускати вхідні з'єднання. Немає необхідності додавати будь-які дозвільні правила міжмережевого екрана.

Натисніть кнопку «Додати пір», щоб створити налаштування підключення клієнта.
Тимчасово переключіть браузер на вкладку вебінтерфейсу VPN-клієнта та натисніть «Скопіювати публічний ключ до буфера обміну» в налаштуваннях підключення WireGuard («WG-CL1» ).
Поверніться на вкладку налаштувань VPN-сервера. Введіть ім'я піра (у нашому прикладі це «WG-CL1») і в полі «Публічний ключ» вставте публічний ключ VPN-клієнта з буфера обміну.
У полях «Дозволені IP-адреси» потрібно вказати адреси, з яких віддалена сторона може надсилати трафік і на які віддалена сторона може отримувати трафік. Як правило, це внутрішня адреса віддаленого кінця тунелю та віддалена мережа (локальна мережа VPN-клієнта).
Важливо
Діапазони адрес дозволених підмереж у пірів в межах одного інтерфейсу не повинні перетинатися.
У нашому прикладі адреса віддаленого кінця тунелю — 172.16.82.2/32. На стороні VPN-клієнта трафік у тунелі йтиме з адресою джерела 172.16.82.2, тому тут ми вказуємо адресу хоста (з маскою /32). А 192.168.100.0/24 визначено як віддалену мережу (ми повинні надати тунельний доступ до цієї мережі).

Натисніть кнопку «Зберегти».
Налаштування підключення WireGuard на стороні VPN-сервера завершено, але вам також потрібно налаштувати правила міжмережевого екрана та маршрутизацію на Keenetic. Вам потрібно дозволити вхідний трафік і вказати статичний маршрут до віддаленої мережі для створеного інтерфейсу WireGuard.
Відкрийте сторінку «Міжмережевий екран». Додайте та увімкніть правило дозволу для протоколу IP для інтерфейсу WireGuard (у нашому прикладі це «WG-S»). Це необхідно, оскільки за замовчуванням для тунельних інтерфейсів встановлено публічний рівень безпеки, і вхідний трафік не дозволено. Ви повинні зробити відповідні налаштування на обох маршрутизаторах Keenetic, щоб запити з віддалених мереж могли проходити через тунель.

Вам потрібно додати статичний маршрут, щоб надсилати трафік до віддаленої мережі через тунель.
Перейдіть на сторінку «Маршрутизація», натисніть «Додати маршрут» і вкажіть наступні параметри статичного маршруту:
У полі «Тип маршруту» виберіть опцію «Маршрут до мережі»; у полі «Адреса мережі призначення» вкажіть віддалену підмережу (у нашому прикладі це
192.168.100.0). А в полі «Інтерфейс» виберіть назву раніше створеного інтерфейсу WireGuard (у нашому випадку це «WG-S»), увімкніть опцію «Додавати автоматично».
Тепер налаштування VPN-сервера завершено, і ви можете перейти до налаштувань VPN-клієнта. Але спочатку відкрийте сторінку «Інші підключення», натисніть на запис створеного підключення WireGuard (у нашому прикладі це «WG-S»), а потім натисніть «Скопіювати публічний ключ до буфера обміну». Цей ключ знадобиться нам для налаштування на стороні VPN-клієнта.
Важливо
Часто на маршрутизаторі, який виступає в ролі VPN-сервера, адміністратор додатково налаштовує міжмережевий екран на заборону всіх вхідних з'єднань на WAN-інтерфейсі і дозволяє підключення тільки з певних IP-адрес. Якщо у вас є такі налаштування, додайте правило до міжмережевого екрана на WAN-інтерфейсі для вхідних підключень до сервера WireGuard. У правилі дозволу необхідно вказати номер порту прослуховування сервера WireGuard для протоколу UDP (у нашому прикладі це порт 16632). Якщо этого не зробити, VPN-тунель не буде встановлено.
Налаштування VPN-клієнта WireGuard
Введіть внутрішню IP-адресу тунелю з тієї ж підмережі, що й VPN-сервер, в налаштуваннях підключення WireGuard в полі «Адреса». Введіть IP-адресу у форматі IP/маска (у нашому прикладі 172.16.82.2/24, оскільки адреса на віддаленому кінці тунелю — 172.16.82.1/24).

Натисніть кнопку «Додати пір», щоб створити налаштування підключення до сервера.
Вкажіть ім'я піра (у нашому прикладі це «WG-S») і в полі «Публічний ключ» вставте публічний ключ VPN-сервера з буфера обміну.
У полі «Кінцева точка» у форматі IP-адреса:порт або ім'я:порт введіть публічну IP-адресу або доменне ім'я маршрутизатора, який виконує функцію VPN-сервера, і через двокрапку порт піра (порт прослуховування, який був вказаний при налаштуванні тунелю на сервері). У нашому прикладі це ****.keenetic.link:16632
Важливо
При використанні сервісу KeenDNS переконайтеся, що він працює в режимі «Прямий доступ». Ви не зможете підключитися до VPN-сервера з Інтернету при використанні режиму «Хмарний доступ».
У полях «Дозволені IP-адреси» потрібно вказати адреси, з яких віддалена сторона може надсилати трафік і на які віддалена сторона може отримувати трафік. Це внутрішня адреса віддаленого кінця тунелю та віддалена мережа (локальна мережа VPN-сервера).
У нашому прикладі адреса віддаленого кінця тунелю — 172.16.82.1/32 (трафік від VPN-клієнта в тунелі буде йти з адресою джерела 172.16.82.1, тому тут ми вказуємо адресу хоста), а віддалена мережа — 192.168.22.0/24 (ви повинні надати доступ до цієї мережі через тунель).
У полі «Постійна перевірка активності» виберіть інтервал спроб перевірки активності піра (це внутрішня перевірка доступності віддаленої сторони з'єднання). У нашому прикладі він встановлений на 15 секунд.

Натисніть кнопку «Зберегти».
Тепер ми налаштуємо міжмережевий екран і маршрутизацію на Keenetic. Вам потрібно дозволити вхідний трафік і вказати статичний маршрут до віддаленої мережі для створеного інтерфейсу WireGuard.
Відкрийте сторінку «Міжмережевий екран». Додайте та увімкніть правило дозволу для протоколу IP для інтерфейсу WireGuard (у нашому прикладі це «WG-CL1» ).

Щоб надсилати трафік до віддаленої мережі через тунель, потрібно додати статичний маршрут.
Перейдіть на сторінку «Маршрутизація», натисніть «Додати маршрут» і вкажіть наступні параметри статичного маршруту:
У полі «Тип маршруту» виберіть опцію «Маршрут до мережі»; у полі «Адреса мережі призначення» вкажіть віддалену підмережу (у нашому прикладі це
192.168.22.0). А в полі «Інтерфейс» виберіть назву раніше створеного інтерфейсу WireGuard (у нашому випадку це «WG-CL1»), увімкніть опцію «Додавати автоматично».
Тепер налаштування VPN-сервера та VPN-клієнта завершено.
Увімкніть створені підключення WireGuard на обох маршрутизаторах. Якщо все налаштовано правильно, ви побачите індикатор зеленого стану в стовпці «Пір».
VPN-сервер:

VPN-клієнт:

Щоб перевірити роботу VPN-тунелю з хостів або безпосередньо з маршрутизатора (з меню «Діагностика» у вебінтерфейсі), пропінгуйте віддалений маршрутизатор або пристрої за тунелем.
Наприклад, з хоста в локальній мережі VPN-клієнта (з мережі 192.168.100.x) пропінгуйте IP-адресу VPN-сервера (у нашому випадку це 172.16.82.1), а потім локальну IP-адресу Keenetic у віддаленій мережі за тунелем (у нашому прикладі це 192.168.22.1).
Перевірте вебінтерфейс сервера (в нашому випадку це Keenetic з IP-адресою 192.168.22.1).

Примітка
Конфігурація, показана в цій статті, встановить Wireguard VPN, щоб дозволити доступ до віддаленої підмережі за VPN-тунелем. Локальний інтернет-провайдер надаватиме доступ до Інтернету для клієнтів.
Але в деяких випадках клієнтам, підключеним до маршрутизатора Keenetic через WireGuard, потрібен доступ до Інтернету через цей VPN-тунель. Отже, вам потрібно налаштувати з’єднання так, щоб увесь трафік спрямовувався від VPN-клієнта до тунелю WireGuard, як для доступу до віддаленої мережі, так і до Інтернету.
Для цього вам потрібно буде зробити додаткові налаштування на клієнті та сервері відповідно до інструкції «Доступ до Інтернету через WireGuard VPN». Зверніть увагу, що в цьому випадку навантаження на сам VPN-канал і на інтернет-канал, до якого підключений Keenetic (що діє як VPN-сервер), збільшиться.
Якщо після налаштування VPN-тунелю доступ по SMB всередині тунелю не працює для клієнтів Windows, це зазвичай викликано увімкненим Захисником Windows або іншим міжмережевим екраном на хостах. У цьому випадку вимкніть міжмережевий екран у Windows і перевірте роботу.
Або точно налаштуйте міжмережевий екран, або Захисник Windows. Створіть дозвільні правила в Захиснику Windows для портів TCP/UDP:
UDP/137,UDP/138,TCP/139,TCP/445.У Kaspersky Internet Security вам потрібно дозволити доступ до локальної мережі для тих самих портів
UDP/137,UDP/138,TCP/139,TCP/445і перевірити рівень доступу до мережі для мережевого адаптера.