IPv1.0.7, IPv4, ARP, เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดฌเตเดฐเดฟเดกเตเดเตเดเตพ (iptables, ip6table, arptables, ebtables เดเดจเตเดจเดฟเดต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเดพเตป เดฒเดเตเดทเตเดฏเดฎเดฟเดเตเดเตเดณเตเดณ) เดชเดพเดเตเดเดฑเตเดฑเต เดซเดฟเตฝเดเตเดเดฑเดฟเดเดเต เดเดจเตเดฑเตผเดซเตเดธเตเดเตพ เดเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจ nftables 6 เดชเดพเดเตเดเดฑเตเดฑเต เดซเดฟเตฝเดเตเดเตผ เดฑเดฟเดฒเตเดธเต เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเต. nftables เดชเดพเดเตเดเตเดเดฟเตฝ เดฏเตเดธเตผ เดธเตโเดชเตเดฏเตโเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดชเดพเดเตเดเดฑเตเดฑเต เดซเดฟเตฝเดเตเดเตผ เดเดเดเดเตเดเตพ เดเตพเดชเตเดชเตเดเตเดจเตเดจเต, เด เดคเตเดธเดฎเดฏเด เดเตเตผเดฃเตฝ เดฒเตเดตเตฝ เดจเตฝเดเตเดจเตเดจเดคเต 3.13 เดฑเดฟเดฒเตเดธเต เดฎเตเดคเตฝ Linux เดเตเตผเดฃเดฒเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฏ nf_tables เดธเดฌเตโเดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฃเต. เดเตเตผเดฃเตฝ เดคเดฒเดคเตเดคเดฟเตฝ, เดชเดพเดเตเดเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดเดเตโเดธเตโเดเตเดฐเดพเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด เดซเตเดฒเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด เดเดฟเดธเตเดฅเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเตฝเดเตเดจเตเดจ เดเดฐเต เดเดจเดฑเดฟเดเต เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ-เดธเตเดตเดคเดจเตเดคเตเดฐ เดเดจเตเดฑเตผเดซเตเดธเต เดฎเดพเดคเตเดฐเดฎเต เดจเตฝเดเดฟเดฏเดฟเดเตเดเตเดณเตเดณเต.
เดซเดฟเตฝเดเตเดเดฑเดฟเดเดเต เดจเดฟเดฏเดฎเดเตเดเดณเตเด เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดนเดพเตปเดกเตโเดฒเดฑเตเดเดณเตเด เดฏเตเดธเตผ-เดธเตโเดชเตเดธเต เดฌเตเดฑเตเดฑเตโเดเตเดกเดฟเดฒเตเดเตเดเต เดเดเดชเตเตฝ เดเตเดฏเตเดฏเตเดจเตเดจเต, เด เดคเดฟเดจเตเดถเตเดทเด เด เดฌเตเดฑเตเดฑเตโเดเตเดกเต เดจเตเดฑเตเดฑเตโเดฒเดฟเดเตเดเต เดเดจเตเดฑเตผเดซเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเตผเดฃเดฒเดฟเดฒเตเดเตเดเต เดฒเตเดกเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดฌเดฟเดชเดฟเดเดซเต (เดฌเตเตผเดเตเดเตโเดฒเดฟ เดชเดพเดเตเดเดฑเตเดฑเต เดซเดฟเตฝเดเตเดเดฑเตเดเตพ) เดชเตเดฒเตเดฏเตเดณเตเดณ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดเตเตผเดฃเดฒเดฟเตฝ เดเดเตโเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เด เดธเดฎเตเดชเดจเด เดเตเตผเดฃเตฝ เดคเดฒเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดซเดฟเตฝเดเตเดเดฑเดฟเดเดเต เดเตเดกเดฟเดจเตเดฑเต เดตเดฒเตเดชเตเดชเด เดเดฃเตเดฏเดฎเดพเดฏเดฟ เดเตเดฑเดฏเตเดเตเดเตเดเดฏเตเด เดชเดพเดดเตเดธเดฟเดเดเต เดจเดฟเดฏเดฎเดเตเดเดณเตเดเต เดเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเตเด เดชเตเดฐเตเดเตเดเตเดเตเดเตเดณเตเดเตพเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดฒเตเดเดฟเดเตเดเตเด เดฏเตเดธเตผ เดธเตเดชเตเดธเดฟเดฒเตเดเตเดเต เดจเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดชเตเดฐเดงเดพเดจ เดฎเดพเดฑเตเดฑเดเตเดเตพ:
- ะะปั ัะธััะตะผ ั ัะดัะพะผ Linux 6.2+ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ัะพะฟะพััะฐะฒะปะตะฝะธั ะฟัะพัะพะบะพะปะพะฒ vxlan, geneve, gre ะธ gretap, ััะพ ะฟะพะทะฒะพะปัะตั ะธัะฟะพะปัะทะพะฒะฐัั ะฟัะพัััะต ะฒััะฐะถะตะฝะธั ะดะปั ะฟัะพะฒะตัะบะธ ะทะฐะณะพะปะพะฒะบะพะฒ ะฒ ะธะฝะบะฐะฟััะปะธัะพะฒะฐะฝะฝัั ะฟะฐะบะตัะฐั . ะะฐะฟัะธะผะตั, ะดะปั ะฟัะพะฒะตัะบะธ IP-ะฐะดัะตัะฐ ะฒ ะทะฐะณะพะปะพะฒะบะต ะฒะปะพะถะตะฝะฝะพะณะพ ะฟะฐะบะตัะฐ ะธะท VxLAN, ัะตะฟะตัั ะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะฟัะฐะฒะธะปะฐ (ะฑะตะท ะฝะตะพะฑั ะพะดะธะผะพััะธ ะฟัะตะดะฒะฐัะธัะตะปัะฝะพะน ะดะตะธะฝะบะฐะฟััะปััะธะธ ะทะฐะณะพะปะพะฒะบะฐ VxLAN ะธ ะฟัะธะฒัะทะบะธ ัะธะปัััะฐ ะบ ะธะฝัะตััะตะนัั vxlan0): โฆ udp dport 4789 vxlan ip protocol udp โฆ udp dport 4789 vxlan ip saddr 1.2.3.0/24 โฆ udp dport 4789 vxlan ip saddr . vxlan ip daddr { 1.2.3.4 . 4.3.2.1 }
- ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะฐะฒัะพะผะฐัะธัะตัะบะพะณะพ ัะปะธัะฝะธั ะพััะฐัะบะพะฒ ะฟะพัะปะต ัะฐััะธัะฝะพะณะพ ัะดะฐะปะตะฝะธั ัะปะตะผะตะฝัะฐ set-ัะฟะธัะบะฐ, ััะพ ะฟะพะทะฒะพะปัะตั ัะดะฐะปะธัั ัะปะตะผะตะฝั ะธะปะธ ัะฐััั ะดะธะฐะฟะฐะทะพะฝะฐ ะธะท ัััะตััะฒัััะตะณะพ ะดะธะฐะฟะฐะทะพะฝะฐ (ัะฐะฝััะต ะดะธะฐะฟะฐะทะพะฝ ะผะพะถะฝะพ ะฑัะปะพ ัะดะฐะปะธัั ัะพะปัะบะพ ัะตะปะธะบะพะผ). ะะฐะฟัะธะผะตั, ะฟะพัะปะต ัะดะฐะปะตะฝะธั ัะปะตะผะตะฝัะฐ 25 ะธะท set-ัะฟะธัะบะฐ ั ะดะธะฐะฟะฐะทะพะฝะฐะผะธ 24-30 ะธ 40-50 ะฒ ัะฟะธัะบะต ะพััะฐะฝัััั 24, 26-30 ะธ 40-50. ะัะฟัะฐะฒะปะตะฝะธั, ะฝะตะพะฑั ะพะดะธะผัะต ะดะปั ัะฐะฑะพัั ะฐะฒัะพัะปะธัะฝะธั, ะฑัะดัั ะฟัะตะดะปะพะถะตะฝั ะฒ ะบะพััะตะบัะธััััะธั ะฒัะฟััะบะฐั ััะฐะฑะธะปัะฝัั ะฒะตัะพะบ ัะดัะฐ 5.10+. # nft list ruleset table ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24-30, 40-50 } } } # nft delete element ip x y { 25 } # nft list ruleset table ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24, 26-30, 40-50 } } }
- ะ ะฐะทัะตัะตะฝะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะบะพะฝัะฐะบัะฐัะธะธ ะธ ะดะธะฐะฟะฐะทะพะฝะพะฒ ะฟัะธ ะผะฐะฟะฟะธะฝะณะต ััะฐะฝัะปััะธะธ ะฐะดัะตัะพะฒ (NAT). table ip nat { chain prerouting { type nat hook prerouting priority dstnat; policy accept; dnat to ip daddr . tcp dport map { 10.1.1.136 . 80 : 1.1.2.69 . 1024, 10.1.1.10-10.1.1.20 . 8888-8889 : 1.1.2.69 . 2048-2049 } persistent } }
- ะะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะฒััะฐะถะตะฝะธั ยซlastยป, ะฟะพะทะฒะพะปัััะตะณะพ ัะทะฝะฐัั ะฒัะตะผั ะฟะพัะปะตะดะฝะตะณะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ัะปะตะผะตะฝัะฐ ะฟัะฐะฒะธะปะฐ ะธะปะธ set-ัะฟะธัะบะฐ. ะะพะทะผะพะถะฝะพััั ะฟะพะดะดะตัะถะธะฒะฐะตััั ะฝะฐัะธะฝะฐั ั ัะดัะฐ Linux 5.14. table ip x { set y { typeof ip daddr . tcp dport size 65535 flags dynamic,timeout last timeout 1h } chain z { type filter hook output priority filter; policy accept; update @y { ip daddr . tcp dport } } } # nft list set ip x y table ip x { set y { typeof ip daddr . tcp dport size 65535 flags dynamic,timeout last timeout 1h elements = { 172.217.17.14 . 443 last used 1s591ms timeout 1h expires 59m58s409ms, 172.67.69.19 . 443 last used 4s636ms timeout 1h expires 59m55s364ms, 142.250.201.72 . 443 last used 4s748ms timeout 1h expires 59m55s252ms, 172.67.70.134 . 443 last used 4s688ms timeout 1h expires 59m55s312ms, 35.241.9.150 . 443 last used 5s204ms timeout 1h expires 59m54s796ms, 138.201.122.174 . 443 last used 4s537ms timeout 1h expires 59m55s463ms, 34.160.144.191 . 443 last used 5s205ms timeout 1h expires 59m54s795ms, 130.211.23.194 . 443 last used 4s436ms timeout 1h expires 59m55s564ms } } }
- ะะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพััั ะพะฟัะตะดะตะปะตะฝะธั ะบะฒะพั ะฒ set-ัะฟะธัะบะฐั . ะะฐะฟัะธะผะตั, ะดะปั ะพะฟัะตะดะตะปะตะฝะธั ะบะฒะพัั ะฝะฐ ััะฐัะธะบ ะดะปั ะบะฐะถะดะพะณะพ ัะตะปะตะฒะพะณะพ IP-ะฐะดัะตัะฐ, ะผะพะถะฝะพ ัะบะฐะทะฐัั: table netdev x { set y { typeof ip daddr size 65535 quota over 10000 mbytes } chain y { type filter hook egress device ยซeth0ยป priority filter; policy accept; ip daddr @y drop } } # nft add element inet x y { 8.8.8.8 } # ping -c 2 8.8.8.8 # nft list ruleset table netdev x { set y { type ipv4_addr size 65535 quota over 10000 mbytes elements = { 8.8.8.8 quota over 10000 mbytes used 196 bytes } } chain y { type filter hook egress device ยซeth0ยป priority filter; policy accept; ip daddr @y drop } }
- ะ ะฐะทัะตัะตะฝะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะบะพะฝััะฐะฝั ะฒ set-ัะฟะธัะบะฐั . ะะฐะฟัะธะผะตั, ะฟัะธ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฒ ะบะฐัะตััะฒะต ะบะปััะฐ ัะฟะธัะบะฐ ะฐะดัะตัะฐ ะฝะฐะทะฝะฐัะตะฝะธั ะธ ะธะดะตะฝัะธัะธะบะฐัะพัะฐ VLAN ะผะพะถะฝะพ ะฝะฐะฟััะผัั ัะบะฐะทะฐัั ะฝะพะผะตั VLAN (daddr . 123): table netdev t { set s { typeof ether saddr . vlan id size 2048 flags dynamic,timeout timeout 1m } chain c { type filter hook ingress device eth0 priority 0; policy accept; ether type != 8021q update @s { ether daddr . 123 } counter } }
- ะะพะฑะฐะฒะปะตะฝะฐ ะฝะพะฒะฐั ะบะพะผะฐะฝะดะฐ ยซdestroyยป ะดะปั ะฑะตะทะพะณะพะฒะพัะพัะฝะพะณะพ ัะดะฐะปะตะฝะธั ะพะฑัะตะบัะพะฒ (ะฒ ะพัะปะธัะธะต ะพั ะบะพะผะฐะฝะดั delete ะฝะต ะณะตะฝะตัะธััะตั ENOENT ะฟัะธ ะฟะพะฟััะบะต ัะดะฐะปะตะฝะธั ะพััััััะฒัััะตะณะพ ะพะฑัะตะบัะฐ). ะะปั ัะฐะฑะพัั ััะตะฑัะตััั ะบะฐะบ ะผะธะฝะธะผัะผ ัะดัะพ Linux 6.3-rc. destroy table ip filter
เด เดตเดฒเดเดฌเด: opennet.ru