Производительность IPSec AES-GCM vs OpenVPN AES-GCM на 2.4.5 (2.5.0)
-
Тестирую несколько дней связку с двух pfSense (сугубо для site-to-site), интересно, что быстрее при прочих равных — IPSec AES-GCM 128 vs OpenVPN AES-GCM 128?
Оба firewall с аппаратным AES-NI.
В интернете все (в т.ч. Netgate) очень сильно хвалят IPSec, мол, кернел-спейс, быстрый и т.п. , но все, что я находил в сравнении с OpenVPN было на AES-CBC с IPSec на AES-GCM (например: https://protectli.com/kb/ipsec-performance/ ), но для AES-NI это довольно не честное сравнение, т.к. AES-GCM значительно быстрее AES-CBC и в последнее время OpenVPN поддерживает AES-GCM (в TLS).
По моим ощущениям в тестах, OpenVPN с AES-GCM 128 меньше грузит процессор, чем тот же IPSec с AES-GCM 128, еще момент не в пользу IPSec — в простое постоянно проскакивает загрузка процессора (по логам IPSec постоянно ходят какие-то обмены данными между хостами), хоть и не значительная, но в простое на 10-ти тоннелях это уже будет каких-то 5-10%, тот же OpenVPN, даже при 5-ти тоннелях site-to-site, не удалось заметить какую либо нагрузку в простое (кроме пере согласования TLS ключей раз в час, что сравнимо с постоянной ежесекундной нагрузкой IPSec).
Еще пишут, что у OpenVPN латентность больше. Но и тут ничего подобного — тестировал ping в обоих протоколах, и оба дают почти одинаковую латентность — около 1.5-2 мс.Собственно говоря, я не понимаю, в чем сегодня преимущество IPSec над OpenVPN при наличии AES-GCM у обоих (если не брать в учет некоторые моменты с настройкой)? Поддержка многопоточности у IPSec — если есть аппаратная поддержка AES-NI, то, как правило, все упирается в гигабит интерфейса и здесь OpenVPN может оказаться даже производительнее, т.к. накладных расходов (в UDP) у него даже меньше.
Лично мне, IPSec кажется даже менее гибким и более сложным, чем OpenVPN (та же возня с фейковыми шлюзами для маршрутизации, настройка VTI и т.п., что у OpenVPN после настройки туннеля значительно проще).
P.S.
Есть еще революционный WireGuard, но пока до pfSense не дошел, там преимущество очевидное над обоими протоколами. -
@Gektor В плане гибкости, да, OpenVPN почти одинаково работает на разных платформах и настраивать его проще.
Но в плане производительности IPsec всё-таки будет пошустрее,
см. подробнее https://docs.netgate.com/pfsense/en/latest/vpn/scaling.htmlЕсли в плане производительности устраивает OpenVPN, то стоит на нём и остановиться
-
@viktor_g said in Производительность IPSec AES-GCM vs OpenVPN AES-GCM на 2.4.5 (2.5.0):
Но в плане производительности IPsec всё-таки будет пошустрее,
см. подробнее https://docs.netgate.com/pfsense/en/latest/vpn/scaling.htmlЯ читал, на Netgate все перечитал по протоколам, но там информация несколько устаревшая, состоянием на тот момент, когда OpenVPN не поддерживал GCM шифрование, поэтому на неё опираться сегодня я бы не стал. В интернете нет реальных тестов и сравнения обоих протоколов в GCM, поэтому и гуляет миф о том, что IPSec быстрее.
-
Для задействования аппаратного ускорения нужно ли включать поддержку в
System->Advanced->Miscellaneous?
Выбирать AES-NI CPU-based Acceleration? AES-NI and BSD crypto Device?Что выбрать в настройках Open VPN в Hardware Crypto?
-
@pigbrother
Видимо, это общий пункт настройки. Я выбирал прямо в настройках ВПН.Есть еще революционный WireGuard,
"Сбацать" впн на кофеварке по-быстрому - да, а выдать 100500 клиентам АВТОМАТОМ 100500 разных маршрутов (как это умеет опенвпн) - нет. Не умеет и в LDAP\AD. Плюс его сигнатуры легко детектятся DPI, а тот же опенвпн можно обфусцировать, притворившись https. И как дела у него с mitm - я хз.
-
@werter said in Производительность IPSec AES-GCM vs OpenVPN AES-GCM на 2.4.5 (2.5.0):
Я выбирал прямо в настройках ВПН.
Спасибо.
Кстати, в 2.5 появилась возможность продления сертификатов. Актуально для меня - через 3-4 года мои начнут истекать.