В 3.13 появился новый фаервол, призванный заменить привычный всем iptables (nftables is the project that aims to replace the existing {ip,ip6,arp,eb}tables framework aka iptables, если уж говорить полностью). и он имеет другой синтаксис. как говорят западные коллеги: Yes, if you are used to iptables, that’s a shock. Шок не шок, но синтаксис чем-то неуловимо напоминает ipfw

было
iptables -A FORWARD -p tcp --dport 22 -j LOG iptables -A FORWARD -p tcp --dport 22 -j DROPстало
nft add rule filter forward tcp dport 22 log drop
было
ip6tables -A INPUT -p tcp -m multiport --dports 23,80,443 -j ACCEPT ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -j ACCEPT ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -j ACCEPTстало
nft add rule ip6 filter input tcp dport {telnet, http, https} accept nft add rule ip6 filter input icmpv6 type { nd-neighbor-solicit, echo-request, nd-router-advert, nd-neighbor-advert } acceptвместо цепочек появились именованые списки
nft> add set global [b]ipv4_ad[/b] { type ipv4_address;} nft> add element global ipv4_ad { 192.168.1.4, 192.168.1.5 } nft> add rule ip global filter ip saddr @ipv4_ad dropAnd later when a new bad boy is detected мы можем одной строкой добавить
nft> add element global ipv4_ad { 192.168.3.4 }чем это лучше отдельной цепочки я пока не понял.
хотя цепочки тоже на месте, но называются Mapping
nft> add map filter jump_map { type ifindex : verdict; } nft> add element filter jump_map { eth0 : jump low_sec; } nft> add element filter jump_map { eth1 : jump high_sec; } nft> add rule filter input iif vmap @jump_mapи при поднятии ppp1
nft> add element filter jump_map { ppp1 : jump low_sec; }вобщем пока выгоды не очевидны. с одной стороны iptables безусловно перегружены, с другой читаются, имхо, проще.