nftables — подсистема ядра Linux, обеспечивающая фильтрацию и классификацию сетевых пакетов/датаграмм/кадров. Включена в ядро Linux, начиная с версии 3.13, выпущенной 19 января 2014 года[2]. Является проектом по замене пакетов iptables, ip6tables, arptables[англ.], ebtables в межсетевом экране Netfilter. За счёт объединения функциональности перечисленных пакетов, в nftables присутствует меньшее дублирование кода при построении правил для Netfilter и низкоуровневая оптимизация[3]. По состоянию на 26 апреля 2016 года находится в процессе разработки. В пространстве пользователя nftables настраивается при помощи утилиты nft.
Nftables | |
---|---|
Тип | утилита, утилита командной строки[вд] и межсетевой экран |
Написана на | Си |
Операционные системы | GNU/Linux и Android |
Аппаратные платформы | ядро Linux и Linux-libre |
Последняя версия | |
Репозиторий | git.netfilter.org/nftabl… |
Лицензия | GNU GPL 2 |
Сайт | netfilter.org/pro… (англ.) |
Медиафайлы на Викискладе |
Синтаксис командной строки nft
правитьСинтаксис nft более схож с реальной грамматикой[3].
Команда для добавления правила блокирования пакетов, направленных на адрес 1.2.3.4:
nft add rule ip filter output ip addr 1.2.3.4 drop
Синтаксис такого же действия для iptables:
iptables -t filter -A OUTPUT -j DROP -d 1.2.3.4
Для обеспечения обратной совместимости предоставляется специальная прослойка, позволяющая использовать 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].
Ссылки
правитьПримечания
править- ↑ Ayuso P. N. [ANNOUNCE nftables 1.1.1 release] — 2024.
- ↑ 1 2 nftables, the successor of iptables . Linux 3.13. kernelnewbies.org (19 января 2014). Дата обращения: 4 марта 2016. Архивировано 25 января 2014 года.
- ↑ 1 2 Изучаем возможности nftables — нового пакетного фильтра Linux - «Хакер» . Дата обращения: 25 апреля 2016. Архивировано 21 ноября 2016 года.
- ↑ User day program - NFWS2008 . Workshop.netfilter.org (3 октября 2008). Дата обращения: 22 февраля 2014. Архивировано 30 июня 2017 года.
- ↑ initial release announcement . Дата обращения: 25 апреля 2016. Архивировано 1 октября 2015 года.
- ↑ Gray, Patrick (2009-03-26). "NEWS: Linux Gets New Firewall". Risky.biz. Архивировано 23 марта 2016. Дата обращения: 25 апреля 2016.
- ↑ Linux Netfilter Devel - [RFC] back on nf_tables (plus compatibility layer) . Spinics.net. Дата обращения: 20 января 2014. Архивировано 25 января 2015 года.
- ↑ '[PATCH 00/17] netfilter updates: nf_tables pull request' - MARC . Marc.info. Дата обращения: 20 января 2014. Архивировано 31 июля 2018 года.