Определение простыми словами
nftables — это утилита и подсистема ядра Linux, предназначенная для фильтрации и манипуляции сетевыми пакетами. Она служит для настройки правил файрволла, позволяя администратору описывать политики безопасности, управлять доступом и предотвращать нежелательный трафик на системном уровне.
В отличие от устаревших решений, nftables обеспечивает единую и более читаемую конфигурацию правил, оптимизацию обработки пакетов и поддержку новых протоколов и возможностей ядра.
Сравнение
| Параметр | iptables | nftables |
|---|---|---|
| Архитектура | Множество отдельных подсистем для IPv4, IPv6, ARP | Единая подсистема для всех протоколов |
| Конфигурация | Устаревший синтаксис с множеством команд | Единый, декларативный синтаксис |
| Производительность | Меньшая оптимизация, дублирование правил | Более эффективная и компактная обработка пакетов |
| Поддержка | Ограниченная поддержка новых функций ядра | Поддержка расширенных возможностей и новых протоколов |
Кейсы использования
- Настройка фильтров для защиты серверов от неавторизованного доступа
- Реализация сложных правил маршрутизации и преобразования пакетов (NAT)
- Контроль и ограничение трафика по IP-адресам, портам и протоколам
- Настройка политики безопасности в корпоративных и облачных сетях
- Интеграция с системами обнаружения вторжений и мониторинга сети
- Негативный пример: Некорректная конфигурация правил может привести к блокировке критичных сервисов и потере доступности хостов.
Технические детали
nftables работает через системный вызов netfilter, внедрённый в ядро Linux начиная с версии 3.13. Администратор задаёт правила с помощью утилиты nft — высокоуровневого интерфейса к подсистеме фильтрации. Правила описываются в виде цепочек и таблиц с поддержкой широкого набора условий и действий.
# Пример базового правила nftables для блокировки входящего трафика с IP 1.2.3.4
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0; }
nft add rule inet filter input ip saddr 1.2.3.4 drop
Документация и подробности доступны в разделе nftables. Для сравнения с iptables и управления firewall удобно использовать firewall-решения на основе nftables.
🔥 Где это применяется
Частые вопросы
Чем nftables лучше iptables?
nftables предлагает более простой и гибкий синтаксис, объединяет фильтрацию IPv4 и IPv6, повышает производительность и расширяет функциональность по сравнению с iptables.
Можно ли использовать nftables на любом Linux-хосте?
Да, при условии, что версия ядра Linux не ниже 3.13, поскольку эта подсистема встроена в ядро начиная с этой версии.
Можно ли плавно перейти с iptables на nftables?
Да, существует инструмент iptables-translate, позволяющий конвертировать правила iptables в синтаксис nftables для бесшовной миграции.