Підключення трьох локальних мереж через WireGuard VPN
У цьому прикладі ми покажемо, як налаштувати з'єднання Wireguard між трьома маршрутизаторами Keenetic, щоб хости в їхніх локальних сегментах могли взаємодіяти. Ця схема підключення називається Site-To-Site VPN (наприклад, між офісами для розширення мережевої інфраструктури).
Необхідно переконатися, що зовнішня WAN IP-адреса одного з маршрутизаторів доступна з інших. Якщо VPN-тунель буде побудовано через Інтернет, це означає, що один із маршрутизаторів повинен мати публічну IPv4-адресу, надану Інтернет-провайдером.
Встановіть системний компонент WireGuard VPN. Ви можете зробити це у вебінтерфейсі на сторінці Параметри системи у розділі KeeneticOSОновлення та параметри компонентів, натиснувши Змінити набір компонентів.

Компонент Wireguard VPN має бути встановлено на всіх трьох маршрутизаторах Keenetic. Після цього налаштування Wireguard VPN з'являться у вебінтерфейсі на сторінці Інші з'єднання.
Розглянемо графічну схему мережі:

Keenetic Маршрутизатор A1 має публічну WAN IP-адресу, надану Інтернет-провайдером. Маршрутизатори B2 та C3 підключатимуться до цієї адреси. Іншими словами, інтерфейс Wireguard на Маршрутизаторі A1 буде виконувати роль сервера, до якого підключаються клієнтські маршрутизатори віддалених офісів B2 і C3.
У локальній мережі маршрутизатра Keenetic A1 є два локальні сегменти: A1 та A2. До них необхідно отримати доступ з локальної мережі маршрутизатора B2. У протилежному напрямку, до локальної мережі C3, також має бути надано доступ з цих двох сегментів.
Локальна мережа за маршрутизатором Keenetic C3 повинна мати доступ лише до сегмента A1 у мережі Keenetic A1.
Хости у віддалених мережах B2 та C3 також повинні мати можливість обмінюватися трафіком.
У нашому прикладі ми використовуємо приватну IP-адресу
192.168.201.14як публічну WAN IP-адресу, видану Інтернет-провайдером Маршрутизатору A1. Загалом, мережеве середовище, до якого підключені всі три маршрутизатори (чорні лінії на схемі), не обов'язково є глобальним; це також може бути локальна мережа Інтернет-провайдера.Використовуймо Маршрутизатор A1 як сервер і припустимо, що він розташований у головному офісі, а дві віддалені мережі — це філії B2 та C3. На маршрутизаторі Keenetic A1 підмережа сегмента A1 —
192.168.111.1/24, а підмережа сегмента A2 —192.168.112.1/24. Локальна мережа філії B2 —192.168.15.1/24, а локальна мережа філії C3 —192.168.26.1.24.Маршрутизатор
Локальна мережа
Мати доступ до
Адреса інтерфейсу тунелю
Keenetic A1 (Головний офіс)
192.168.111.1/24
B2, C3
172.16.82.1/24
192.168.112.1/24
B2
Keenetic B2 (Філія 2)
192.168.15.1/24
A1, A2, C3
172.16.82.2/24
Keenetic C3 (Філія 3)
192.168.26.1/24
A1, B2
172.16.82.3/24
Спочатку налаштуйте VPN-з'єднання WireGuard на маршрутизаторах A1 і B2.
3.1. Попереднє налаштування Keenetic маршрутизатора B2.
У меню Інтернет → Інші з'єднання, у розділі Wireguard, натисніть кнопку Додати з'єднання. Відкриється вікно налаштувань, у якому слід вказати назву тунелю:
VPN B2-A1. За допомогою кнопки Створити пару ключів слід створити пару ключів, приватний і публічний, які будуть використовуватися для захисту з'єднання.У полі IP-адреса IPv4 вкажіть IP-адресу у форматі
IP/бітмаска:172.16.82.2/24(це внутрішня 'технічна' адреса тунелю). Ви можете використовувати іншу підмережу, але її слід вибирати з діапазонів, зарезервованих для приватного використання, щоб уникнути збігу з іншими підмережами, налаштованими на цих пристроях. Далі збережіть публічний ключ у буфер обміну (він знадобиться вам на наступному кроці), а потім натисніть Зберегти, щоб застосувати налаштування.
3.2. Налаштування маршрутизатора Keenetic A1 (підключення до філії B2).
На Маршрутизаторі A1 потрібно так само додати з'єднання, вказати ім'я та згенерувати пару ключів. Поки що не потрібно копіювати публічний ключ Маршрутизатора A1 у буфер обміну.
Далі встановимо адресу. Має сенс вказати внутрішню '
технічну' адресу пристрою в тунелі з підмережі, вже обраної при налаштуванні інтерфейсу на Маршрутизаторі B2 — на ньому ми вказали адресу з мережі172.16.82.2/24, на Маршрутизаторі А1 адресу слід вказати з тієї ж мережі. Встановимо адресу172.16.82.1/24в кінці тунелю KeeneticА1.Примітка
Адресу можна вказати з
32-бітноюмаскою, тобто не адресу мережі, а адресу хоста. У цьому випадку вам доведеться додати маршрут, що вказує на мережу інтерфейсу тунелю або окремо на кожен кінець тунелю. Якщо вказати адресу так, щоб маска охоплювала адреси всіх пірів тунелю, автоматично згенерований маршрут усуває необхідність вручну вводити дані налаштувань.Порт, вказаний у полі Слухати порт, буде використовуватися при подальшому налаштуванні Маршрутизатора B2. Цей порт використовуватимуть маршрутизатори Keenetic B2 та Keenetic C3 під час встановлення VPN-тунелю. У нашому прикладі ми будемо використовувати номер порту
16632. Маршрутизатор A1 автоматично відкриє цей порт на всіх інтерфейсах, щоб дозволити вхідні з'єднання, і немає необхідності додавати додаткові правила дозволу в міжмережевий екран.
Далі додайте з'єднання за допомогою кнопки Додати пір. Вкажіть відповідне ім'я з'єднання та публічний ключ тунелю з Маршрутизатора B2. Оскільки цей ключ було скопійовано в буфер обміну на попередньому кроці, його можна вставити в поле Публічний ключ.
У полях Дозволені IP-адреси необхідно вказати адреси, з яких дозволено трафік від віддаленої сторони, та адреси, на які можна надсилати трафік віддаленій стороні. Це: технічна адреса віддаленого кінця тунелю -
172.16.82.2/32(з боку піра B2 трафік у тунелі йтиме з вихідною адресою172.16.82.2, і в нашому прикладі ми явно вказуємо тут адресу хоста, враховуючи, що адресні простори дозволених підмереж на з'єднаннях в межах одного інтерфейсу не повинні перетинатися), і віддалена мережа - локальна мережа Маршрутизатора B2 -192.168.15.0/24(ця мережа повинна бути доступна через тунель).У полі Persistent keepalive необхідно вказати періодичність спроб перевірки. Це внутрішня, вбудована протокольна перевірка доступності з'єднання віддаленої сторони. Зазвичай достатньо інтервалу між перевірками
8-10секунд.Після цього скопіюйте публічний ключ Маршрутизатора A1 в буфер обміну і збережіть конфігурацію.

3.3. Тепер виконайте подальше налаштування з'єднання на Маршрутизаторі B2. Вам потрібно додати з'єднання, яке буде відкрито до Маршрутизатора A1.

Натисніть на запис тунелю, відкриється вікно з його налаштуваннями, натисніть Додати пір.

У налаштуваннях піра ми вказуємо Ім'я піра (у нашому прикладі Keenetic A1), Публічний ключ (скопійований у буфер обміну на попередньому кроці), Кінцеву точку у форматі
IP:порт(це публічна WAN IP-адреса Маршрутизатора A1 і порт прослуховування, який був вказаний під час налаштування тунелю на Маршрутизаторі A1), у нашому прикладі192.168.201.14:16632.У полі Дозволені IP-адреси потрібно додати адреси віддалених кінців тунелю. Ми вказуємо
172.16.82.0/24, трафік з адрес цієї мережі буде прийматися з тунелю. Додамо мережеві адреси локальних сегментів A1 та A2 Keenetic Маршрутизатора A1 -192.168.111.0/24та192.168.112.0/24. Вихідний трафік до цих двох мереж буде дозволено пропускати через тунель. Додамо адреси локальної мережі філії C3,192.168.26.0/24— ця мережа також потребує доступу. Ми виберемо 10 секунд для інтервалу перевірки активності з цього боку. Збережіть налаштування.
3.4 Увімкніть налаштовані VPN-інтерфейси на маршрутизаторах A1 і B2. Якщо все налаштовано правильно, у стовпці Пір має відображатися зелений індикатор стану з'єднання.
Keenetic A1:

Keenetic B2:

Налаштування Міжмережевий екран та Статична маршрутизація. Це вимагатиме вказання маршрутів та дозволу вхідного трафіку на додані VPN-інтерфейси.
4.1. Ми дозволяємо вхідний трафік до інтерфейсу Wireguard. Це слід зробити, оскільки за замовчуванням для тунельних інтерфейсів встановлено публічний рівень безпеки, і вхідний трафік заборонено. Щоб дозволити запитам з віддалених мереж проходити через тунель, додайте відповідне налаштування в меню Міжмережевий екран на обох маршрутизаторах.

4.2 'Технічні' адреси мережі, призначені на кінцях тунелю —
172.168.82.1та172.16.82.2— вже можуть обмінюватися даними на цьому етапі. Щоб надсилати трафік через тунель до віддалених мереж, як того вимагає схема, необхідно додати маршрути на маршрутизаторах (меню Маршрутизація → кнопка Створити маршрут).Keenetic A1 — маршрут до мережі
192.168.15.0/24через тунель:
Keenetic B2 - маршрути до мереж
192.168.111.0/24,192.168.112.0/24та192.168.26.0/24через тунель:


Останній маршрут ще не може працювати, оскільки з'єднання з філією C3 ще не налаштовано. Давайте завершимо налаштування.
Налаштування з'єднання між Keenetic A1 і C3. Процедура така ж, як у кроках
3та4. Вам знадобиться публічний ключ від Маршрутизатора А1. Скопіюйте його в буфер обміну та налаштуйте інтерфейс Wireguard в Маршрутизаторі C3.5.1. Keenetic C3:
Налаштування інтерфейсу Wireguard.

Налаштування мережевого екрану для інтерфейсу WireGuard.

Правила маршрутизації.


5.2. Keenetic A1:
Тепер додайте пір офісу C3 до налаштованого інтерфейсу WireGuard.

Також необхідно вказати маршрут до мережі
192.168.26.0/24(на Маршрутизаторі B2 ми вже додали це налаштування, тепер воно буде працювати — після увімкнення інтерфейсу в офісі C3).

На цьому налаштування завершено.
Для тестування ви можете пінгувати хости віддалених мереж безпосередньо з маршрутизаторів через меню Діагностика відповідно до схеми (п. 2).
Нижче наведені фінальні конфігурації трьох маршрутизаторів.
Keenetic A1:
access-list _WEBADMIN_Wireguard0 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0 description "VPN B2&C3-A1" security-level public ip address 172.16.82.1 255.255.255.0 ip access-group _WEBADMIN_Wireguard0 in ip tcp adjust-mss pmtu wireguard listen-port 16632 wireguard peer lH37FbHVYf8+TkSlOcnMrEp/Yds+/bAf1MJtwy1hHTs= !Keenetic B2 keepalive-interval 15 allow-ips 192.168.15.0 255.255.255.0 allow-ips 172.16.82.2 255.255.255.255 ! wireguard peer Iy3sCO73ACkzM2oVsZd+N+iRPcawsONQuftK4ee58kM= !Keenetic C3 keepalive-interval 3 allow-ips 192.168.26.0 255.255.255.0 allow-ips 172.16.82.3 255.255.255.255 ! up
ip route 192.168.15.0 255.255.255.0 Wireguard0 ip route 192.168.26.0 255.255.255.0 Wireguard0
Keenetic B2:
access-list _WEBADMIN_Wireguard0 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0
description "VPN B2-A1"
security-level public
ip address 172.16.82.2 255.255.255.0
ip access-group _WEBADMIN_Wireguard0 in
ip tcp adjust-mss pmtu
wireguard peer //lGSLpFyJDWKOtphjkkdRFflF3MmYCh8/CEWe5U/lE= !Keenetic A1
endpoint 192.168.201.14:16632
keepalive-interval 10
allow-ips 192.168.111.0 255.255.255.0
allow-ips 192.168.112.0 255.255.255.0
allow-ips 192.168.26.0 255.255.255.0
allow-ips 172.16.82.0 255.255.255.0
!
upip route 192.168.111.0 255.255.255.0 Wireguard0 ip route 192.168.112.0 255.255.255.0 Wireguard0 ip route 192.168.26.0 255.255.255.0 Wireguard0
Keenetic C3:
access-list _WEBADMIN_Wireguard0 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0
description "VPN C3-A1"
security-level public
ip address 172.16.82.3 255.255.255.0
ip access-group _WEBADMIN_Wireguard0 in
ip tcp adjust-mss pmtu
wireguard peer //lGSLpFyJDWKOtphjkkdRFflF3MmYCh8/CEWe5U/lE= !Keenetic A1
endpoint 192.168.201.14:16632
keepalive-interval 15
allow-ips 172.16.82.0 255.255.255.0
allow-ips 192.168.111.0 255.255.255.0
allow-ips 192.168.15.0 255.255.255.0
!
upip route 192.168.111.0 255.255.255.0 Wireguard0 ip route 192.168.15.0 255.255.255.0 Wireguard0