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

    Отказоустойчивый ipsec vpn через multiwan

    Scheduled Pinned Locked Moved Russian
    73 Posts 4 Posters 680.1k 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.
    • I
      Igor Filth
      last edited by

      Прошу прощения.  ::)  Решил, что OpenVPN только в первом варианте.

      Тогда буду настраивать по третьему варианту. Пока не знаю, что такое OSPF, но буду разбираться.
      Если не получится, то попробую OpenVPN.

      Получается, IPSEC в режим транспорт перевести, поверх поднять GRE туннели, а затем настраивать OSPF.

      1 Reply Last reply Reply Quote 0
      • I
        Igor Filth
        last edited by

        Добрый вечер!

        Решил перейти на Openvpn.
        Поднял 2 туннеля pki между офисами оф1ван1-оф2ван1 и оф1ван2-оф2ван2 с настройками точь-в-точь,  как в инструкции из этого топика https://forum.pfsense.org/index.php?topic=59081.0

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

        Совместно тоже поднимаются, трафик идёт по одному из них.
        Решил попробовать использовать ospf. Настройки ospf взял из инструкции в  теме по Openvpn psk (
        https://forum.pfsense.org/index.php?topic=58846.0 ).  Опять же, скопировал всё в точности, только где RID использовал свой внешний ip wan1 и в disable redistribution подсети провайдера поменял на свои… Но динамическая маршрутизиция не работает.

        Куда копать, что сделал не так?

        1 Reply Last reply Reply Quote 0
        • I
          Igor Filth
          last edited by

          "После объявить эти впн явными интерфейсами ovpnc1 и ovpnc2 и создать из них группу failover .
          Далее в правилах fw на ЛАН создать самым первым правило , где в src - lan net, dst - удаленная лок. сеть за клиентом , а gw будет группа впн failover, созданная ранее."

          Этот вариант тоже пробовал.
          Но тут вообще странно. После отключения WAN1, у меня вообще перестал работать и инет и связь с центральным офисом.
          Но этот вариант для меня менее предпочтительный, чем с ospf.

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

            Доброе.
            Версия пф ? Галка в S_ystem: Advanced: Miscellaneous : Load Balancing_  на Enable default gateway switching стоит?

            Покажите скрины настроек fw на LAN , openvpn (оба) и явно созданных ovpn-интерфейсах (оба).
            А также System: Gateway Groups: Groups

            1 Reply Last reply Reply Quote 0
            • I
              Igor Filth
              last edited by

              2.3.2-RELEASE-p1
              Галка стоит.

              В данный момент я "разрушил" группу openvpn шлюзов. Воссоздал на скринах как было настроено.
              Скриншоты правил fw на LAN тоже поправил в фото-редакторе, чтобы показать как оно было настроено, т.к. в данную минуту это правило выключено.

              ![LAN Rules CLI.JPG](/public/imported_attachments/1/LAN Rules CLI.JPG)
              ![LAN Rules CLI.JPG_thumb](/public/imported_attachments/1/LAN Rules CLI.JPG_thumb)
              ![LAN Rules SER.JPG](/public/imported_attachments/1/LAN Rules SER.JPG)
              ![LAN Rules SER.JPG_thumb](/public/imported_attachments/1/LAN Rules SER.JPG_thumb)
              OVPN1-IF.JPG
              OVPN1-IF.JPG_thumb
              OVPN2-IF.JPG
              OVPN2-IF.JPG_thumb
              OVPN-CLI1-1.JPG
              OVPN-CLI1-1.JPG_thumb
              OVPN-CLI1-2.JPG
              OVPN-CLI1-2.JPG_thumb
              OVPN-CLI2-1.JPG
              OVPN-CLI2-1.JPG_thumb
              OVPN-CLI2-2.JPG
              OVPN-CLI2-2.JPG_thumb
              OVPN-GRoup.JPG
              OVPN-GRoup.JPG_thumb
              OVPN-SER1-1.JPG
              OVPN-SER1-1.JPG_thumb
              OVPN-SER1-2.JPG
              OVPN-SER1-2.JPG_thumb
              OVPN-SER1-CSO.JPG
              OVPN-SER1-CSO.JPG_thumb
              OVPN-SER2-1.JPG
              OVPN-SER2-1.JPG_thumb
              OVPN-SER2-2.JPG
              OVPN-SER2-2.JPG_thumb
              OVPN-SER2-CSO.JPG
              OVPN-SER2-CSO.JPG_thumb

              1 Reply Last reply Reply Quote 0
              • I
                Igor Filth
                last edited by

                И ещё скину настройки OSPF на тот момент, когда пытался настроить динамическую маршрутизацию (в данный момент выключил сервис)

                На момент снятия скринов интерфейсы OPENVPN не были объявлены явно

                Ifs1-Ospf.JPG
                Ifs1-Ospf.JPG_thumb
                Ifs2-Ospf.JPG
                Ifs2-Ospf.JPG_thumb
                Ospf.JPG
                Ospf.JPG_thumb
                Status.JPG
                Status.JPG_thumb

                1 Reply Last reply Reply Quote 0
                • I
                  Igor Filth
                  last edited by

                  Руководство дало мне последние выходные на исправление ситуации с отказоустойчивостью vpn.

                  В общем, в выходные буду пробовать хоть как-то её организовать.

                  Если по скринам можно сказать, что именно у меня неверно, то очень прошу подсказать. Если нужно что-то ещё выложить или оформить иначе то, что уже вылжено - пишите.

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

                    Доброе
                    С ospf пока не надо мучаться. Настройте просто с пом. создания отдельн. явных ovpn-интерфейсов.
                    После объедените их в Группу failover (loadbalance) и исп. ее в правилах fw на LAN.

                    1 Reply Last reply Reply Quote 0
                    • I
                      Igor Filth
                      last edited by

                      Настроил через ospf.
                      Основная ошибка - то, что были указаны локальная и удалённая подсеть в настройках сервера ovpn.  И добавлен маршрут в client specific overrides. Одним словом, вся маршрутизиция должна быть только через ospf.
                      Также пришлось повозиться с тем, что клиент при падении основного канала не поднимался обратно, выдавая ошибку Unable to contact daemon Service not running?.

                      Единственное, что пока напрягает - скорость vpn канала не поднимается выше 10мбит/с, через ipsec была в районе 35-40 мбит.
                      Если кто знает, как ускорить - подскажите, пожалуйста.

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

                        Доброе.
                        Можно скрины настроек ospf ?

                        Единственное, что пока напрягает - скорость vpn канала не поднимается выше 10мбит/с, через ipsec была в районе 35-40 мбит.
                        Если кто знает, как ускорить - подскажите, пожалуйста.

                        1. Исп. только UDP
                        2. В настр. впн-сервера (-ов) , если тип опенвпн Remotes Access в Адвансед добавить :

                        sndbuf 100000;
                        rcvbuf 100000;
                        push "sndbuf 100000";
                        push "rcvbuf 100000";
                        

                        Если тип p2p, то в Адвансед :

                        sndbuf 100000;
                        rcvbuf 100000;

                        И передернуть впн.

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

                          А какова загрузка CPU для pf на концах туннеля?

                          1 Reply Last reply Reply Quote 0
                          • I
                            Igor Filth
                            last edited by

                            Скрины приложил, Router ID замазал на всякий.

                            Добавление 10.0.8.1/32 , 10.0.9.1/32 и т.д. нужно для исправления ошибки "Unable to contact daemon Service not running?. " при подъёме туннеля после появления инета на WANах.
                            Настройки скринов интерфейсов выкладывать не буду - там просто туннель, метрика и зона. Для интерфейса LAN метрика отсутствует.

                            sndbuf 100000;
                            rcvbuf 100000;

                            • попробую добавить на выходных, спасибо.

                            Камень грузится на 10-20%.

                            OSPF-CLIENT.JPG
                            OSPF-CLIENT.JPG_thumb
                            OSPF-SERVER.JPG
                            OSPF-SERVER.JPG_thumb

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

                              Доброе.
                              Спасибо за скрины ospf.

                              Настройки скринов интерфейсов выкладывать не буду - там просто туннель, метрика и зона. Для интерфейса LAN метрика отсутствует

                              Все же можно выложить , если не затруднит ?

                              Router ID замазал на всякий.

                              Router ID - это внешний ip?

                              1 Reply Last reply Reply Quote 0
                              • I
                                Igor Filth
                                last edited by

                                Ок, держи скрины интерфейсов с клиента. На сервере всё аналогично.

                                Значения Router ID по идее могут быть вообще любыми, но они обязательно должны отличаться друг от друга. Во время тестов пробовал значения 0.0.0.1 и 0.0.0.2 и всё работало.

                                UPD: галочка Accept Filter появилась в результате  попыток исправить ошибку "ошибки "Unable to contact daemon Service not running?. " Скорее всего она не нужна, т.к. пока я не добавил 10.0.8.1/32 , 10.0.9.1/32 и т.д. в Disable Acceptance ошибка не исчезла.

                                OSPF-InterfaceOVPN1.JPG
                                OSPF-InterfaceOVPN1.JPG_thumb
                                OSPF-InterfaceOVPN2.JPG
                                OSPF-InterfaceOVPN2.JPG_thumb
                                OSPF-InterfaceLAN.JPG
                                OSPF-InterfaceLAN.JPG_thumb

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

                                  @pigbrother:

                                  А какова загрузка CPU для pf на концах туннеля?

                                  Немного не в тему.
                                  Обновил pf до 2.3.2_1 х64.
                                  Установил\обновил клиента Windows прямо из Client Export Utility. Получил скорость копирования по SMB 50Мбит.
                                  До этого на 2.2.6 как и у вас было не более 15 Мбит.

                                  Настройки сервера на всякий случай

                                  dev ovpns5
                                  verb 1
                                  dev-type tun
                                  tun-ipv6
                                  dev-node /dev/tun5
                                  writepid /var/run/openvpn_server5.pid
                                  #user nobody
                                  #group nobody
                                  script-security 3
                                  daemon
                                  keepalive 10 60
                                  ping-timer-rem
                                  persist-tun
                                  persist-key
                                  proto udp
                                  cipher AES-128-CBC
                                  auth SHA1
                                  up /usr/local/sbin/ovpn-linkup
                                  down /usr/local/sbin/ovpn-linkdown
                                  client-connect /usr/local/sbin/openvpn.attributes.sh
                                  client-disconnect /usr/local/sbin/openvpn.attributes.sh
                                  local 
                                  tls-server
                                  server 
                                  client-config-dir /var/etc/openvpn-csc/server5
                                  username-as-common-name
                                  auth-user-pass-verify "/usr/local/sbin/ovpn_auth_verify user 'Local Database' true server5" via-env
                                  tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'ra-ovpns-cert' 1"
                                  lport 
                                  management /var/etc/openvpn/server5.sock unix
                                  push "route "
                                  push "route "
                                  ca /var/etc/openvpn/server5.ca 
                                  cert /var/etc/openvpn/server5.cert 
                                  key /var/etc/openvpn/server5.key 
                                  dh /etc/dh-parameters.1024
                                  crl-verify /var/etc/openvpn/server5.crl-verify 
                                  tls-auth /var/etc/openvpn/server5.tls-auth 0
                                  persist-remote-ip
                                  float
                                  topology subnet
                                  reneg-sec 0
                                  ifconfig-pool-persist /var/games/ips.list 0
                                  
                                  

                                  Hardware Crypto  отключено.

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    Igor Filth
                                    last edited by

                                    Ребята, насчёт скорости прошу прошения. Сейчас скорость не 10 Мбит/c, а 10 Мбайт/c. Ну и на IPsec была соотв 35-40 МБайт/c.

                                    pigbrother,
                                    pf у меня уже 2.3.2_1 х64, а клиентом выступает второй pf тоже на 2.3.2_1 х64.

                                    С настройками сервера поиграюсь) Надеюсь, что хватит добавления "sndbuf 100000; rcvbuf 100000;"  В целом настройки схожи с вашими. Пробовал менять шифрование с AES-256-CBC на AES-128-CBC - ничего не поменялось.
                                    Причём на туннеле между медленными резервными WAN (по 100 мбит каждый) скорость в районе 8Мбайт,а на быстрых Гигабитных каналах - около 10Мбайт.

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      Igor Filth
                                      last edited by

                                      Рискнул попробовать применить директивы "sndbuf 100000; rcvbuf 100000; " сейчас.
                                      На скорости никак не отразилось - в процессе передачи файла размером примерно 4ГБ  она менялась от 8.3 МБ/c до 10.7 МБ/c. Нагрузка на камень в процессе передачи была от 30 до 41% на сервере и от 19 до 28 на клиенте pf ( на клиенте чуть помощнее проц)

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

                                        @Igor:

                                        Рискнул попробовать применить директивы "sndbuf 100000; rcvbuf 100000; " сейчас.
                                        На скорости никак не отразилось - в процессе передачи файла размером примерно 4ГБ  она менялась от 8.3 МБ/c до 10.7 МБ/c. Нагрузка на камень в процессе передачи была от 30 до 41% на сервере и от 19 до 28 на клиенте pf ( на клиенте чуть помощнее проц)

                                        CPU многоядерный?Проценты смотрели в дашбоарде?
                                        Гляньте нагрузку в top.
                                        OpenVPN - однопоточное приложение,один инстанс - одно ядро. Вполне возможно оно грузит это ядро на 100%, а дашбоард показывает суммарное потребления CPU всеми ядрами.
                                        Неплохая статья:
                                        Optimizing performance on gigabit networks
                                        Правда про Linux, но в данном случае это не важно.
                                        https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux#no1

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

                                          2 Igor Filth
                                          Попробуйте вкл. аппаратную поддержку шифрования для Openvpn (как советовал ув. pigbrother).

                                          https://forum.pfsense.org/index.php?topic=120625.0

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

                                            @werter:

                                            2 Igor Filth
                                            Попробуйте вкл. аппаратную поддержку шифрования для Openvpn (как советовал ув. pigbrother).

                                            https://forum.pfsense.org/index.php?topic=120625.0

                                            Я пока от нее отказался. Не знаю, с ней ли было связано - но pf после переезда на новую платформу и включения аппаратной поддержки pf стал неадекватно себя вести. Не уверен, что дело в ее включении, пока набираю статистику. После обязательно поэкспериментирую опять.

                                            По поводу загрузки CPU - без аппаратной поддержки 50 Мбит Openvpn загружают одно ядро Celeron N3150 на 40%.
                                            При этом сам pf неплохо себя чувствует на оставшихся 3-х ядрах. При прибл. 100 Мбит Openvpn явно съел бы одно ядро полностью.

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