Jump to content

nftables

Оригинальный автор(ы) Проект Netfilter
Разработчик(и) Проект Netfilter
Стабильная версия
1.1.0 [ 1 ]  Отредактируйте это в Викиданных / 16 июля 2024 г .; 58 дней назад ( 16 июля 2024 г. )
Предварительный выпуск
Репозиторий
Написано в С
Операционная система Линукс
Платформа Сетевой фильтр
Тип фильтрация пакетов
Лицензия лицензия GPLv2
Веб-сайт

nftables — подсистема ядра Linux, обеспечивающая фильтрацию и классификацию сетевых пакетов /датаграмм/кадров. Он доступен с момента выпуска ядра Linux 3.13 19 января 2014 года. [ 2 ]

nftables заменяет устаревший iptables компонент Netfilter . Среди преимуществ nftables перед iptables — меньшее дублирование кода и более простое расширение для новых протоколов. Среди недостатков nftables является то, что DPI , обеспечиваемый «соответствием строк iptables», например фильтрацией SNI , не поддерживается. [ 3 ]

nftables настраивается с помощью пользовательского пространства утилиты nft , а устаревшие инструменты настраиваются с помощью утилит iptables , ip6tables , arptables и ebtables framework.

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

Синтаксис командной строки

[ редактировать ]

Команда для удаления любых пакетов с IP-адресом назначения. 1.2.3.4:

nft add rule ip filter output ip daddr 1.2.3.4 drop

Обратите внимание, что новый синтаксис существенно отличается от синтаксиса iptables, в котором было бы написано то же правило:

iptables -A OUTPUT -d 1.2.3.4 -j DROP

Новый синтаксис может показаться более многословным, но он также гораздо более гибкий. nftables включает в себя расширенные структуры данных , такие как словари, карты и конкатенации, которых нет в iptables. Их использование может значительно сократить количество цепочек и правил, необходимых для реализации заданной схемы фильтрации пакетов.

The iptables-translate Инструмент можно использовать для перевода многих существующих правил iptables в эквивалентные правила nftables. [ 4 ] [ 5 ] Debian 10 (Buster) , среди других дистрибутивов Linux , использует nftables вместе с iptables-translate в качестве механизма фильтрации пакетов по умолчанию. [ 6 ]

Впервые проект был публично представлен на Netfilter Workshop 2008 Патриком МакХарди из основной команды Netfilter. [ 7 ] Первый предварительный выпуск реализации ядра и пользовательского пространства был выпущен в марте 2009 года. [ 8 ] Хотя этот инструмент был назван «самым большим изменением в межсетевом экране Linux с момента появления iptables в 2001 году», пресса уделила ему мало внимания. [ 9 ] Известный хакер Федор Васькович (Гордон Лайон) заявил, что он «с нетерпением ждет его общего выпуска в основном ядре Linux ». [ 9 ]

Проект остался на стадии альфа-версии, а официальный сайт был удален в 2009 году. В марте 2010 года электронные письма автора в списках рассылки проекта показали, что проект все еще активен и приближается к бета-версии. [ 10 ] [ 11 ] но последний так и не был отправлен официально. В октябре 2012 года Пабло Нейра Аюсо предложил уровень совместимости для iptables. [ 12 ] и объявил о возможном включении проекта в основное ядро.

16 октября 2013 года Пабло Нейра Аюсо отправил запрос на извлечение ядра nftables в основное дерево ядра Linux . [ 13 ] Он был объединен с основной веткой ядра 19 января 2014 года с выпуском ядра Linux версии 3.13. [ 2 ]

Механизм ядра nftables добавляет к ядру Linux простую виртуальную машину , которая может выполнять байт-код для проверки сетевого пакета и принимать решения о том, как этот пакет следует обрабатывать. Операции, реализуемые этой виртуальной машиной, намеренно сделаны базовыми. Он может получать данные из самого пакета, просматривать связанные метаданные (например, входящий интерфейс) и управлять данными отслеживания соединений. Для принятия решений на основе этих данных можно использовать арифметические, побитовые операторы и операторы сравнения. Виртуальная машина также способна манипулировать наборами данных (обычно IP-адресами), позволяя заменять несколько операций сравнения одним поиском набора. [ 14 ]

Описанная выше организация противоречит коду брандмауэра iptables, в логику которого настолько глубоко встроена информация о протоколах, что код пришлось реплицировать четыре раза — для IPv4 , IPv6 , ARP и Ethernet - моста — в качестве межсетевого экрана. Механизмы слишком специфичны для протокола, чтобы их можно было использовать в общем виде. [ 14 ]

Основными преимуществами nftables перед iptables являются упрощение ABI ядра Linux , уменьшение дублирования кода , улучшенное сообщение об ошибках , а также более эффективное выполнение, хранение и поэтапное изменение правил фильтрации. Традиционно используется iptables(8), ip6tables(8), arptables(8) и ebtables(8) (для мостов IPv4, IPv6, ARP и Ethernet соответственно) предназначены для замены на nft(8) как единая унифицированная реализация, обеспечивающая настройку брандмауэра поверх виртуальной машины в ядре .

nftables также предлагает улучшенный API пользовательского пространства, который позволяет атомарную замену одного или нескольких правил брандмауэра в рамках одной транзакции Netlink . Это ускоряет изменение конфигурации брандмауэра для установок с большими наборами правил; это также может помочь избежать состояний гонки во время выполнения изменений правил. nftables также включает функции совместимости, упрощающие переход с предыдущих брандмауэров, утилиты командной строки для преобразования правил в формат iptables, [ 15 ] и синтаксически-совместимые версии команд iptables, использующие серверную часть nftables. [ 16 ]

  1. ^ «[ОБЪЯВЛЕНИЕ] выпуск nftables 1.1.0» . 16 июля 2024 г. Проверено 17 июля 2024 г.
  2. ^ Jump up to: а б «nftables, преемник iptables» . Линукс 3.13 . kernelnewbies.org. 19 января 2014 г. Проверено 4 марта 2016 г.
  3. ^ «Как мы использовали eBPF для создания программируемой фильтрации пакетов в Magic Firewall» .
  4. ^ «Переход с iptables на nftables — nftables wiki» .
  5. ^ «Список доступных переводов с помощью инструмента iptables-translate — nftables wiki» .
  6. ^ «Nftables — Debian Wiki» .
  7. ^ «Программа дня пользователя – NFWS2008» . Workshop.netfilter.org. 03.10.2008 . Проверено 22 февраля 2014 г.
  8. ^ первоначальное объявление о выпуске .
  9. ^ Jump up to: а б Грей, Патрик (26 марта 2009 г.). «НОВОСТИ: Linux получает новый брандмауэр» . Risky.biz.
  10. ^ «Linux Netfilter Devel – Re: Текущее состояние nftables» . Spinics.net . Проверено 20 января 2014 г.
  11. ^ «Linux Netfilter Devel – Re: Текущее состояние nftables» . Spinics.net . Проверено 20 января 2014 г.
  12. ^ «Linux Netfilter Devel — [RFC] снова на nf_tables (плюс уровень совместимости)» . Spinics.net . Проверено 20 января 2014 г.
  13. ^ «[ИСПРАВЛЕНИЕ 00/17] обновления netfilter: запрос на извлечение nf_tables» . Марк.инфо . Проверено 20 января 2014 г.
  14. ^ Jump up to: а б Джонатан Корбет (20 августа 2013 г.). «Возвращение nftables» . LWN.net . Проверено 22 октября 2013 г.
  15. ^ Нейра Аюсо, Пол. «Nftables — инструмент командной строки NFT » git.netfilter.org . Получено 24 января.
  16. ^ Артуро, Рал. «Резюме Netfilter Workshop 2018 в Берлине» . ral-arturo.org . Проверено 24 января 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7e11a6c40d5af1007eb2da3d35b2551a__1714443480
URL1:https://arc.ask3.ru/arc/aa/7e/1a/7e11a6c40d5af1007eb2da3d35b2551a.html
Заголовок, (Title) документа по адресу, URL1:
nftables - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)