nftables เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเตผ 1.0.1 เดฑเดฟเดฒเต€เดธเต

ะžะฟัƒะฑะปะธะบะพะฒะฐะฝ ะฒั‹ะฟัƒัะบ ะฟะฐะบะตั‚ะฝะพะณะพ ั„ะธะปัŒั‚ั€ะฐ nftables 1.0.1, ัƒะฝะธั„ะธั†ะธั€ัƒัŽั‰ะตะณะพ ะธะฝั‚ะตั€ั„ะตะนัั‹ ั„ะธะปัŒั‚ั€ะฐั†ะธะธ ะฟะฐะบะตั‚ะพะฒ ะดะปั IPv4, IPv6, ARP ะธ ัะตั‚ะตะฒั‹ั… ะผะพัั‚ะพะฒ (ะฝะฐั†ะตะปะตะฝ ะฝะฐ ะทะฐะผะตะฝัƒ iptables, ip6table, arptables ะธ ebtables). ะะตะพะฑั…ะพะดะธะผั‹ะต ะดะปั ั€ะฐะฑะพั‚ั‹ ะฒั‹ะฟัƒัะบะฐ nftables 1.0.1 ะธะทะผะตะฝะตะฝะธั ะฒะบะปัŽั‡ะตะฝั‹ ะฒ ัะพัั‚ะฐะฒ ัะดั€ะฐ Linux 5.16-rc1.

nftables เดชเดพเด•เตเด•เต‡เดœเดฟเตฝ เดฏเต‚เดธเตผ เดธเตเดชเต‡เดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเตผ เด˜เดŸเด•เด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เด•เต‡เตผเดฃเตฝ-เดฒเต†เดตเตฝ เดตเตผเด•เตเด•เต เดจเตฝเด•เตเดจเตเดจเดคเต 3.13 เดฑเดฟเดฒเต€เดธเต เดฎเตเดคเตฝ Linux เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏ nf_tables เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฃเต. เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดกเดพเดฑเตเดฑ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ เดซเตเดฒเต‹ เด•เตบเดŸเตเดฐเต‹เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดœเดจเดฑเดฟเด•เต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ-เดธเตเดตเดคเดจเตเดคเตเดฐ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด•เต‡เตผเดฃเตฝ เดฒเต†เดตเตฝ เดจเตฝเด•เตเดจเตเดจเดคเต.

เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เดณเตเด‚ เดฏเต‚เดธเตผ-เดธเตโ€Œเดชเต‡เดธเต เดฌเตˆเดฑเตเดฑเตโ€Œเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดˆ เดฌเตˆเดฑเตเดฑเตโ€Œเด•เต‹เดกเต เดจเต†เดฑเตเดฑเตโ€Œเดฒเดฟเด™เตเด•เต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฌเดฟเดชเดฟเดŽเดซเต (เดฌเต†เตผเด•เตเด•เตโ€Œเดฒเดฟ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเดฑเตเด•เตพ) เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เด•เต‡เตผเดฃเดฒเดฟเตฝ เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดˆ เดธเดฎเต€เดชเดจเด‚ เด•เต‡เตผเดฃเตฝ เดคเดฒเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เด•เต‹เดกเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เด•เตเดฑเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดชเดพเดดเตเดธเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดŸเต† เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฒเต‹เดœเดฟเด•เตเด•เตเด‚ เดฏเต‚เดธเตผ เดธเตเดชเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดชเตเดฐเดงเดพเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเตเดคเตเดคเด™เตเด™เตพ:

  • ะกะพะบั€ะฐั‰ะตะฝะพ ะฟะพั‚ั€ะตะฑะปะตะฝะธะต ะฟะฐะผัั‚ะธ ะฟั€ะธ ะทะฐะณั€ัƒะทะบะต ะฑะพะปัŒัˆะธั… set- ะธ map-ัะฟะธัะบะพะฒ.
  • ะฃัะบะพั€ะตะฝะฐ ะฟะตั€ะตะทะฐะณั€ัƒะทะบะฐ set- ะธ map-ัะฟะธัะบะพะฒ.
  • ะฃัะบะพั€ะตะฝ ะฒั‹ะฒะพะด ะธะทะฑั€ะฐะฝะฝั‹ั… ั‚ะฐะฑะปะธั† ะธ ั†ะตะฟะพั‡ะตะบ ะฒ ะฑะพะปัŒัˆะธั… ะฝะฐะฑะพั€ะฐั… ะฟั€ะฐะฒะธะป. ะะฐะฟั€ะธะผะตั€, ะฒั€ะตะผั ะฒั‹ะฟะพะปะฝะตะฝะธั ะบะพะผะฐะฝะดั‹ ยซnft list rulesetยป ะดะปั ะฒั‹ะฒะพะดะฐ ะฝะฐะฑะพั€ะฐ ะฟั€ะฐะฒะธะป, ะฝะฐัั‡ะธั‚ั‹ะฒะฐัŽั‰ะตะณะพ 100 ั‚ั‹ััั‡ ัั‚ั€ะพะบ, ัะพัั‚ะฐะฒะปัะตั‚ 3.049 ัะตะบัƒะฝะดั‹, ะฐ ะฟั€ะธ ะฒั‹ะฒะพะดะต ั‚ะพะปัŒะบะพ ั‚ะฐะฑะปะธั† nat ะธ filter (ยซnft list table natยป, ยซnft list table filterยป) ัะพะบั€ะฐั‰ะฐะตั‚ัั ะดะพ 1.969 ะธ 0.697 ัะตะบัƒะฝะด.
  • ะฃัะบะพั€ะตะฝะพ ะฒั‹ะฟะพะปะฝะตะฝะธะต ะทะฐะฟั€ะพัะพะฒ ั ะพะฟั†ะธะตะน ยซโ€”terseยป ะฟั€ะธ ะพะฑั€ะฐะฑะพั‚ะบะต ะฟั€ะฐะฒะธะป ั ะฑะพะปัŒัˆะธะผะธ set- ะธ map-ัะฟะธัะบะฐะผะธ.
  • ะŸั€ะตะดะพัั‚ะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ั„ะธะปัŒั‚ั€ะฐั†ะธะธ ั‚ั€ะฐั„ะธะบะฐ ะธะท ั†ะตะฟะพั‡ะบะธ ยซegressยป, ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตะผะพะน ะฝะฐ ั‚ะพะผ ะถะต ัƒั€ะพะฒะฝะต, ั‡ั‚ะพ egress-ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ ะฒ ั†ะตะฟะพั‡ะบะต netdev (hook egress), ั‚.ะต. ะฝะฐ ัั‚ะฐะดะธะธ ะบะพะณะดะฐ ะดั€ะฐะนะฒะตั€ ะฟะพะปัƒั‡ะฐะตั‚ ะฟะฐะบะตั‚ ะพั‚ ัะตั‚ะตะฒะพะณะพ ัั‚ะตะบะฐ ัะดั€ะฐ. table netdev filter { chain egress { type filter hook egress devices = { eth0, eth1 } priority 0; meta priority set ip saddr map { 192.168.10.2 : abcd:2, 192.168.10.3 : abcd:3 } } }
  • ะ ะฐะทั€ะตัˆะตะฝะพ ัะพะฟะพัั‚ะฐะฒะปะตะฝะธะต ะธ ะธะทะผะตะฝะตะฝะธะต ะฑะฐะนั‚ะพะฒ ะฒ ะทะฐะณะพะปะพะฒะบะต ะธ ัะพะดะตั€ะถะธะผะพะผ ะฟะฐะบะตั‚ะฐ ะฟะพ ะทะฐะดะฐะฝะฝะพะผัƒ ัะผะตั‰ะตะฝะธัŽ. # nft add rule x y @ih,32,32 0x14000000 counter # nft add rule x y @ih,32,32 set 0x14000000 counter

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•