Робота у мережі
nftables замінив iptables як типовий модуль фільтрування пакетів мережі
Комплект інструментів nftables
надає можливості із класифікації пакетів і вважається наступником засобів iptables
, ip6tables
, arptables
та ebtables
. У ньому реалізовано численні удосконалення у зручності користування, можливостях та швидкодії, порівняно із попередніми інструментами фільтрування пакетів. Найпомітніші його особливості:
-
Таблиці пошуку замість лінійної обробки.
-
Єдиний комплект засобів для протоколів IPv4 і IPv6.
-
Усі правила застосовуються атомарно, без отримання, оновлення та зберігання повного набору правил.
-
Підтримка діагностики і трасування у наборі правил (
nftrace
) та спостереження за подіями трасування (у засобіnft
). -
Послідовніший і компактніший синтаксис, немає специфічних для протоколу розширень.
-
Програмний інтерфейс Netlink для сторонніх програм.
Подібно до iptables
, nftables
використовує таблиці для зберігання ланцюжків правил. Ланцюжки містять окремі правила для виконання дій. Програма nft
замінює усі інструменти з попередніх комплектів засобів для фільтрування пакетів. Бібліотекою libnftables
можна скористатися для низькорівневої взаємодії з програмним інтерфейсом Netlink nftables
за допомогою бібліотеки libmnl
.
Інструменти iptables
, ip6tables
, ebtables
та arptables
замінено на повністю сумісні замінники nftables із тими самими назвами. Хоча ззовні поведінка інструментів є ідентичною до поведінки попередників, всередині вони використовують nftables
із модулями ядра шару сумісності netfilter
із інтерфейсом сумісності там, де це потрібно.
За впливом модулів на набір правил nftables`можна спостерігати за допомогою команди `nft list ruleset
. Оскільки ці засоби додають таблиці, ланцюжки і правила до набору правил nftables
, слід мати на увазі, що дії із набором правил nftables
, зокрема команда nft flush ruleset
, можуть вплинути на набори правил, які було встановлено за допомогою раніше окремих застарілих команд.
Щоб пришвидшити ідентифікацію наявного варіанта засобу фільтрування, оновлено дані щодо версії так, щоб вони містили назву модуля фільтрування. У Fedora 32 заснований наe nftables інструмент iptables
виводить такий рядок версії:
$ iptables --version
iptables v1.8.4 (nf_tables)
Для порівняння, ось такі дані щодо версії буде виведено, якщо встановлено застарілий засіб iptables
:
$ iptables --version
iptables v1.8.4 (legacy)
Щоб дізнатися більше, ознайомтеся із https://fedoraproject.org/wiki/Changes/iptables-nft-default та https://wiki.nftables.org/wiki-nftables/index.php/Legacy_xtables_tools.
Want to help? Learn how to contribute to Fedora Docs ›