• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
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 Nov 20, 2016, 7:53 PM

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

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

    1 Reply Last reply Reply Quote 0
    • W
      werter
      last edited by Nov 21, 2016, 10:22 AM Nov 21, 2016, 10:19 AM

      Доброе.
      Версия пф ? Галка в 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 Nov 21, 2016, 12:22 PM

        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 Nov 22, 2016, 9:30 AM

          И ещё скину настройки 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 Nov 24, 2016, 2:14 PM

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

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

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

            1 Reply Last reply Reply Quote 0
            • W
              werter
              last edited by Nov 25, 2016, 7:16 AM

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

              1 Reply Last reply Reply Quote 0
              • I
                Igor Filth
                last edited by Nov 26, 2016, 9:20 PM

                Настроил через 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
                • W
                  werter
                  last edited by Nov 27, 2016, 5:27 PM

                  Доброе.
                  Можно скрины настроек 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 Nov 28, 2016, 9:45 AM

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

                    1 Reply Last reply Reply Quote 0
                    • I
                      Igor Filth
                      last edited by Nov 28, 2016, 1:26 PM

                      Скрины приложил, 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
                      • W
                        werter
                        last edited by Nov 28, 2016, 1:52 PM

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

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

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

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

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

                        1 Reply Last reply Reply Quote 0
                        • I
                          Igor Filth
                          last edited by Nov 28, 2016, 2:14 PM Nov 28, 2016, 2:05 PM

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

                          Значения 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 Nov 28, 2016, 2:14 PM

                            @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 Nov 28, 2016, 2:33 PM

                              Ребята, насчёт скорости прошу прошения. Сейчас скорость не 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 Nov 29, 2016, 7:49 PM

                                Рискнул попробовать применить директивы "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 Nov 30, 2016, 6:57 AM Nov 30, 2016, 6:52 AM

                                  @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
                                  • W
                                    werter
                                    last edited by Nov 30, 2016, 7:41 AM

                                    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 Nov 30, 2016, 9:55 AM

                                      @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
                                      • I
                                        Igor Filth
                                        last edited by Nov 30, 2016, 12:53 PM Nov 30, 2016, 12:29 PM

                                        2 werter
                                        Попробую включить и потестировать  на выходных.

                                        На всякий случай напишу конфиг своего сервера: 2 процессора Xeon E5620, 8 гб оперативки, sas диски в 10 RAID (ST3600057SS), pf крутится на виртуалке HV 2012R2.

                                        pigbrother
                                        Если несложно напишите в чём именно была неадекватность, чтобы я сразу обратил на это внимание?

                                        P.S. Сегодня руководство дало согласие выделить определённую сумму на новые 1U сервера для шлюзов, если это поможет поднять скорость хотя бы до 450-500 Мбит/c. Хотелось бы понять какой процессор для этого выбрать - с большей частотой или также обратить внимание на количество ядер. Лучше брать xeon? Или может быть собрать сервер на обычных i5-i7?

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pigbrother
                                          last edited by Nov 30, 2016, 1:43 PM Nov 30, 2016, 1:32 PM

                                          Если несложно напишите в чём именно была неадекватность, чтобы я сразу обратил на это внимание?

                                          У меня нет опыта с таким VPN-трафиком, но свои предположения постараюсь изложить подробнее.
                                          Цифры загрузки CPU вы смотрите в дашбоарде (главной странице) pfSense? Если так, то вы видите усредненную загрузку всех ядер процессора.

                                          OpenVPN - однопоточное приложение, если грубо - один экземпляр OpenVPN сервера или клиента - одно ядро. Массивный трафик вполне способен это ядро загрузить полностью и проявится ограничение скорости. Контролировать загрузку CPU при работе OVPN надо в консоли - или локально на pfSense, или через SSH, предварительно SSH включив в настройках pfSense.
                                          В консоли - пункт 8 - Shell.
                                          Затем набрать top
                                          в выводе top наблюдать сколько ядер и на сколько загружает процесс openvpn

                                          P.S. Сегодня руководство дало согласие выделить определённую сумму на новые 1U сервера для шлюзов, если это поможет поднять скорость хотя бы до 450-500 Мбит/c. Хотелось бы понять какой процессор для этого выбрать - с большей частотой или также обратить внимание на количество ядер. Лучше брать xeon? Или может быть собрать сервер на обычных i5-i7?

                                          Я уже приводил ссылку:
                                          https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux#no1
                                          450-500 Мбит/c - почти предел для OpenVPN.
                                          Как вариант, вероятно - поднимать несколько серверов на разных портах, на удаленной стороне - несколко клиентов и распределять нагрузку между ними.

                                          Процессоры выбирайте какие позволяет бюджет, удостоверьтесь в поддержке ими AES-NI,
                                          https://doc.pfsense.org/index.php/Are_cryptographic_accelerators_supported
                                          пока OpenVPN с AES-NI использует не очень эффективно, но ситуация меняется.

                                          pf крутится на виртуалке HV 2012R2.
                                          Соберите тестовый стенд на голом железе. Желательно - с хорошими сетевыми картами. Прогонять такой трафик через виртуальные сетевые карты и коммутаторы для гипервизора задача непростая, плюс поддержка AES-NI в виртуальную машину с хоста, скорее всего, не переносится.

                                          1 Reply Last reply Reply Quote 0
                                          29 out of 73
                                          • First post
                                            29/73
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received