Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    В чём причина, по которой префиксы IPv4 через пиринг BGP по IPv6 не работают?

    В чём причина, по которой префиксы IPv4 через пиринг BGP по IPv6 не работают?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    В чём причина, по которой префиксы IPv4 через пиринг BGP по IPv6 не работают?, RouterOS
     
    divB
    Guest
    #1
    0
    25.10.2021 04:54:00
    Привет! Для начала, у меня есть один BGP-пир, с которым я могу общаться только через IPv6, но мне нужно анонсировать через него и IPv6, и IPv4 префиксы. Естественно, объявляется только IPv6 префикс, хотя я поставил галочки и на «ip», и на «ipv6» в адресных семействах. Единственное, что я нашёл по этому поводу — это пост http://forum.mikrotik.com/t/ipv4-and-ipv6-on-a-single-bgp-peer/114017/1, который не даёт ни объяснения, ни решения.

    Я просто не могу понять, где ошибка, перепробовал все мыслимые варианты, но IPv4 префикс (1.2.3.0/24) так и не появляется:

    /routing bgp adv print      
    PEER     PREFIX               NEXTHOP          AS-PATH                                                         ORIGIN     LOCAL-PREF
    bgptun... 2a0e:affe:cafe::/46  2a09:affe:cafe:...                                                                 igp

    Ниже моя конфигурация BGP:

    /routing bgp instance  
    set default as=xxxxxx client-to-client-reflection=no router-id=aa.bb.cc.dd  

    /routing bgp network  
    add network=1.2.3.0/24 synchronize=no  
    add network=2a0e:affe:cafe::/46 synchronize=no  

    /routing bgp peer  
    add address-families=ip,ipv6 in-filter=tnl-in multihop=yes name=bgptun out-filter=tnl-out \  
       remote-address=2a09:affe:cafe:180::1 remote-as=yyyyy ttl=default update-source=2a09:cafe:affe:180::2  

    /routing filter  
    add action=accept address-family=ip chain=tnl-out prefix=1.2.3.0/24  
    add action=accept address-family=ipv6 chain=tnl-out prefix=2a0e:affe:cafe::/46  
    add action=reject chain=tnl-out  
    add action=discard chain=tnl-in
     
     
     
    eduplant
    Guest
    #2
    0
    15.12.2021 11:50:00
    Я запустил лабораторную среду и решил попробовать разобраться с этим. У меня тоже проявляется неожиданное поведение, правда немного по-другому. Независимо от того, использую ли я synchronize=no или synchronize=yes вместе со статическим маршрутом двухсторонней фиксации, адрес 1.2.3.0/24 всё равно показывается в /routing bgp advertisements. Но всё не так гладко — он появляется с next hop 0.0.0.0. И это даже при настройке /routing bgp peer с nexthop-choice=force-self. Он просто игнорируется. Поскольку, насколько я знаю, в RouterOS нет способа показать RIB-IN для пира, я решил просто поменять твои, в остальном простые, маршрутизирующие фильтры, чтобы просто логировать префиксы и их принимать. Когда пир поднимается, в логах отправителя фиксируется, что и IPv4, и IPv6 префиксы вызывают срабатывание tnl-out match и отправляются пиру. Но с другой стороны лишь IPv6 префикс вызывает срабатывание tnl-in match и обрабатывается, устанавливаясь в таблицу маршрутизации.

    При более тщательном анализе захвата пакетов BGP TCP сессии видно, что UPDATE для 1.2.3.0/24 NLRI действительно анонсируется, включая NEXT_HOP 0.0.0.0. Насколько я понял, в RFC нет четкого описания поведения при all zeroes NEXT_HOP, и это довольно глубокая техническая тема, которую я не смог до конца разобрать. Но логично предположить, что RouterOS просто отбрасывает такой UPDATE как некорректный — он никогда не попадает в RIB-IN и, соответственно, не доходит до фильтров, чтобы туда попасть в логи.

    Для справки — это всё на версии 6.49.2 stable (на двух CHR). А на какой версии ты проверял? В любом случае я не до конца понимаю, что происходит, и надеюсь, кто-то из поддержки заметит эту проблему, или ты сможешь открыть кейс и направить их сюда.

    Ниже привожу две конфигурации для справки:

    [admin@[LAB]routerA] > exp
    # dec/15/2021 11:48:52 by RouterOS 6.49.2  
    # software id =  
    /interface bridge  
    add name=loopback0 protocol-mode=none  
    /interface wireless security-profiles  
    set [ find default=yes ] supplicant-identity=MikroTik
    /routing bgp instance  
    set default as=64512 client-to-client-reflection=no router-id=1.1.1.1  
    /ip dhcp-client  
    add disabled=no interface=ether1  
    /ipv6 address  
    add address=2a09:affe:cafe:180::1/128 advertise=no interface=loopback0  
    /ipv6 route  
    add distance=1 dst-address=2a09:affe:cafe:180::2/128 gateway=fe80::5200:ff:fe0a:0%ether1  
    /routing bgp network  
    add network=1.2.3.0/24 synchronize=no  
    add network=2a0e:affe:cafc::/46 synchronize=no  
    /routing bgp peer  
    add address-families=ip,ipv6 in-filter=tnl-in name=routerB nexthop-choice=force-self out-filter=tnl-out remote-address=2a09:affe:cafe:180::2  
    /routing filter  
    add action=log chain=tnl-in  
    add action=accept chain=tnl-in  
    add action=log chain=tnl-out  
    add action=accept chain=tnl-out  
    /system identity  
    set name="[LAB]routerA"

    ============================================================­

    [admin@[LAB]routerB] > exp
    # dec/15/2021 11:48:55 by RouterOS 6.49.2  
    # software id =  
    /interface bridge  
    add name=loopback0 protocol-mode=none  
    /interface wireless security-profiles  
    set [ find default=yes ] supplicant-identity=MikroTik
    /routing bgp instance  
    set default as=64512 client-to-client-reflection=no router-id=2.2.2.2  
    /ip dhcp-client  
    add disabled=no interface=ether1  
    /ipv6 address  
    add address=2a09:affe:cafe:180::2/128 advertise=no interface=loopback0  
    /ipv6 route  
    add distance=1 dst-address=2a09:affe:cafe:180::1/128 gateway=fe80::5200:ff:fe09:0%ether1  
    /routing bgp network  
    add network=1.2.3.0/24 synchronize=no  
    add network=2a0e:affe:cafc::/46 synchronize=no  
    /routing bgp peer  
    add address-families=ip,ipv6 in-filter=tnl-in name=routerB nexthop-choice=force-self out-filter=tnl-out remote-address=2a09:affe:cafe:180::1  
    /routing filter  
    add action=log chain=tnl-in  
    add action=accept chain=tnl-in  
    add action=log chain=tnl-out  
    add action=accept chain=tnl-out  
    /system identity  
    set name="[LAB]routerB"
     
     
     
    eduplant
    Guest
    #3
    0
    15.12.2021 12:15:00
    Обновление: Перераспределение статических маршрутов даёт похожий результат — ожидаемое поведение наблюдается с IPv6-маршрутами, но не с IPv4. Единственный подходящий фиксированный статический маршрут для 1.2.3.0/24 проходит через исходящий фильтр, но не через входящий на другой стороне. Захват пакетов показывает, что он снова уходит с nexthop 0.0.0.0. Ради забавы я попробовал в v7.1stable. Конфигурация BGP для меня пока ещё немного в новинку. Хорошая новость в том, что если перераспределять статику, то и v4, и v6 префиксы корректно анонсируются и принимаются. Но с новым способом генерации через output.network в настройках bgp через routing у меня сейчас проблемы. Даже если это работает, я не уверен, как это будет работать в данном случае, ведь ip firewall address-list и ipv6 firewall address-list — это разные вещи. Не уверен, позволяет ли система указывать несколько списков. При указании одного префикс вроде не анонсируется, хотя задействованный статический маршрут есть. Загадочно, но я меньше склонен думать, что проблема в конфигурации, чем было бы с v6.
     
     
     
    eduplant
    Guest
    #4
    0
    15.12.2021 19:03:00
    Я делал это поздно ночью и, похоже, был немного сонным. Проснувшись утром и подумав спокойнее, конечно, нет IPv4 NEXT_HOP, потому что не было настроено IPv4-адреса для использования. У тебя в конфигурации хотя бы один IPv4-адрес настроен для транспортировки?  
    edit: Вот именно, в этом была проблема. К тому же, если используешь nexthop-choice=force-self, нужно обязательно убедиться, что установлен маршрут до следующего хопа. Учусь много о реализации BGP в Mikrotik, в частности, насколько раздражает то, что нельзя напрямую посмотреть RIB-IN.
     
     
     
    wsftech
    Guest
    #5
    0
    17.09.2022 18:49:00
    eduplant, у тебя получилось это запустить в контексте заявленной поддержки RFC5549? У меня afi4 через IPv6-пиринги, но маршруты не становятся активными. Я могу управлять gw / gw-interface с помощью маршрутных фильтров, но активируются только статические IPv4-маршруты с IPv6 next-hop. Есть какие-нибудь советы? Спасибо.
     
     
     
    RcRaCk2k
    Guest
    #6
    0
    13.03.2025 21:31:00
    RFC8950 — Реклама информации о достижимости IPv4 Network Layer (NLRI) с IPv6 Next Hop. На сегодняшний день, 2025-03-13, в версии 7.18.2 нельзя маршрутизировать IPv4 поверх IPv6 BGP-соединения. Маршруты отображаются на каждом из маршрутизаторов, но остаются недоступными из-за отсутствия маршрутизации через inet6.

    В Linux это можно сделать так:  
    $ ip route default via inet6 fe80::21b:21ff:febb:6934 dev wlp0s20f3 src 169.265.0.30
     
     
     
    mrz
    Guest
    #7
    0
    14.03.2025 07:17:00
    Чтобы было понятно, маршрутизация ipv4 через ipv6 работает.  
    [admin@CCR2004_2XS_111] /ip/route> add dst-address=1.2.3.4 gateway=fe80::de2c:6eff:fec5:a7ff%sfp-sfpplus1
    [admin@CCR2004_2XS_111] /ip/route> print
    ...  
    1  As  1.2.3.4/32          fe80::de2c:6eff:fec5:a7ff%sfp-sfpplus1         1  

    Пока что единственное, что не реализовано — это RFC8950, который позволяет рекламировать ipv6 nexthops для IPv4 NLRIs.
     
     
     
    netravnen
    Guest
    #8
    0
    17.06.2025 19:07:00
    Похоже, ты не добавил текст для перевода. Пожалуйста, пришли его, и я с радостью помогу!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры