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.
    • 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
                                      • ?
                                        A Former User
                                        last edited by

                                        @Igor:

                                        pigbrother

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

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

                                        Нихаха себе канал… 400 мегабит. Для чего используете такую мощь, если не секрет?
                                        Интересно будет посомотреть что его потянет. Ждемс.

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

                                          Вероятно тестировалось через LAN
                                          Если нет - возможно это в пределах одного провайдера\пиринга.
                                          Мой домашний провайдер в таких условиях дает до 1 Гигабита. Правда, не всегда.  ;)

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

                                            Вероятно тестировалось через LAN

                                            Да, верно

                                            Нихаха себе канал… 400 мегабит. Для чего используете такую мощь, если не секрет?
                                            Интересно будет посмотреть что его потянет. Ждемс.

                                            Ну, на i3 начального уровня (без HV), эти скорости и были получены. Так что, не такая и мощная железка нужна)

                                            Лично моё мнение, что такая скорость в целом не нужна, но у некоторые любят побыстрее.
                                            Файл огромный передать моментом из одного офиса в другой или отчеты какие-то построить, где миллионы позиций у нас любят. Там очень много данных по сети гоняется.
                                            В общем, хочешь не хочешь, а придётся исполнять.

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