Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    OSPF поверх GRE/IPSec

    OSPF поверх GRE/IPSec

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    OSPF поверх GRE/IPSec, RouterOS
     
    sjoram
    Guest
    #1
    0
    06.02.2021 23:17:00
    В данный момент экспериментирую с запуском OSPF поверх GRE/IPsec IKE Phase 1 между двумя роутерами (R1 и R2) по их публичным IP-адресам, интерфейс PPPoE клиент — установлен IKE Phase 2 IPSec (R1) 10.5.0.0/16 ↔ (R2) 10.0.0.0/16 — работает без проблем уже какое-то время.

    GRE-туннель установлен:  
    (R1) адрес интерфейса 192.168.10.1/30  
    tunnel local: 10.5.0.254  
    remote: 10.0.0.254  

    (R2) адрес интерфейса 192.168.10.2/30  
    tunnel local: 10.0.0.254  
    remote: 10.5.0.254  

    Пиринговая OSPF-связь установлена между (R1) 192.168.10.1 и (R2) 192.168.10.2.

    Обмен OSPF connected маршрутами (с фильтрами) между роутерами:  
    172.25.5.0/24 — connected маршрут на R1, OSPF маршрут через 192.168.10.2, достижим через GRE-интерфейс на R2  
    172.25.0.0/24 — connected маршрут на R2, OSPF маршрут через 192.168.10.1, достижим через GRE-интерфейс на R1

    Правила IP-файрвола (из основных):  
    R1, цепочка forward, src: 10.5.0.0/16 dst: 172.25.0.0/24 действие: accept  
    R2, цепочка input, src: 10.5.0.0/16 dst: 172.25.0.0/24 действие: accept  

    Правила IP NAT (из основных):  
    R1, srcnat цепочка, src: 10.5.0.0/16 dst: 172.25.0.0/24 действие: accept  
    R2, srcnat цепочка, src: 172.25.0.0/24 dst: 10.5.0.0/16 действие: accept  

    Пробовал пинговать dst: 172.25.0.254 с src: 10.5.1.5.  

    С помощью Torch на обоих роутерах вижу, что OSPF проходит по GRE-интерфейсу, но ICMP-трафик от 10.5.1.5 на любом из роутеров не вижу. Если проверить VLAN-интерфейс для 10.5.0.0/16, трафик на R1 приходит.  

    Есть идеи? Что-то упускаю? Пытаюсь достичь невозможного?  

    P.S. Я успешно настроил маршрутизацию по OSPF между прямым физическим Ethernet-соединением R1 и R3:  
    R1: 192.168.32.1/30  
    R3: 192.168.32.2/30  

    10.5.0.0/16 на R1 свободно общается с 192.168.100.0/24 на R3, connected маршруты обмениваются в обе стороны (с фильтрами) между R1 и R3. R1 также рекламирует маршрут по умолчанию на R3, который работает.  

    Получается, что OSPF через прямое соединение настроить могу, а как только добавляю туннель — подводит…
     
     
     
    Funboy
    Guest
    #2
    0
    25.02.2021 18:09:00
    Привет! Я тоже хочу сделать то же самое. Вот моя конфигурация: https://pastebin.com/QRAhCLT2 Когда я перераспределяю маршруты с одной стороны, GRE-туннель разрывается. В чем может быть проблема? Заранее спасибо за любую помощь :)
     
     
     
    sjoram
    Guest
    #3
    0
    25.02.2021 18:19:00
    Вам нужно добавить фильтры маршрутов, чтобы локальные и удалённые адреса для GRE-туннеля на обоих концах не объявлялись и не принимались как маршруты OSPF. Эти адреса должны быть подключёнными маршрутами только на каждой стороне.
     
     
     
    Funboy
    Guest
    #4
    0
    25.02.2021 18:51:00
    Ты имеешь в виду что-то вроде этого? /routing filter add action=discard chain=ospf-in prefix=172.16.1.0/30 protocol=ospf add action=discard chain=ospf-out prefix=172.16.1.0/30 protocol=ospf 172.16.1.0/30 — это подсеть моего GRE-туннеля.
     
     
     
    sjoram
    Guest
    #5
    0
    25.02.2021 19:02:00
    Думаю, это правильно — у меня тоже не указан protocol=OSPF, но уверен, что это не проблема. Я читаю твой пост и конфигурацию с телефона, поэтому немного тяжело уследить. Если всё ещё возникают трудности, могу поделиться своим примером.
     
     
     
    Funboy
    Guest
    #6
    0
    25.02.2021 19:03:00
    Но проблема остаётся прежней — GRE отключается каждые 10-20 секунд.
     
     
     
    sjoram
    Guest
    #7
    0
    25.02.2021 19:17:00
    Дай-ка я ещё раз гляну на твою конфигурацию, когда буду за компьютером, и отпишусь. Мне кажется, что у моего GRE-туннеля настройки немного отличаются от твоих.
     
     
     
    Funboy
    Guest
    #8
    0
    25.02.2021 19:17:00
    Окей, заранее спасибо!
     
     
     
    sjoram
    Guest
    #9
    0
    26.02.2021 20:39:00
    Здесь много разных факторов, из-за которых у тебя могут возникать проблемы, и без возможности сравнить настройки обоих роутеров бок о бок сложно понять, в чем именно дело. Можешь выложить полные конфигурации с обеих сторон, скрыв при этом всю конфиденциальную информацию вроде паролей, общих ключей, публичных IP и так далее? По возможности не убирай внутренние приватные адреса.
     
     
     
    sjoram
    Guest
    #10
    0
    25.02.2021 22:31:00
    Прежде всего, предполагаю, что ваша политика IPsec Phase 1/2 работает и вы можете пинговать между двумя точками? Хотя отмечу, что у вас, похоже, несоответствие между масками /30 и /32. Лучше, чтобы интерфейс GRE-туннеля на каждой стороне имел маску не меньше /30. Думаю, здесь может быть сразу несколько проблем… Я бы советовал настроить Bridge без портов-участников и назначить ему IP-адрес (это похоже на loopback-интерфейс, например, на Cisco-роутере) — теоретически можно использовать маску /32. Используйте этот адрес для локального и удалённого IP для GRE-туннеля на каждой стороне. Похоже, что вы не настроили локальный адрес, а удалённый адрес в вашем выводе скрыт, поэтому я предполагаю, что это не приватный адрес, работающий через IPsec-туннель. Вам нужно исключить IP-адреса Bridge, которые используются для GRE-туннеля, из OSPF. Также стоит отфильтровать маршрут по умолчанию и адрес следующего хопа вашего WAN. Ниже приведены релевантные части моей конфигурации с одной стороны — надеюсь, это поможет вам:

    /ip ipsec policy add dst-address=192.168.255.4/30 peer=xxx proposal=xxx sa-dst-address=xx.xxx.xxx.xx sa-src-address=xx.xxx.xxx.xxx src-address=192.168.255.0/30 tunnel=yes  
    /interface bridge add name=GRE_for_OSPF  
    /ip address add address=192.168.255.1/30 interface=GRE_for_OSPF network=192.168.255.0  
    /ip address add address=192.168.10.1/30 interface=ospf_gre network=192.168.10.0  
    /interface gre add local-address=192.168.255.1 name=ospf_gre remote-address=192.168.255.5  
    /routing ospf instance set [ find default=yes ] distribute-default=if-installed-as-type-1 in-filter=xxx-In name=xxx out-filter=xxx-Out redistribute-connected=as-type-1 redistribute-other-ospf=as-type-1 router-id=192.168.10.1
    /routing ospf network add area=backbone network=192.168.10.0/30  
    /routing filter add action=discard chain=xxx-In prefix=0.0.0.0/0 (маршрут по умолчанию с удалённого роутера)  
    add action=discard chain=xxx-In prefix=xx.xx.xxx.xxx (PPPoE WAN интерфейс клиента, адрес следующего хопа по умолчанию с удалённого роутера)  
    add action=discard chain=xxx-In prefix=192.168.2.0/24 (управление DSL-модемом eth1 на удалённом роутере)  
    add action=discard chain=xxx-In prefix=192.168.88.0/24 (IP по умолчанию MT на стандартном bridge — удалённый роутер)  
    add action=discard chain=xxx-In prefix=192.168.255.4/30 (Bridge для GRE на удалённом роутере)  
    add action=discard chain=xxx-In prefix=xxx.xxx.xxx.xx/29 (публичные IP на удалённом роутере)  
    add action=discard chain=xxx-Out prefix=0.0.0.0/0 (маршрут по умолчанию с локального роутера)  
    add action=discard chain=xxx-Out prefix=xx.xx.xxx.xxx (PPPoE WAN интерфейс клиента, адрес следующего хопа по умолчанию с локального роутера)  
    add action=discard chain=xxx-Out prefix=192.168.2.0/24 (управление DSL-модемом eth1 на локальном роутере)  
    add action=discard chain=xxx-Out prefix=192.168.88.0/24 (IP по умолчанию MT на стандартном bridge — локальный роутер)  
    add action=discard chain=xxx-Out prefix=192.168.255.0/30 (Bridge для GRE на локальном роутере)  
    add action=discard chain=xxx-Out prefix=xx.xxx.xxx.xxx/29 (публичные IP на локальном роутере)

    /ip firewall filter  
    add action=accept chain=input comment=OSPF dst-address-list=OSPF protocol=icmp src-address-list=OSPF  
    add action=accept chain=forward dst-address-list=OSPF protocol=icmp src-address-list=OSPF  
    add action=accept chain=output dst-address-list=OSPF protocol=icmp src-address-list=OSPF  
    add action=accept chain=input dst-address-list=OSPF protocol=ospf src-address-list=OSPF  
    add action=accept chain=forward dst-address-list=OSPF protocol=ospf src-address-list=OSPF  
    add action=accept chain=output dst-address-list=OSPF protocol=ospf src-address-list=OSPF  
    add action=accept chain=input dst-address-list=OSPF protocol=igmp src-address-list=OSPF  
    add action=accept chain=forward dst-address-list=OSPF protocol=igmp src-address-list=OSPF  
    add action=accept chain=output dst-address-list=OSPF protocol=igmp src-address-list=OSPF

    /ip firewall address-list  
    add address=224.0.0.1 list=OSPF  
    add address=224.0.0.5 list=OSPF  
    add address=224.0.0.6 list=OSPF  
    add address=192.168.10.0/30 list=OSPF

    /ip firewall nat  
    add action=accept chain=srcnat dst-address=192.168.255.4/30 src-address=192.168.255.0/30  
    add action=accept chain=srcnat out-interface=ospf_gre
     
     
     
    Funboy
    Guest
    #11
    0
    26.02.2021 18:23:00
    Я попробовал согласно твоему совету, но всё равно отключается. Хотя я не собираюсь сдаваться.
     
     
     
    sjoram
    Guest
    #12
    0
    26.02.2021 18:40:00
    Судя по моему опыту, пока я не настроил всё правильно, скорее всего проблема в ваших фильтрах маршрутов, которые позволяют определённому подключённому маршруту рекламироваться соседу и тем самым нарушают GRE-туннель. Когда туннель падает, падает и OSPF, в результате маршрутизация восстанавливается… Потом GRE поднимается, маршрут снова рекламируется… и так по кругу! Вы используете адрес из диапазона RFC1918 в качестве локального и удалённого адреса GRE-туннеля? В вашем pastebin не указан локальный адрес, а удалённый вы отредактировали… Если у вас нет конфликтующих подсетей, попробуйте использовать именно адресацию из моего конфига и посмотрите, сработает ли у вас… а затем отталкивайтесь от этого, чтобы добиться работы с нужными вам адресами.
     
     
     
    Funboy
    Guest
    #13
    0
    26.02.2021 19:09:00
    Я использую эти подсети:  
    GRE_Loopback: 172.16.1.0/30 (могу пинговать обе стороны с обеих направлений)  
    GRE_Tunnel: 172.16.2.0/30 (тоже могу пинговать обе стороны с обеих направлений)  
    Соседний маршрут LHG: 192.168.1.0/24  
    Соседние маршруты HEX:  
    10.10.11.0/24  
    10.10.12.0/24  
    10.10.13.0/24  
    10.10.14.0/24  
    10.10.15.0/24  
    10.10.16.0/24  
    10.10.17.0/24  
    10.10.100.0/24  
    10.10.110.0/24  
    10.10.120.0/24  
    Могу ли я использовать эти подсети?
     
     
     
    sjoram
    Guest
    #14
    0
    26.02.2021 19:40:00
    Итак, вы хотите, чтобы адреса «loopback» интерфейсов моста находились в разных подсетях на каждом маршрутизаторе. Адреса, назначенные самому туннелю, могут быть в одной и той же подсети /30. Вы хотите, чтобы адреса моста были отфильтрованы из OSPF с обеих сторон. Вот как у меня настроено:

    Маршрутизатор 1: 192.168.255.1/30 — мост  
    Маршрутизатор 1: 192.168.10.1/30 — GRE  
    Маршрутизатор 2: 192.168.255.5/30 — мост  
    Маршрутизатор 2: 192.168.10.2/30 — GRE  

    Фильтры маршрутов:  
    Маршрутизатор 1  
    Вход: discard 192.168.255.4/30  
    Выход: discard 192.168.255.0/30  

    Маршрутизатор 2  
    Вход: discard 192.168.255.0/30  
    Выход: discard 192.168.255.4/30  

    Если у вас больше одного экземпляра, можно сделать несколько цепочек правил — просто проверьте, что применяется правильная.
     
     
     
    sjoram
    Guest
    #15
    0
    26.02.2021 19:51:00
    Также проверьте, что идентификатор вашего роутера использует адрес, назначенный локальному интерфейсу GRE-туннеля с каждой стороны.
     
     
     
    Funboy
    Guest
    #16
    0
    26.02.2021 20:33:00
    Я проверил их. На стороне HEX следующий хоп 10.0.0.1, когда я фильтрую так:  
    /routing filter add action=discard chain=GRE_OSPF_IN prefix=10.0.0.1 — это работает идеально.  
    Добавляю:  
    action=discard chain=GRE_OSPF_IN prefix=172.16.1.0/30 — не работает.  
    action=discard chain=GRE_OSPF_OUT prefix=172.16.1.0/30 — тоже не работает.
     
     
     
    Funboy
    Guest
    #17
    0
    26.02.2021 20:52:00
    Вот текущая конфигурация: https://pastebin.com/JNeyg8gU
     
     
     
    sjoram
    Guest
    #18
    0
    26.02.2021 21:14:00
    Хорошо, думаю, проблема в том, что IP, который ты назначил мосту с каждой стороны, находится в одной подсети (172.16.1.0/30). На каждом роутере он должен быть в разных подсетях. Можно оставить те же IP, но тогда нужно использовать маски /32. Если это не сработает, попробуй использовать сети 172.16.1.0/30 и 172.16.1.4/30 с IP-адресами 172.16.1.1 и 172.16.1.5. Обнови IP-адреса, назначенные мостам, а потом и политики IPsec, фильтры маршрутов и локальный/удалённый адрес для GRE-туннеля с каждой стороны.
     
     
     
    Funboy
    Guest
    #19
    0
    27.02.2021 10:43:00
    Я сделал предложение, как ты сказал:  
    HEX: GRE_Loopback: 172.16.1.0/30  
    DIGI_LTE_GRE: 172.16.2.1/30  
    LTE: GRE_Loopback: 172.16.1.4/30  
    LTE_DIGI_GRE: 172.16.2.2/30  

    Фильтры:  
    HEX:  
    /routing filter add action=discard chain=GRE_OSPF_IN prefix=172.16.1.4/30  
    add action=discard chain=GRE_OSPF_OUT prefix=172.16.1.0/30  
    add action=discard chain=GRE_OSPF_IN prefix=172.16.2.0/30  
    add action=discard chain=GRE_OSPF_OUT prefix=172.16.2.0/30  

    LTE:  
    /routing filter add action=discard chain=ospf-in prefix=10.0.0.1 ( HEX next hop )  
    add action=discard chain=ospf-in prefix=172.16.1.0/30  
    add action=discard chain=ospf-out prefix=172.16.1.4/30  
    add action=discard chain=ospf-in prefix=172.16.2.0/30  
    add action=discard chain=ospf-out prefix=172.16.2.0/30  

    GRE всё равно отключается.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры