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.
    • 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.