Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Wireguard Triangle

    Wireguard Triangle

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Wireguard Triangle, RouterOS
     
    ocular
    Guest
    #1
    0
    09.06.2023 13:28:00
    В продакшене у меня есть VPN ipsec/ike2 треугольник из трёх офисов, все с фиксированными IP и роутерами MT с ROS 7.3 (без доступа VPN для «полевых бойцов»). Хочу перейти на «Wireguard треугольник» и добавить доступ для «полевых бойцов» с моего Android или Windows-ноутбука для администрирования компьютеров через локальный узел, но чтобы одновременно мог быть подключен не более одного такого пользователя во всём треугольнике.

    Локальные подсети каждого узла должны быть доступны как для непосредственного подключённого RW, так и для соседних Mikrotik-узлов. Я не думаю, что в этой конфигурации понадобится функция ретрансляции на Mikrotik.

    На Android и ноутбуке будут три конфигурации Wireguard, чтобы получить RW-доступ к каждому из трёх узлов: RW-A для Android и RW-W для Windows.

    Диаграмма лучше показывает мои требования.  


    Я просмотрел много статей на форуме и думаю, что смогу настроить часть, обозначенную красными стрелками — с RW, подключающимися к каждому узлу, например:  
    172.16.10.1 (сам роутер Wireguard-сервера Site-A) <-----------> Wireguard-клиент 172.16.10.2 Site-B  
    172.16.10.1 (сам роутер Wireguard-сервера Site-A) <-----------> Wireguard-клиент 172.16.10.3 Site-C

    Вопрос: нужно ли заводить отдельную подсеть Wireguard с дополнительными интерфейсами на Site-B и Site-C, или достаточно настроить связь между Site-B и Site-C как «серверами», общающимися друг с другом в подсети 172.16.10.0/24? То есть, как с помощью Wireguard организовать соединение там, где зелёные стрелки?

    Все роутеры имеют стандартную конфигурацию ROS, и я хочу использовать IP для WG-сети(й) на всех трёх MT-роутерах.
     
     
     
    ocular
    Guest
    #2
    0
    26.06.2023 08:47:00
    Чтобы разобраться во всём этом, мне нужно начать с самого начала: у меня есть 3 сайта, у каждого статический публичный IP. Хочу организовать сеть в виде треугольника — три узла, каждый напрямую связан с двумя другими. Во многих примерах работы с WireGuard сети ограничены прямыми подключениями сайт-сайт или мультисайт с ретрансляцией, когда у узлов нет статического публичного IP. Используя схему выше и указанные сетевые адреса, я набросал детали, которые, как мне кажется, могут сработать для связи этих трёх узлов в таком mesh-сетапе. Старался упростить задачу, используя одну подсеть WireGuard и пока без настройки для роад-ворриоров. Подобного примера найти не удалось. Я настроил установку и поддержание туннелей в однонаправленном порядке по часовой стрелке, и все три узла слушают UDP-трафик на порту 13231. Тем, у кого есть реальный опыт и больше знаний, буду признателен за обратную связь. Это может работать? Не нарушаю ли я какие-то правила из мануала WireGuard?

    Router-A (Site-A)  
    WG интерфейс: 172.16.10.1/24  
    Peers x2  
    Allowed IP: 172.16.10.3/32, 192.168.2.0/24  
              172.16.10.2/32, 192.168.1.0/24  
    endpoint: публичный IP Site-B:13231  
    keep alive 20  
    Маршруты (к LAN на соседних узлах):  
    Dst 192.168.1.0/24 Gateway 172.16.10.2  
    Dst 192.168.2.0/24 Gateway 172.16.10.3  

    Router-B (Site-B)  
    WG интерфейс: 172.16.10.2/24  
    Peers x2  
    Allowed IP: 172.16.10.1/32, 192.168.0.0/24  
              172.16.10.3/32, 192.168.2.0/24  
    endpoint: публичный IP Site-C:13231  
    keep alive 20  
    Маршруты (к LAN на соседних узлах):  
    Dst 192.168.0.0/24 Gateway 172.16.10.1  
    Dst 192.168.2.0/24 Gateway 172.16.10.3  

    Router-C (Site-C)  
    WG интерфейс: 172.16.10.3/24  
    Peers x2  
    Allowed IP: 172.16.10.2/32, 192.168.1.0/24  
              172.16.10.1/32, 192.168.0.0/24  
    endpoint: публичный IP Site-A:13231  
    keep alive 20  
    Маршруты:  
    Dst 192.168.0.0/24 Gateway 172.16.10.1  
    Dst 192.168.1.0/24 Gateway 172.16.10.2  

    Также добавляю интерфейс WireGuard в список LAN-интерфейсов на каждом узле — Mikrotik Routers ROS 7.3 с дефолтной конфигурацией.  

    Спасибо за помощь!
     
     
     
    anav
    Guest
    #3
    0
    26.06.2023 12:46:00
    Ваш подход неправильный, и всё начинается с неверных требований. Вы говорите, что вам нужны 3 сайта в конфигурации типа mesh node. Вот в этом и ошибка — это не требование, а разговор о решении. Вы заранее определяете, что нужно для конфигурации, вместо того чтобы указать, каковы реальные требования к трафику. Часто это приводит к попытке впихнуть круглые колёса в квадратные отверстия, и в вашем случае WireGuard, похоже, выбран в качестве решения, хотя это не протокол mesh node, а одноранговый (peer-to-peer). Давайте вернёмся к основам и разберёмся с настоящими требованиями к трафику. Исходя из этого, можно будет разработать идеальную конфигурацию. Определите всех пользователей/устройства, группы пользователей/устройств (включая админа), которым необходим поток трафика. Определите, какие потоки трафика разрешены и желательны между пользователями и устройствами из первого шага. Тогда мы сможем понять, достаточно ли информации для составления плана.
     
     
     
    kurio
    Guest
    #4
    0
    08.01.2024 17:32:00
    Привет! У меня похожая конфигурация. Треугольник из 3 одинаковых маршрутизаторов с публичными IP. За ними находятся приватные LAN с заранее спланированной адресацией, которая не пересекается. Эти LAN выходят в интернет через NAT соответствующих маршрутизаторов, тут ничего особенного не требуется. Цель — обеспечить полную связность между всеми этими приватными LAN, доступ в интернет с LAN, при этом роад-воркеры и dial-up клиенты не рассматриваются. Всего 3 LAN.

    Статически достаточно просто построить базовую схему: у каждого маршрутизатора 2 туннеля Wireguard к его «пирами», то есть 2 интерфейса Wireguard с разными портами. Я использую одну и ту же сеть Wireguard для всех интерфейсов. Сейчас у меня есть полная связность, но нет отказоустойчивости (резервирования).

    Вопрос в том, как сделать отказоустойчивость в mesh-сетке, чтобы при блокировке или падении одного туннеля полная связность сохранялась за счёт двух других рабочих туннелей. Дополнительное требование — чтобы эта отказоустойчивость была автоматической: если один из туннелей Wireguard падает, трафик автоматически перенаправляется по другим туннелям и возвращается в норму после восстановления сломанного туннеля.

    Пытался добавить вторичные маршруты с разной метрикой, но они никогда не активируются при блокировке подключения, потому что интерфейсы Wireguard остаются поднятыми. Насколько я понимаю, в треугольной mesh-сети — это peer-to-peer, для всей mesh достаточно 3 P2P туннелей.

    Как добиться желаемой отказоустойчивости связности? Нужно ли создавать 3 отдельные сети Wireguard? Как использовать статическую маршрутизацию для достижения цели? Или посоветуете динамическую маршрутизацию? Спасибо за советы!
     
     
     
    anav
    Guest
    #5
    0
    08.01.2024 18:51:00
    Итак, ваша озабоченность в том, что будет, если серверный роутер исключить из схемы. Главная причина, по которой туннель может отказать — это если прекратится WAN-соединение или если сломается сам роутер.

    a. Если трафик не пройдет через Server Router1 на этапе рукопожатия (будь то сбой роутера 1 или проблемы с интернетом на R1), то роутеры 2 и 3 не смогут соединиться.  
    b. Если трафик не пройдет на клиентском роутере 2 во время рукопожатия (либо сбой роутера 2, либо интернет на R2), роутеры 1 и 3 всё ещё будут связаны.  
    c. Если трафик не пройдет на клиентском роутере 3 для рукопожатия (либо сбой роутера 3, либо интернет на R3), роутеры 1 и 2 останутся на связи.

    Поэтому единственным возможным резервным решением будет дополнительная Wireguard-связь между роутерами 2 и 3.

    В вышеприведённом сценарии рассмотрим подробнее:  
    a. Если Router1 выпадает из схемы, Router 3 подключается к Router2 через вторичный Wireguard-интерфейс.  
    b. Никаких изменений — 1 и 3 по-прежнему на связи.  
    c. Тоже без изменений — 1 и 2 продолжают обмениваться данными.

    Таким образом, логично, что нам нужен ещё один Wireguard-интерфейс или сеть, которая будет постоянно активна и готова подхватить связь при необходимости.

    Если вы готовы полагаться на сторонний сервис, можно запустить сеть Zerotier, объединяющую все три LAN так, чтобы они оказались в одном L2-сегменте. Тогда как Wireguard соединяет их на L3-уровне. Соединение идёт от каждого роутера к Zerotier, и в случае сбоя любого из роутеров связь между двумя другими сохраняется.

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++­+++++++++++++++++++++++++++++++++++++++

    R1  
    Wireguard Interface=WG-MAIN1  
    Порт для прослушивания=14555  
    Комментарий=сервер на основном Wireguard.  
    allowed IPs=r2-wg-main2-IP/32,r2subnet  comment=“клиент peer роутер 2”  
    allowed IPs=r3-wg-main3-IP/32,r3subnet  comment=“клиент peer роутер 3”  
    /ip address add address=10.10.10.1/24 interface=WG-MAIN1 network=10.10.10.0  
    /ip firewall add action=accept chain=input dst-port=14555 protocol=udp comment='wireguard MAIN handshake'  
    add action=accept chain=forward src-address=localsubnet out-interface=WG-MAIN1 comment=“разрешить трафик локальной подсети в туннель”  
    add action=accept chain=forward dst-address=localsubnet in-interface=WG-MAIN1 comment=“разрешить входящий трафик подсетей R2 и R3”  
    add action=accept chain=forward in-interface=WG-MAIN1 out-interface=WG-MAIN1 comment=“разрешить R2 обращаться к R3 и наоборот”  
    /ip route add dst-address=r2subnet/24 gateway=WG-MAIN1 routing-table=main  
    add dst-address=r2subnet/24 gateway=WG-MAIN1 routing-table=main  

    R2  
    Wireguard Interface=WG-MAIN2  
    Порт для прослушивания=1455  
    Wireguard Interface=WG-ALT2  
    Порт для прослушивания=12555  
    Комментарий=сервер на альтернативном Wireguard.  
    allowed IPs=wg-main1-subnet/24,r1subnet,r3subnet  
    endpoint=publicIP-R1  
    endpoint-port=14555  
    persistent-keep-alive=35  
    comment=“сервер peer роутер 1”  
    allowed IPs=wg-alt3-ip/32,r3subnet  
    comment=“клиент peer роутер 3”  
    /ip address add address=10.10.10.2/24 interface=WG-MAIN2 network=10.10.10.0  
    add address=10.20.10.1/24 interface=WG-ALT2 network=10.20.10.0  
    /ip firewall add action=accept chain=input dst-port=12555 protocol=udp comment='wireguard ALT handshake'  
    add action=accept chain=forward src-address=localsubnet out-interface=WG-MAIN2 comment=“разрешить трафик локальной подсети в туннель”  
    add action=accept chain=forward dst-address=localsubnet in-interface=WG-MAIN2 comment=“разрешить входящий трафик подсетей R1 и R3”  
    add action=accept chain=forward src-address=localsubnet out-interface=WG-ALT2 comment=“разрешить трафик локальной подсети в туннель”  
    add action=accept chain=forward dst-address=localsubnet in-interface=WG-ALT2 comment=“разрешить входящий трафик подсети R3”  
    /ip route add dst-address=r1subnet/24 gateway=WG-MAIN2 routing-table=main add check-gateway=ping distance=1 dst-address=r3subnet/24 gateway=WG-MAIN1 routing-table=main  
    add distance=2 dst-address=r3subnet/24 gateway=WG-ALT2 routing-table=main comment=“использовать альтернативный Wireguard, если основной недоступен”  

    R3  
    Wireguard Interface=WG-MAIN3  
    Порт для прослушивания=1255  
    Wireguard Interface=WG-ALT3  
    Порт для прослушивания=1466  
    allowed IPs=wg-main1-subnet/24,r1subnet,r2subnet  
    endpoint=publicIP-R1  
    endpoint-port=14555  
    persistent-keep-alive=35  
    comment=“сервер peer роутер 1”  
    allowed IPs=wg-alt2-subnet/24,r2subnet  
    endpoint=publicIP-R2  
    endpoint-port=142555  
    persistent-keep-alive=40  
    comment=“сервер peer роутер 2”  
    /ip address add address=10.10.10.3/24 interface=WG-MAIN3 network=10.10.10.0  
    add address=10.20.10.2/24 interface=WG-ALT3 network=10.20.10.0  
    /ip firewall add action=accept chain=forward src-address=localsubnet out-interface=WG-MAIN3 comment=“разрешить трафик локальной подсети в туннель”  
    add action=accept chain=forward dst-address=localsubnet in-interface=WG-MAIN3 comment=“разрешить входящий трафик подсетей R2 и R3”  
    add action=accept chain=forward src-address=localsubnet out-interface=WG-ALT3 comment=“разрешить трафик локальной подсети в туннель”  
    add action=accept chain=forward dst-address=localsubnet in-interface=WG-ALT3 comment=“разрешить входящий трафик подсети R2”  
    /ip route add dst-address=r1subnet/24 gateway=WG-MAIN3 routing-table=main add check-gateway=ping distance=1 dst-address=r2subnet/24 gateway=WG-MAIN3 routing-table=main  
    add distance=2 dst-address=r2subnet/24 gateway=WG-ALT3 routing-table=main comment=“использовать альтернативный Wireguard, если основной недоступен”
     
     
     
    ocular
    Guest
    #6
    0
    22.09.2024 16:38:00
    Спасибо, что поделились своим реальным опытом. Я пока не продвинулся дальше, чем соединение трёх узлов через IPsec VPN. Интересно узнать, что вы используете по одному интерфейсу WG для каждого пира (по 2 WG интерфейса на узел). Вы применяете одну и ту же подсеть для всех WG интерфейсов. Так как все ваши подсети (WG и X3 LAN) разные, могли бы вы использовать всего один интерфейс WG на узел с двумя пирами на узел и без пересечения allowedIPs? Пробовали ли вы один интерфейс на узел, или это не сработало, и вы перешли к двум интерфейсам?
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры