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

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

    Russian
    4
    73
    680.1k
    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

      Скрины приложил, 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
                      • I
                        Igor Filth
                        last edited by

                        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

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

                          У меня нет опыта с таким 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
                          • werterW
                            werter
                            last edited by

                            Я бы посмотрел в сторону чего-то из совсем свежего на Intel Kaby Lake.

                            pf крутится на виртуалке HV 2012R2.

                            Посмотрите в сторону Proxmox + software zfs raid 10 (из коробки) - универсальное bare metal решение. Управление из веб-гуи (html 5), бэкапы из коробки и по расписанию (!), кластер из коробки, zfs (copy-on-write) и все это даром.

                            Зачем вам Вин в кач-ве гипервизора? Зациклились все на этом гипер-в :'(

                            P.s. Еще и NAS бы настроил на nas4free (http://2gusia.livejournal.com/tag/nas4free)

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

                              Еще пара ссылок на тему:
                              https://forum.pfsense.org/index.php?topic=35669.0

                              Looks like when you setup multiple openvpn instances it sets up additional processes:
                              eg…
                              root    38648  0.0  0.2  5116  3516  ??  Ss    6:18PM  0:00.00 openvpn --config /var/etc/openvpn/server2.conf
                              root    40283  0.0  0.2  5116  3764  ??  Ss  11:38AM  0:04.11 openvpn --config /var/etc/openvpn/server1.conf

                              So in principle you could setup multiple processes this way, each listening on a different port and use the load balancer module. (From a quick google openvpn isn't multithreaded)

                              https://sourceforge.net/p/openvpn/mailman/message/27365978/

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

                                Позаимствовал на время у сотрудников 2 более-менее мощных компьютера (процессоры i5-4690 и i3-4130)
                                Поднял на них hyper-v и pfsense.
                                Скорость ovpn туннеля поднялась, но незначительно - до 14 МБ/с. Процессор на  i3 при этом нагрузился порядочно (~80%). Смотрел через ssh top’ом.
                                Пробовал отключать шифрование, включать аппаратную поддержку – на скорость это не влияло вообще никак.

                                Затем поставил PF на эти же компьютеры, но без hyper-v – скорость более 50 МБ/c, нагрузка на i3 примерно 60%.

                                Теперь отвечу почему hyper-v. Решение руководства. Якобы, на винде всё проще.
                                Сейчас уже заменить на proxmox немного проблематично – нужно всё полностью протестировать; показать руководству и убедить, что так лучше; научить человека, который меня замещает им пользоваться и поехать «в командировку» в выходной день всё это дело развернуть и настроить.

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

                                  @Igor:

                                  Теперь отвечу почему hyper-v. Решение руководства. Якобы, на винде всё проще.

                                  Это они гипер-в в "чистом" виде не видели (а не как роль вин-сервера). В чистом виде - также ком. строка (powershell).
                                  Вы его таким покажите рук-ву :)

                                  Скорость ovpn туннеля поднялась, но незначительно - до 14 МБ/с

                                  Поколение вирт. маш. гипер-в - второе ? Сетевая - не legacy ?

                                  P.s. Осталось попробовать vmware esxi и xen.

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User
                                    last edited by

                                    А чего тогда freeBSD используют то? Ну и настраивали бы все на голой винде, там тоже все есть, каналы будут работать винда-винда, там L2TP помоему в нативе, только работает через одно место, да и глючит частенько… Я както пробовал ради интереса, за сутки канал раз 10 упал.
                                    Предложите им такой вариант, пусть понюхают, как винда на самом деле работает в данных решениях.
                                    Простите за офтоп...

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

                                      Это они гипер-в в "чистом" виде не видели (а не как роль вин-сервера). В чистом виде - также ком. строка (powershell).
                                      Вы его таким покажите рук-ву :)

                                      Так оно в чистом виде и используется) Чтобы бесплатно было)

                                      Поколение вирт. маш. гипер-в - второе ? Сетевая - не legacy ?

                                      Поколение первое. Не стал пока со вторым разбираться для невиндовых os. Но могу и на втором развернуть. Сетевая не legacy.

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

                                        Для начала было бы неплохо протестировать скорости на proxmox.
                                        нагрузка на i3 примерно 60%
                                        Странно. На "железном" pf 50 Мбит OpenVPN  нагружают Celeron N3150 менее, чем на 50%.
                                        Кстати, а просто 50 Мбит не OpenVPN трафика насколько загружают CPU?
                                        Если ощутимо - виноваты сетевые карты\обработка прерываний.

                                        Смотреть так:

                                        top -aSH

                                        12 root      -92    -    0K  640K WAIT    0 769:24  4.20% [intr{irq268: igb2[/b]:que}]

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

                                          pigbrother

                                          50 Мегабайт, а не мегабит  ;)

                                          Ставлю proxmox на свой стенд

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

                                            @Igor:

                                            pigbrother

                                            50 Мегабайт, а не мегабит  ;)

                                            Ставлю proxmox на свой стенд

                                            Тогда другое дело  ;D

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