Производительность 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
    Видимо, это общий пункт настройки. Я выбирал прямо в настройках ВПН.

    @Gektor

    Есть еще революционный 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 года мои начнут истекать.


Log in to reply