TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #369 7.13K
nft: современный фаервол в Linux, который заменил iptables

nft — это утилита для управления nftables, новой подсистемой фаервола в ядре Linux. Она пришла на смену старым и запутанным инструментам: iptables, ip6tables, ebtables, arptables. Теперь всё делается в одной системе, единым языком, более эффективно и понятно.

Зачем нужен nft?

- Чтобы блокировать или разрешать трафик (фаервол).
- Для перенаправления портов (DNAT / SNAT).
- Чтобы настроить NAT, логирование, rate limiting и т.д.
- Управлять IPv4, IPv6, Ethernet, ARP в одной таблице.

Установка nft


На многих дистрибутивах nft уже предустановлен. Если нет:


# Debian / Ubuntu
sudo apt install nftables

# Red Hat / CentOS / Fedora
sudo dnf install nftables

# Arch Linux
sudo pacman -S nftables


Как работает nftables

В отличие от iptables, где каждая подсистема жила в своём мире (разные команды для IPv4, IPv6, ARP...), nftables работает с едиными таблицами и цепочками, и одним конфигом.

Простой пример через команды:


# Создаём таблицу и цепочку
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }

# Блокируем IP-адрес
sudo nft add rule inet filter input ip saddr 203.0.113.42 drop


Конфиг-файл "/etc/nftables.conf". В реальности, правила лучше описывать в конфиге, чтобы сохранять и применять при старте:


#!/usr/sbin/nft -f

table inet filter {
chain input {
type filter hook input priority 0;
policy accept;

# Блокируем IP
ip saddr 203.0.113.42 drop

# Разрешаем SSH
tcp dport 22 accept
}
}


Применить файл:


sudo nft -f /etc/nftables.conf


И включить автозапуск:


sudo systemctl enable nftables
sudo systemctl start nftables


Как проверить, что правила работают

Посмотреть текущие правила:


sudo nft list ruleset


Или только одну таблицу:


sudo nft list table inet filter


Вывод будет в читабельной иерархии, например:


table inet filter {
chain input {
type filter hook input priority 0; policy accept;
ip saddr 203.0.113.42 drop
tcp dport 22 accept
}
}


Чтобы перезаписать все старые правила, используйте:


sudo nft flush ruleset


Что делает nft круче iptables

- Одна система вместо четырёх: больше не нужно думать iptables vs ip6tables.
- Наборы (sets): можно сразу заблокировать десятки IP без повторений.
- Списки и словари: условная логика в правилах.
- Rate limiting: ограничение по частоте (например, не более 10 пакетов/сек).
- Логирование прямо в правило: встроенная поддержка log.
- Конфиги, читаемые человеком, пригодные для версионирования.
- Высокая производительность: меньше затрат ядра, быстрее работает.

Совет

Если вы раньше использовали iptables, не стоит мешать его правила с nftables. Лучше отключить iptables и перейти на nft полностью:


sudo systemctl disable iptables
sudo systemctl disable ip6tables


LinuxCamp | #utils
  • 👍 23
  • 🔥 8
  • ❤ 6
  • 🙈 3
  • 🤣 1
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →