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

    Два провайдера и openvpn клиент

    Scheduled Pinned Locked Moved Russian
    96 Posts 7 Posters 20.7k Views 5 Watching
    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.
    • werterW Offline
      werter
      last edited by werter

      2All

      Кто смогЕт соорудить - отпишитесь. С картинками )
      Спасибо заранее.

      P 1 Reply Last reply Reply Quote 0
      • P Offline
        pigbrother @werter
        last edited by

        @werter said in Два провайдера и openvpn клиент:

        Кто смогЕт соорудить - отпишитесь. С картинками )

        Если вас интересует сторона PF, то ув. @rubic еще в 2013 году делился с нами настойками OSPF, теперь там есть и картинки, пост отредактирован в 2109, за что отдельное спасибо.
        https://forum.netgate.com/topic/53022/openvpn-psk-site-to-site-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F?page=1

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

          Добрый.

          Сам попросил - сам осилил )

          Собственно, настройка OSPF, используя пакет FRR.
          Имеется Головной офис с неск-кими WAN. Имеется клиент, к-ый подключен по OpenVPN к этому офису. Задача обеспечить минимальное время простоя этой связки.

          Создаем и настраиваем P2P Shared key Openvpn серверы и клиенты (если ранее не использовалось). В строках Remote Subnet, Local Subnet ничего не пишем! Проверяем, что VPN-линки поднялись.
          Разрешаем OSPF в fw во вкладке OpenVPN на сервере и клиенте. Ставим это правило самым первым.
          Устанавливаем и на сервере и на клиенте пакет FRR.

          Далее ниже на картинках:

          1 Firewall Rules OpenVPN.png 2 FRR Global Settings client.png 2 FRR Global Settings server.png 3 OSPF Setting.png 4 OSPF Interfaces Edit.png 5 OSPF Interfaces LAN passive.png 6 OSPF Interfaces.png

          Теперь самое интересное.
          Как выдать 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 на клиенте\сервере поправить по ситуации не забываем.

          OSPF Neighbors
          Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
          10.0.0.1 1 Full/DROther 16.819s 10.0.4.1 ovpnc2:10.0.4.2 0 0 0
          10.0.0.1 1 Full/DROther 16.834s 10.0.4.5 ovpnc3:10.0.4.6 0 0 0

          OSPF network routing table
          ============ OSPF network routing table ============
          N 10.0.0.0/24 [20] area: 0.0.0.0
          via 10.0.4.1, ovpnc2
          N 10.0.1.0/24 [10] area: 0.0.0.0
          directly attached to vtnet1

          ============ OSPF router routing table =============
          R 10.0.0.1 [10] area: 0.0.0.0, ASBR
          via 10.0.4.1, ovpnc2

          ============ OSPF external routing table ===========
          N E2 192.168.100.0/28 [10/20] tag: 0
          via 10.0.4.1, ovpnc2
          N E2 192.168.101.0/28 [10/20] tag: 0
          via 10.0.4.1, ovpnc2

          Зы. Насчет скорости переключения в случае пропадания\появления одного из каналов. Это происходит не мгновенно. За это отвечают параметры Retransmit Interval, Hello Interval, Dead Interval в настройках OSPF Interface. По умолчанию это ~50 сек ( Hello Interval 10 сек + Dead Interval 40 сек - соотношение 1:4) Крутите их, если надо быстрее\медленнее.

          P 1 Reply Last reply Reply Quote 1
          • P Offline
            pigbrother @werter
            last edited by

            @werter Спасибо.
            Если можно, пару вопросов:

            1. Почему FRR, а не Quagga?
              2.Почему P2P Shared key? Для простоты? Будет ли работать с PKI?
            1 Reply Last reply Reply Quote 0
            • werterW Offline
              werter
              last edited by werter

              Добрый.

              1. Пакет FRR новее. Пакет Quagga не обновляется с февраля 19-го
              2. P2P с сертификатом должен работать. Пробуйте.
              P 1 Reply Last reply Reply Quote 0
              • P Offline
                pigbrother @werter
                last edited by

                @werter
                Смущает этот костыль:

                @werter said in Два провайдера и openvpn клиент:

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

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

                  @pigbrother
                  Ответ описан выше (со ссылкой).

                  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

                  P 1 Reply Last reply Reply Quote 0
                  • P Offline
                    pigbrother @werter
                    last edited by

                    @werter said in Два провайдера и openvpn клиент:

                    Ответ описан выше (со ссылкой).

                    Поверьте, я его прочитал когда пост был опубликован.

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

                      @pigbrother
                      Возможно, что как-то это решается с пом. настроек FRR. Но моей компетенции не хватает (
                      Может вы или @rubic осилите.

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

                        @El_Ninio
                        Ув. ТС.
                        Могли бы Вы переименовать этот топик во что-то аля "Настройка OpenVPN + OSPF + Mikrotik"
                        Заранее благодарен )

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

                          Добрый.
                          Дополню. Настроил openvpn + ospf для всех своих Филиалов.
                          Пример работы:

                          ospf test.png

                          Был вопрос в том, как организовать выдачу Филиалам маршрута в сеть Головного офиса через ospf. Для себя нашел 2 варианта. Это или засунуть все Филиалы в одну Area c Головным (спорное решение в моем случае) или отдельные Area для каждого Филиала + Static route в сеть Головного офиса . Решил сделать по 2-му варианту (и не забываем про перекрывающую маску в Static route для Головной сети )

                          Зы. В процессе настройки набрел на статью www.opennet.ru/base/net/ospf_over_gre.txt.html . Почерпнул в ней, что если стоимость\вес (Cost) ospf-интерфейсов одинаков, то будет некое подобие load balancing. И что параметр mtu-ignore может помочь при разных mtu на концах туннеля (adsl <-> usb 4G, ethernet <->adsl, криворукие одмины провайдера <-> вы)

                          Также обнаружил интересный проект BSD Router Project (BSDRP)

                          The main goal of BSDRP is not firewalling but routing

                          bsdrp.net/features
                          bsdrp.net/documentation/faq
                          Пример bsdrp.net/documentation/examples/simple_bgp-rip-ospf_lab

                          Исходный код открыт. Вот бы пакет для пф на его основе создали )

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

                            @werter said in Два провайдера и openvpn клиент:

                            Зы. В процессе настройки набрел на статью www.opennet.ru/base/net/ospf_over_gre.txt.html . Почерпнул в ней, что если стоимость\вес (Cost) ospf-интерфейсов одинаков, то будет некое подобие load balancing.

                            Не взлетит на pfSense, думаю. Два маршрута в одну сеть невозможны, метрик нет, multipath не работает

                            1 Reply Last reply Reply Quote 0
                            • P Offline
                              pigbrother
                              last edited by pigbrother

                              @rubic
                              @werter
                              А будет ли работать с PF с поднятым OSPF клиент, на котором обычный клиент Open VPN?

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