Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    FRR ospfd не передает маршрут

    Scheduled Pinned Locked Moved Russian
    14 Posts 4 Posters 2.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • viktor_gV
      viktor_g Netgate
      last edited by

      Покажите содержимое /var/etc/frr/ospfd.conf и желательно краткую схему сети
      а Quagga даже не трогайте - она давно не поддерживается

      1 Reply Last reply Reply Quote 0
      • K
        kharkov_max
        last edited by kharkov_max

        password 1111
        log syslog
        interface gre1
          ip ospf network point-to-point
          ip ospf cost 10
          ip ospf authentication message-digest
          ip ospf message-digest-key 1 md5 111
          ip ospf priority 1
          ip ospf retransmit-interval 5
          ip ospf dead-interval 40
          ip ospf hello-interval 10
          ip ospf mtu-ignore
          ip ospf area 1.1.1.1
        
        router ospf
          ospf router-id 192.168.20.14
          log-adjacency-changes detail
          ospf abr-type cisco
          network 192.168.20.0/28 area 1.1.1.1
        

        Схема проста.
        Lan1-R1-Inet-R2-Lan2
        Между R1 и R2 GRE tunnel

        В догонку, если включаю в конфиге ospf Connected Networks - "Redistribute Connected Networks"
        то на mikrotik появляются роуты на внешние IP pfsense..
        Т.е. по идее обмен данными есть...

        1 Reply Last reply Reply Quote 0
        • viktor_gV
          viktor_g Netgate
          last edited by

          Посмотрите снифером что передаёт/принимает OSPFd
          Возможно это баг https://redmine.pfsense.org/issues/9204

          1 Reply Last reply Reply Quote 0
          • K
            kharkov_max
            last edited by

            12:06:12.988870 IP 10.10.30.1 > 224.0.0.5: OSPFv2, Hello, length 48
            12:06:23.036532 IP 10.10.30.1 > 224.0.0.5: OSPFv2, Hello, length 48
            12:06:33.048981 IP 10.10.30.1 > 224.0.0.5: OSPFv2, Hello, length 48
            

            только это ...

            Смотрю еще сюда ...

            > show ip ospf interface 
            gre1 is up
              ifindex 7, MTU 1476 bytes, BW 0 Mbit 
              This interface is UNNUMBERED, Area 0.0.0.0
            

            Смущает UNNUMBERED вроде как frr прекращает работу ...

            1 Reply Last reply Reply Quote 0
            • K
              kharkov_max
              last edited by

              Итого
              FRR на туннельном интерфейсе не будет транслировать свои роуты на удаленный peer т.к. маску интерфейса 30 он меняет на 32 интерфейс становится UNNUMBERED, а через такие интерфейсы он не передает маршруты....
              Это лично мой вывод, если есть другие соображения - пишите ...
              Возможно это баг этой или соседних версий FRR.

              Свой вопрос решил через Quagga.
              Так и не понял почему мне она с первого раза не залетела.
              С нее начинал реализацию ...
              Удалил FRR, поставил Quagga и все заработало.
              Маршруты передаются в обе стороны, все работает, переключает на резервный маршрут и т.д.

              R 1 Reply Last reply Reply Quote 0
              • werterW
                werter
                last edited by werter

                @kharkov_max

                1.https://www.reddit.com/r/PFSENSE/comments/dioq95/frr_ospf_advertise_policy_based_ipsec_subnet/

                1. Когда-то настраивал ospf (frr) + ovpn. Процесс описан тут https://forum.netgate.com/topic/147028/%D0%B4%D0%B2%D0%B0-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-%D0%B8-openvpn-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82/87

                Теперь самое интересное.

                Как выдать OSPF-клиенту маршрут в сеть ЗА сервером (напр., в сеть, к -ая подключена по VPN к серверу) или наоборот?

                Долго перебирал варианты. Пока не наткнулся на https://forum.netgate.com/topic/144153/frr-ospf-distribute-route-for-openvpn-interface/

                Делаем так. В FRR Global Settings на сервере в самом низу в Subnet пишем адрес сети, путь к к-ой хотим по OSPF выдать клиенту.

                НО, маску пишем не ту, к-ая у вас изначально, а перекрывающую ее. Напр., вам надо выдать клиенту по OSPF путь в сеть 192.168.1.0/24 за сервером.

                Для этого пишем в Subnet на сервере 192.168.0.0/23 и в Static Route Target выбираем Interface:Localhost. В топике по ссылке выше

                объяснено почему (FreeBSD only supports one route per matching network so your FRR static route wouldn't stick

                because FreeBSD already has a route in its kernel routing table for the same network. Using a supernet works because

                that route doesn't already exist in your routing table.) И правила fw на клиенте\сервере поправить по ситуации не забываем.

                1 Reply Last reply Reply Quote 0
                • R
                  rubic @kharkov_max
                  last edited by

                  @kharkov_max said in FRR ospfd не передает маршрут:

                  Итого
                  FRR на туннельном интерфейсе не будет транслировать свои роуты на удаленный peer т.к. маску интерфейса 30 он меняет на 32 интерфейс становится UNNUMBERED, а через такие интерфейсы он не передает маршруты....

                  В том-то и дело, что передает, а так бы, ну баг и баг, что поделать? Берем два pfSense актуальной версии, соединяем OpenVPN и сверху FRR OSPF. Все отлично передается и принимается через

                  ovpns1 is up
                    ifindex 7, MTU 1500 bytes, BW 0 Mbit 
                    This interface is UNNUMBERED, Area 0.0.0.0
                  

                  Теперь подключаем к OpenVPN Mikrotik вместо второго pfSense. Соседство устанавливается без проблем, на pfSense появляется марщрут в сеть за Mikrotik'ом, а на Mikrotik'е - ничего, хотя соседство есть и в LSA тоже все, что надо, получено, но в роутах только собственные сети.

                  Казалось бы микротык не микротыкает? Неа... Подключаем его же к старому pfSense с Quagga и все взлетает на ура.
                  Вот такая загадка природы. Эта дрянь мне обновиться не дает..

                  werterW 1 Reply Last reply Reply Quote 0
                  • werterW
                    werter @rubic
                    last edited by werter

                    Добрый.
                    @rubic
                    Ух ты, rubic! Легенда (без шуток)
                    А микрот до 7-ки если обновить? Или bgp пользовать?

                    Зы. Перечитал еще раз. Похоже, баг frr ( Как вариант, пользовать сеть /29+ для впн-сети.

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      rubic @werter
                      last edited by

                      @werter said in FRR ospfd не передает маршрут:

                      Добрый.
                      @rubic
                      Ух ты, rubic! Легенда (без шуток)
                      А микрот до 7-ки если обновить?

                      Привет! Ха-ха) Обновлено все уже было до упора, аж до 7.2rc1, как и pfSense. Тем не менее, обновление-то и помогло, просто я его уже после настройки стенда делал и не посмотрел что там новенького. Так что сенькс за совет!

                      Короче, победил!

                      А дело было так: решил я взяться за эту FRR-ку серьезно. Запустил packet capture и передернул инстанс OSPF на микротике для ясности. И поймалось следующее:

                      09:35:47.118680 AF IPv4 (2), length 72: (tos 0xc0, ttl 1, id 43006, offset 0, flags [none], proto OSPF (89), length 68)
                          10.8.8.1 > 224.0.0.5: OSPFv2, Hello, length 48
                      	Router-ID 172.17.77.1, Backbone Area, Authentication Type: none (0)
                      	Options [External]
                      	  Hello Timer 10s, Dead Timer 40s, Mask 0.0.0.0, Priority 1
                      	  Neighbor List:
                      	    192.168.188.1
                      09:35:48.749817 AF IPv4 (2), length 68: (tos 0x0, ttl 1, id 64964, offset 0, flags [DF], proto OSPF (89), length 64)
                          10.8.8.2 > 224.0.0.5: OSPFv2, Hello, length 44
                      	Router-ID 192.168.188.1, Backbone Area, Authentication Type: none (0)
                      	Options [External]
                      	  Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
                      

                      на что без слез смотреть нельзя, т. к. это netmask mismatch в чистом виде и 0.0.0.0 как бы не равно 255.255.255.0. Но! Если старый микротик сошел бы от этого с ума и сразу же все стало бы ясно, то в 7-ке все тихо-смирно. Ни в логах, нгигде ничего подозрительного, что и было причиной моего тупняка.
                      Стало понятно, что с типом сети на интерфейсе, с которым еще в прошлый раз я бился - беда! А на что менять? Выбор-то невелик, и по смыслу тут PtP, хоть ты тресни! Но для очистки совести полез я еще в микротик, в тип сети OSPF на интерфейсе ovpn клиета. Тыц! А там новинка! Помимо ptp появился еще ptp unnumbered, что как бы намекает. Ну я естественно выбрал его и... winbox вылетел. Но я сразу понял, что попал этой FRR-ке в самую мякотку, что маршруты заработали.

                      Так что вот! Используйте ptp unnumbered на микротике, и будет вам щастье!

                      werterW 2 Replies Last reply Reply Quote 0
                      • werterW
                        werter @rubic
                        last edited by

                        Добрый
                        @rubic
                        Можно инструкцию с картинками по настройке этой связки? Тема актуальная.
                        Заранее благодарен )

                        Зы. По МТ + ospf такое попалось недавно:
                        Приходят не все маршруты OSPF https://настройка-микротик.рф/%d0%bf%d1%80%d0%b8%d1%85%d0%be%d0%b4%d1%8f%d1%82-%d0%bd%d0%b5-%d0%b2%d1%81%d0%b5-%d0%bc%d0%b0%d1%80%d1%88%d1%80%d1%83%d1%82%d1%8b-ospf/

                        R 1 Reply Last reply Reply Quote 0
                        • werterW
                          werter @rubic
                          last edited by werter

                          @rubic
                          Почему не ipsec vti выбран для туннелей? Он же шустрее ovpn. Вроде ros7 умеет ipsec vti.

                          1 Reply Last reply Reply Quote 0
                          • R
                            rubic @werter
                            last edited by

                            @werter said in FRR ospfd не передает маршрут:

                            Добрый
                            @rubic
                            Можно инструкцию с картинками по настройке этой связки?

                            Ну уж нет! Я немало картинок здесь запостил, теперь пусть другие поработают. Настройка тривиальна, подводный камень я сказал как обойти. К тому же, я на форуме не бываю, а по картинкам потом вопросики полезут, как червячки из банки. Кто на них будет отвечать?

                            werterW 1 Reply Last reply Reply Quote 0
                            • werterW
                              werter @rubic
                              last edited by

                              @rubic
                              Жаль (

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.