nftables

12 commands

12 shown

Создать input-цепочку с политикой drop Базовая цепочка с запретом по умолчанию; важно: сначала добавьте accept-правила, иначе заблокируете себя nft add chain inet filter input '{ type filter hook input priority 0 ; policy drop ; }' #nftables#security#network#firewall Именованный set как блок-лист IP Переиспользуемый именованный set; flags interval позволяет хранить CIDR-диапазоны, а не только отдельные хосты nft add set inet filter blocklist '{ type ipv4_addr ; flags interval ; }' && nft add element inet filter blocklist '{ 10.0.0.0/8, 192.0.2.5 }' #nftables#security#network#firewall Verdict map для маршрутизации по портам vmap сопоставляет ключи с вердиктами за O(1); заменяет длинную цепочку правил dport == nft add rule inet filter input tcp dport vmap '{ 22 : accept, 80 : accept, 443 : accept, 3306 : drop }' #nftables#network#performance#firewall Показать ruleset с хендлами правил -a выводит '# handle N' для каждого правила; хендл нужен для удаления одного правила nft -a list ruleset #nftables#troubleshooting#network Удалить одно правило по хендлу Точечное удаление без сброса всей цепочки; хендл берётся из nft -a list ruleset nft delete rule inet filter input handle 7 #nftables#network#troubleshooting Именованный счётчик на правиле Встроенный counter считает пакеты и байты; сброс через nft reset counters inet filter nft add rule inet filter input tcp dport 22 counter accept comment \"ssh\" #nftables#monitoring#observability#network SNAT masquerade для исходящего NAT Source-NAT исходящего трафика на IP интерфейса; требует существующей postrouting-цепочки типа nat nft add rule ip nat postrouting oifname \"eth0\" masquerade #nftables#network#cloud#firewall DNAT-проброс порта на внутренний хост Destination-NAT входящего трафика на бэкенд; дополните accept-правилом в forward-цепочке nft add rule ip nat prerouting iif \"eth0\" tcp dport 443 dnat to 10.0.0.5:8443 #nftables#network#cloud#firewall Ограничить скорость новых соединений Подавляет брутфорс SSH; пакеты сверх лимита проваливаются к политике цепочки nft add rule inet filter input tcp dport 22 ct state new limit rate 10/minute accept #nftables#security#performance#network Наблюдать изменения ruleset в реальном времени Транслирует события add/delete по мере появления; удобно для отладки динамических правил nft monitor ruleset #nftables#debug#monitoring#troubleshooting Атомарный бэкап и восстановление ruleset nft -f применяет весь файл атомарно; при ошибке откат целиком, без частичного состояния nft list ruleset > /etc/nftables.conf && nft -f /etc/nftables.conf #nftables#gitops#network#firewall Аппаратная разгрузка через flowtable Переносит установленные потоки на быстрый путь; 'flags offload' включает аппаратную разгрузку на NIC nft add flowtable inet filter ft '{ hook ingress priority 0 ; devices = { eth0, eth1 } ; }' && nft add rule inet filter forward ct state established flow add @ft #nftables#performance#network#kernel
no commands match