Мир: В Linux 3.13 появится пакетный фильтр Nftables

0

Создатели ядра Linux внесли изменение в ветку linux-next, которая станет основой для Linux 3.13. Так, в ветку был внедрен код Nftables, который является новой реализацией пакетного фильтра вместо iptables, ip6table, arptables и ebtables. Отличием нововведения является пересмотр процесса обработки правил фильтрации пакетов. Кроме того, в ветке изменен синтаксис правил, сокращен код, выполняемый на уровне ядра, а также унифицированы интерфейсы для IPv4, IPv6, ARP и сетевых мостов.


Главной особенностью Nftables стало то, что правила фильтрации компилируются в пространстве пользователя в байткод и передаются в ядро через API Netlink. Затем для принятия решения по дальнейшим действиям правила выполняются с использованием конечного автомата pseudo-state machine.

Это позволяет сократить размер кода фильтрации, который работает на уровне ядра, а также вынести функции разбора правил и логики работы с протоколами в пространство пользователя. Новинка также обеспечивает возможность объединить работу с различными видами протоколов. При этом без поддержания отдельных расширений фильтрации для IPv4, IPv6, ARP и сетевых мостов. Теперь также можно использовать специальную связующую интерфейсную библиотеку libnl. (Linux/NovostIT)