nftables


nftables — подсистема ядра Linux, обеспечивающая фильтрацию и классификацию сетевых пакетов/датаграмм/кадров. Включена в ядро Linux, начиная с версии 3.13, выпущенной 19 января 2014 года[2]. Является проектом по замене пакетов iptables, ip6tables, arptables[англ.], ebtables в межсетевом экране Netfilter. За счёт объединения функциональности перечисленных пакетов, в nftables присутствует меньшее дублирование кода при построении правил для Netfilter и низкоуровневая оптимизация[3]. По состоянию на 26 апреля 2016 года находится в процессе разработки. В пространстве пользователя nftables настраивается при помощи утилиты nft.

Для обеспечения обратной совместимости предоставляется специальная прослойка, позволяющая использовать iptables/ip6tables поверх инфраструктуры nftables.

Проект был впервые представлен на Netfilter Workshop 2008 Патриком Мак-Харди из команды по разработке ядра Netfilter[4].

Первый предварительный релиз реализации ядра и пользовательского пространства был представлен в марте 2009 года[5]. Хотя инструмент был назван самым большим изменением межсетевого экрана Linux с момента появления iptables в 2001 году, в то время он получил мало освещения в прессе[6].

В октябре 2012 года, была предложена прослойка совместимости с iptables[7] и анонсировано возможное включение проекта в основную ветку ядра. 16 октября 2013 года был отправлен запрос на включение изменений (pull request) в ядро Linux[8]. 19 января 2014 года nftables был включён в ядро Linux версии 3.13[2].