Отказоустойчивый ipsec vpn через multiwan
-
А какова загрузка 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 отключено.
-
Ребята, насчёт скорости прошу прошения. Сейчас скорость не 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Мбайт. -
Рискнул попробовать применить директивы "sndbuf 100000; rcvbuf 100000; " сейчас.
На скорости никак не отразилось - в процессе передачи файла размером примерно 4ГБ она менялась от 8.3 МБ/c до 10.7 МБ/c. Нагрузка на камень в процессе передачи была от 30 до 41% на сервере и от 19 до 28 на клиенте pf ( на клиенте чуть помощнее проц) -
Рискнул попробовать применить директивы "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 -
2 Igor Filth
Попробуйте вкл. аппаратную поддержку шифрования для Openvpn (как советовал ув. pigbrother).https://forum.pfsense.org/index.php?topic=120625.0
-
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 явно съел бы одно ядро полностью. -
2 werter
Попробую включить и потестировать на выходных.На всякий случай напишу конфиг своего сервера: 2 процессора Xeon E5620, 8 гб оперативки, sas диски в 10 RAID (ST3600057SS), pf крутится на виртуалке HV 2012R2.
pigbrother
Если несложно напишите в чём именно была неадекватность, чтобы я сразу обратил на это внимание?P.S. Сегодня руководство дало согласие выделить определённую сумму на новые 1U сервера для шлюзов, если это поможет поднять скорость хотя бы до 450-500 Мбит/c. Хотелось бы понять какой процессор для этого выбрать - с большей частотой или также обратить внимание на количество ядер. Лучше брать xeon? Или может быть собрать сервер на обычных i5-i7?
-
Если несложно напишите в чём именно была неадекватность, чтобы я сразу обратил на это внимание?
У меня нет опыта с таким VPN-трафиком, но свои предположения постараюсь изложить подробнее.
Цифры загрузки CPU вы смотрите в дашбоарде (главной странице) pfSense? Если так, то вы видите усредненную загрузку всех ядер процессора.OpenVPN - однопоточное приложение, если грубо - один экземпляр OpenVPN сервера или клиента - одно ядро. Массивный трафик вполне способен это ядро загрузить полностью и проявится ограничение скорости. Контролировать загрузку CPU при работе OVPN надо в консоли - или локально на pfSense, или через SSH, предварительно SSH включив в настройках pfSense.
В консоли - пункт 8 - Shell.
Затем набрать top
в выводе top наблюдать сколько ядер и на сколько загружает процесс openvpnP.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 в виртуальную машину с хоста, скорее всего, не переносится. -
Я бы посмотрел в сторону чего-то из совсем свежего на 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)
-
Еще пара ссылок на тему:
https://forum.pfsense.org/index.php?topic=35669.0Looks 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.confSo 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/
-
Позаимствовал на время у сотрудников 2 более-менее мощных компьютера (процессоры i5-4690 и i3-4130)
Поднял на них hyper-v и pfsense.
Скорость ovpn туннеля поднялась, но незначительно - до 14 МБ/с. Процессор на i3 при этом нагрузился порядочно (~80%). Смотрел через ssh top’ом.
Пробовал отключать шифрование, включать аппаратную поддержку – на скорость это не влияло вообще никак.Затем поставил PF на эти же компьютеры, но без hyper-v – скорость более 50 МБ/c, нагрузка на i3 примерно 60%.
Теперь отвечу почему hyper-v. Решение руководства. Якобы, на винде всё проще.
Сейчас уже заменить на proxmox немного проблематично – нужно всё полностью протестировать; показать руководству и убедить, что так лучше; научить человека, который меня замещает им пользоваться и поехать «в командировку» в выходной день всё это дело развернуть и настроить. -
Теперь отвечу почему hyper-v. Решение руководства. Якобы, на винде всё проще.
Это они гипер-в в "чистом" виде не видели (а не как роль вин-сервера). В чистом виде - также ком. строка (powershell).
Вы его таким покажите рук-ву :)Скорость ovpn туннеля поднялась, но незначительно - до 14 МБ/с
Поколение вирт. маш. гипер-в - второе ? Сетевая - не legacy ?
P.s. Осталось попробовать vmware esxi и xen.
-
А чего тогда freeBSD используют то? Ну и настраивали бы все на голой винде, там тоже все есть, каналы будут работать винда-винда, там L2TP помоему в нативе, только работает через одно место, да и глючит частенько… Я както пробовал ради интереса, за сутки канал раз 10 упал.
Предложите им такой вариант, пусть понюхают, как винда на самом деле работает в данных решениях.
Простите за офтоп... -
Это они гипер-в в "чистом" виде не видели (а не как роль вин-сервера). В чистом виде - также ком. строка (powershell).
Вы его таким покажите рук-ву :)Так оно в чистом виде и используется) Чтобы бесплатно было)
Поколение вирт. маш. гипер-в - второе ? Сетевая - не legacy ?
Поколение первое. Не стал пока со вторым разбираться для невиндовых os. Но могу и на втором развернуть. Сетевая не legacy.
-
Для начала было бы неплохо протестировать скорости на 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}]
-
pigbrother
50 Мегабайт, а не мегабит ;)
Ставлю proxmox на свой стенд
-
-
pigbrother
50 Мегабайт, а не мегабит ;)
Ставлю proxmox на свой стенд
Нихаха себе канал… 400 мегабит. Для чего используете такую мощь, если не секрет?
Интересно будет посомотреть что его потянет. Ждемс. -
Вероятно тестировалось через LAN
Если нет - возможно это в пределах одного провайдера\пиринга.
Мой домашний провайдер в таких условиях дает до 1 Гигабита. Правда, не всегда. ;) -
Вероятно тестировалось через LAN
Да, верно
Нихаха себе канал… 400 мегабит. Для чего используете такую мощь, если не секрет?
Интересно будет посмотреть что его потянет. Ждемс.Ну, на i3 начального уровня (без HV), эти скорости и были получены. Так что, не такая и мощная железка нужна)
Лично моё мнение, что такая скорость в целом не нужна, но у некоторые любят побыстрее.
Файл огромный передать моментом из одного офиса в другой или отчеты какие-то построить, где миллионы позиций у нас любят. Там очень много данных по сети гоняется.
В общем, хочешь не хочешь, а придётся исполнять.