nftables - nftables

редактировать
Nftables
Автор (ы) Проект Netfilter
Разработчик (и) Проект Netfilter
Стабильная версия 0.9.6 / 15 июня 2020 г.; 3 месяца назад (15.06.2020)
Предварительный выпуск Git repo
Repository Измените это в Викиданных
Написано наC
Операционная система Linux
Платформа Netfilter
Тип фильтрация пакетов
Лицензия GPLv2
Веб-сайт
tc относится к планировщик пакетов ядра Linux как iptables в Netfilter и в nftables. Все это программы CLI пространства пользователя, которые используются для настройки соответствующей подсистемы ядра Linux.

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

nftables заменяет устаревшие части iptables в Netfilter. Среди преимуществ nftables перед iptables - меньшее дублирование кода и более простое расширение для новых протоколов. nftables настраивается с помощью утилиты nft пользовательского пространства, тогда как устаревшие инструменты настраиваются с помощью утилит iptables, ip6tables, arptables и фреймворков ebtables.

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

Содержание

  • 1 nft
    • 1.1 Синтаксис командной строки
  • 2 История
  • 3 Обзор
  • 4 Ссылки
  • 5 Внешние ссылки

nft

Команда- синтаксис строки

Команда для отбрасывания любых пакетов с 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. Их использование может значительно сократить количество цепочек и правил, необходимых для выражения заданного дизайна фильтрации пакетов.

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

История

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

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

16 октября 2013 года Пабло Нейра Аюсо отправил nftables core pull request в дерево основной ветки ядра Linux. был включен в основную ветку ядра 19 января 2014 года с выпуском ядра Linux версии 3.13.

Обзор

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

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

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

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

Ссылки

Внешние ссылки

  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • icon Портал Linux

.

Последняя правка сделана 2021-05-31 07:50:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте