Skip to main content

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

Підключення трьох локальних мереж через WireGuard VPN

У цьому прикладі ми покажемо, як налаштувати з'єднання Wireguard між трьома маршрутизаторами Keenetic, щоб хости в їхніх локальних сегментах могли взаємодіяти. Ця схема підключення називається Site-To-Site VPN (наприклад, між офісами для розширення мережевої інфраструктури).

  1. Необхідно переконатися, що зовнішня WAN IP-адреса одного з маршрутизаторів доступна з інших. Якщо VPN-тунель буде побудовано через Інтернет, це означає, що один із маршрутизаторів повинен мати публічну IPv4-адресу, надану Інтернет-провайдером.

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

    wireguard1-en.png

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

    Розглянемо графічну схему мережі:

    wg-scheme-en.png
    • 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

  3. Спочатку налаштуйте VPN-з'єднання WireGuard на маршрутизаторах A1 і B2.

    3.1. Попереднє налаштування Keenetic маршрутизатора B2.

    У меню ІнтернетІнші з'єднання, у розділі Wireguard, натисніть кнопку Додати з'єднання. Відкриється вікно налаштувань, у якому слід вказати назву тунелю: VPN B2-A1. За допомогою кнопки Створити пару ключів слід створити пару ключів, приватний і публічний, які будуть використовуватися для захисту з'єднання.

    У полі IP-адреса IPv4 вкажіть IP-адресу у форматі IP/бітмаска: 172.16.82.2/24 (це внутрішня 'технічна' адреса тунелю). Ви можете використовувати іншу підмережу, але її слід вибирати з діапазонів, зарезервованих для приватного використання, щоб уникнути збігу з іншими підмережами, налаштованими на цих пристроях. Далі збережіть публічний ключ у буфер обміну (він знадобиться вам на наступному кроці), а потім натисніть Зберегти, щоб застосувати налаштування.

    wg-comb-network-01-en.png

    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 автоматично відкриє цей порт на всіх інтерфейсах, щоб дозволити вхідні з'єднання, і немає необхідності додавати додаткові правила дозволу в міжмережевий екран.

    wg-comb-network-02-en.png

    Далі додайте з'єднання за допомогою кнопки Додати пір. Вкажіть відповідне ім'я з'єднання та публічний ключ тунелю з Маршрутизатора B2. Оскільки цей ключ було скопійовано в буфер обміну на попередньому кроці, його можна вставити в поле Публічний ключ.

    У полях Дозволені IP-адреси необхідно вказати адреси, з яких дозволено трафік від віддаленої сторони, та адреси, на які можна надсилати трафік віддаленій стороні. Це: технічна адреса віддаленого кінця тунелю - 172.16.82.2/32 (з боку піра B2 трафік у тунелі йтиме з вихідною адресою 172.16.82.2, і в нашому прикладі ми явно вказуємо тут адресу хоста, враховуючи, що адресні простори дозволених підмереж на з'єднаннях в межах одного інтерфейсу не повинні перетинатися), і віддалена мережа - локальна мережа Маршрутизатора B2 - 192.168.15.0/24 (ця мережа повинна бути доступна через тунель).

    У полі Persistent keepalive необхідно вказати періодичність спроб перевірки. Це внутрішня, вбудована протокольна перевірка доступності з'єднання віддаленої сторони. Зазвичай достатньо інтервалу між перевірками 8-10 секунд.

    Після цього скопіюйте публічний ключ Маршрутизатора A1 в буфер обміну і збережіть конфігурацію.

    wg-comb-network-03-en.png

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

    wg-comb-network-04-en.png

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

    wg-comb-network-05-en.png

    У налаштуваннях піра ми вказуємо Ім'я піра (у нашому прикладі 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 секунд для інтервалу перевірки активності з цього боку. Збережіть налаштування.

    wg-comb-network-06-en.png

    3.4 Увімкніть налаштовані VPN-інтерфейси на маршрутизаторах A1 і B2. Якщо все налаштовано правильно, у стовпці Пір має відображатися зелений індикатор стану з'єднання.

    Keenetic A1:

    wg-comb-network-07-en.png

    Keenetic B2:

    wg-comb-network-08-en.png
  4. Налаштування Міжмережевий екран та Статична маршрутизація. Це вимагатиме вказання маршрутів та дозволу вхідного трафіку на додані VPN-інтерфейси.

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

    wg-comb-network-09-en.png

    4.2 'Технічні' адреси мережі, призначені на кінцях тунелю — 172.168.82.1 та 172.16.82.2 — вже можуть обмінюватися даними на цьому етапі. Щоб надсилати трафік через тунель до віддалених мереж, як того вимагає схема, необхідно додати маршрути на маршрутизаторах (меню Маршрутизація → кнопка Створити маршрут).

    Keenetic A1 — маршрут до мережі 192.168.15.0/24 через тунель:

    wg-comb-network-10-en.png

    Keenetic B2 - маршрути до мереж 192.168.111.0/24, 192.168.112.0/24 та 192.168.26.0/24 через тунель:

    wg-comb-network-11-en.png
    wg-comb-network-12-en.png
    wg-comb-network-13-en.png

    Останній маршрут ще не може працювати, оскільки з'єднання з філією C3 ще не налаштовано. Давайте завершимо налаштування.

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

    5.1. Keenetic C3:

    Налаштування інтерфейсу Wireguard.

    wg-comb-network-14-en.png

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

    wg-comb-network-09-en.png

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

    wg-comb-network-15-en.png
    wg-comb-network-16-en.png

    5.2. Keenetic A1:

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

    wg-comb-network-17-en.png

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

    wg-comb-network-18-en.png
    wg-comb-network-19-en.png

    На цьому налаштування завершено.

Для тестування ви можете пінгувати хости віддалених мереж безпосередньо з маршрутизаторів через меню Діагностика відповідно до схеми (п. 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
 !
 up
ip 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
 !
 up
ip route 192.168.111.0 255.255.255.0 Wireguard0
ip route 192.168.15.0 255.255.255.0 Wireguard0