Это старая версия документа!
NFTABLES
nftables заменяет фреймворк iptables
В некоторых дистрибутивах уже установлен, но отключен
Установка пакета nftables
apt install nftables
Запуск nftables при загрузке
systemctl enable nftables.service
По умолчанию, правила находятся в
/etc/nftables.conf
Сбросить все правила в nftables, и остановить фильтрацию
nft flush ruleset
Предотвратить запуск nftables при загрузке
systemctl mask nftables.service
Удалить пакет nftables и все его следы в системе
apt purge nftables
Синтаксис
Создать базовую таблицу IPv4
nft add table inet filter
Создать цепочку для исходящего трафика IPv4
nft add chain inet filter input { type filter hook input priority 0\; }
Правило, для подсчета входящих пакетов (IPv4)
nft add rule inet filter input counter accept
Показать результат предыдущих команд:
nft list table inet filter
Сбросить правила для цепочки filter input
nft flush chain inet filter input
Удалить цепочки filter input
nft delete chain inet filter input
Удалить таблицу filter
nft delete table inet filter
Семейство не обязательных параметров. По умолчанию используется 'ip'
nft add table ip6 filter nft add chain ip6 filter input nft add rule ip6 filter input counter accept
Директория с примерами конфигураций в Debian
/usr/share/doc/nftables/examples/
Подсчет входящего трафика на порт tcp/22
nft add rule inet filter input tcp dport 22 counter
Подсчет и прием трафика на 80/tcp и 443/tcp для новых и существующих соединений
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Структура
Список таблиц
- filter — здесь пакеты фильтруются, то есть их можно пропустить или отбросить.
- Содержит цепочки: input, forward, output.
- nat — здесь работает NAT (проброс портов, входящий и исходящий NAT).
- Содержит цепочки: prerouting, output, postrouting.
- mangle — позволяет вносить изменения в заголовки ip-пакетов.
- Содержит все цепочки.
- raw — позволяет выборочно пропускать или отбрасывать пакеты перед тем, как они попадут в механизм отслеживания соединения (ct - connection tracking), что значительно снижает нагрузку на процессор.
- Содержит цепочки: prerouting и output.