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.
    • K
      kharkov_max
      last edited by kharkov_max

      Еще раз добрый день.

      Подскажите, не могу понять (или лыжи не едут).
      Есть связка Pfsense2.4.5 и Mikrotik.
      Пытаюсь настроить передачу маршрутов через FRR ospfd в GRE тунеле.
      Между роутерами нет IPSEC, чистый GRE.
      Соседи видят себя с обоих сторон, mikrotik на pfsense передает маршрут, видно его в ospf status и в таблице маршрутизации на pfsense.
      А на mikrotik анонсированный маршрут с pfsense - не появляется.
      Настраиваю FRR ospfd первый раз, возможно упускаю какие то важные ньюансы.
      Пробовал Quagga, но не залетела совсем, как то криво работает ...
      Фаерволы между внешними IP и в тунеле выключены ...
      Все прозрачно должно бегать...

      Заранее спасибо за помощь.

      1 Reply Last reply Reply Quote 0
      • 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.