Как мы сделали свой собственный Netfilter с Intel DPDK и префиксными деревьямиБезопасность
C 2013 года занимается системным программированием и разработкой решений под сетевой стек Linux. Специализация – разработка высоконагруженных специализированных сетевых комплексов в области обеспечения информационной безопасности.
Linux Netfilter лежит в основе огромного количества МСЭ, как открытых, так и коммерческих. Это проверенное, надежное и с недавних пор даже достаточно производительное решение.
Но в современных реалиях, когда через МСЭ зачастую приходится пропускать десятки гигабит трафика, а количество правил фильтрации может переваливать за тысячу, именно Linux Netfilter оказывается узким местом. Именно так и произошло в нашем случае.
В докладе я хочу рассказать о том, как мы переписали сетевую подсистему Linux, которая получилась:
1. Быстрой — десятки гигабит stateful- и stateless-фильтрации, отслеживания сессий, NAT и маршрутизации. На маленьких пакетах!
2. Удобной в управлении — мы научили нашу подсистему понимать команды хорошо известных утилит iproute2 и nftables.
3. Независимой от количества правил фильтрации! Одно правило фильтрации или 10000 — производительность остается неизменной (как тебе такое, Linux Netfilter?).