nftables เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ 1.0.6 เชฐเชฟเชฒเซ€เช

nftables 1.0.6 เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ IPv4, IPv6, ARP เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเซเชฐเชฟเชœ เชฎเชพเชŸเซ‡ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเซ‡ เช›เซ‡ (iptables, ip6table, arptables เช…เชจเซ‡ ebtables เชจเซ‡ เชฌเชฆเชฒเชตเชพเชจเซ‹ เชนเซ‡เชคเซ). nftables เชชเซ‡เช•เซ‡เชœเชฎเชพเช‚ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ เช˜เชŸเช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพเชฎเชพเช‚ เชšเชพเชฒเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช•เชฐเซเชจเชฒ เชธเซเชคเชฐ nf_tables เชธเชฌเชธเชฟเชธเซเชŸเชฎ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชฐเชฟเชฒเซ€เช 3.13 เชฅเซ€ Linux เช•เชฐเซเชจเชฒเชจเซ‹ เชญเชพเช— เช›เซ‡. เช•เชฐเซเชจเชฒ เชธเซเชคเชฐเซ‡, เชฎเชพเชคเซเชฐ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ-เชธเซเชตเชคเช‚เชคเซเชฐ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เชชเซ‡เช•เซ‡เชŸเซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เช•เชพเชขเชตเชพ, เชกเซ‡เชŸเชพ เชชเชฐ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเชตเชพ เช…เชจเซ‡ เชชเซเชฐเชตเชพเชนเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เช•เชพเชฐเซเชฏเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡.

เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช—เชจเชพ เชจเชฟเชฏเชฎเซ‹ เชชเซ‹เชคเซ‡ เช…เชจเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ-เชตเชฟเชถเชฟเชทเซเชŸ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เชฏเซเชเชฐ-เชธเซเชชเซ‡เชธ เชฌเชพเช‡เชŸเช•เซ‹เชกเชฎเชพเช‚ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เช† เชฌเชพเช‡เชŸเช•เซ‹เชก เชจเซ‡เชŸเชฒเชฟเช‚เช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ BPF (เชฌเชฐเซเช•เชฒเซ‡ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐเซเชธ) เชœเซ‡เชตเชพ เชตเชฟเชถเชฟเชทเซเชŸ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชฎเชพเช‚ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เช…เชญเชฟเช—เชฎ เช•เชฐเซเชจเชฒ เชธเซเชคเชฐเซ‡ เชšเชพเชฒเชคเชพ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เช•เซ‹เชกเชจเชพ เช•เชฆเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เช˜เชŸเชพเชกเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช— เชจเชฟเชฏเชฎเซ‹เชจเชพ เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹ เช…เชจเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเชพ เชคเชฐเซเช•เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพเชฎเชพเช‚ เช–เชธเซ‡เชกเซ‡ เช›เซ‡.

เชฎเซเช–เซเชฏ เชซเซ‡เชฐเชซเชพเชฐเซ‹:

  • เชจเชฟเชฏเชฎเซ‹ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐ, เชœเซเชฏเชพเชฐเซ‡ โ€œ-o/โ€”เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชโ€ เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เชจเชฟเชฏเชฎเซ‹เชจเซเช‚ เชธเซเชตเชšเชพเชฒเชฟเชค เชชเซ‡เช•เซ‡เชœเชฟเช‚เช— เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชจเช•เชถเชพเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชธเซ‚เชšเชฟเช“ เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเชฟเชฏเชฎเซ‹ # cat ruleset.nft เชŸเซ‡เชฌเชฒ ip x { เชธเชพเช‚เช•เชณ y { เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช‡เชจเชชเซเชŸ เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 เชธเซเชตเซ€เช•เชพเชฐเซ‹ meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 เชธเซเชตเซ€เช•เชพเชฐเซ‹ meta iifname eth1 ip saddr 1.1.1.2 ip2.2.3.0 ip24.ifname saddr/1 เชธเซเชตเซ€เช•เชพเชฐเซ‹ 1.1.1.2 .2.2.4.0 ip daddr 2.2.4.10-2 เชธเซเชตเซ€เช•เชพเชฐเซ‹ meta iifname eth1.1.1.3 ip saddr 2.2.2.5 ip daddr 4 accept } } เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€ "nft -o -c -f ruleset.nft" เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เชฅเชถเซ‡: เชจเชฟเชฏเชฎเซ‹ . nft:17:74-1: meta iifname eth1.1.1.1 ip saddr 2.2.2.3 ip daddr 5 accept ruleset.nft:17:74-1: meta iifname eth1.1.1.2 ip saddr 2.2.2.4 ip daddr 6 เชฐเซ‚เชฒเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ‹. : 17:77-1: meta iifname eth1.1.1.2 ip saddr 2.2.3.0 ip daddr 24/7 accept ruleset.nft:17:83-1: meta iifname eth1.1.1.2 ip saddr 2.2.4.0 ip daddr 2.2.4.10-8 Ruleset.nft:17:74-2 เชธเซเชตเซ€เช•เชพเชฐเซ‹: meta iifname eth1.1.1.3 ip saddr 2.2.2.5 ip daddr 1 เชธเซเชตเซ€เช•เชพเชฐเซ‹: iifname. เช†เชˆเชชเซ€ เชธเชฆเซเชฆเชฐ. ip daddr { eth1.1.1.1 . 2.2.2.3. 1, eth1.1.1.2 . 2.2.2.4. 1, eth1.1.1.2 . 2.2.3.0. 24/1, eth1.1.1.2 . 2.2.4.0. 2.2.4.10-2, eth1.1.1.3. 2.2.2.5. XNUMX } เชธเซเชตเซ€เช•เชพเชฐเซ‹
  • เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐ เชเชตเชพ เชจเชฟเชฏเชฎเซ‹เชจเซ‡ เชชเชฃ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชธเชฐเชณ เชธเซ‡เชŸ เชธเซ‚เชšเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชงเซ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เช•เชฐเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชจเชฟเชฏเชฎเซ‹: # cat ruleset.nft เชŸเซ‡เชฌเชฒ ip เชซเชฟเชฒเซเชŸเชฐ { เชšเซ‡เช‡เชจ เช‡เชจเชชเซเชŸ { เชŸเชพเช‡เชช เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช‡เชจเชชเซเชŸ เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹; iifname โ€œloโ€ เชธเซเชตเซ€เช•เชพเชฐเซ‹ ct เชฐเชพเชœเซเชฏ เชธเซเชฅเชพเชชเชฟเชค, เชธเช‚เชฌเช‚เชงเชฟเชค เชธเซเชตเซ€เช•เชพเชฐเซ‹ เชŸเชฟเชชเซเชชเชฃเซ€ โ€œเช…เชฎเซ‡ เชŸเซเชฐเชพเชซเชฟเช•เชฎเชพเช‚ เช‰เชฆเซเชญเชตเซเชฏเชพ เช›เซ€เช, เช…เชฎเซ‡ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ€เช เช›เซ€เชโ€ iifname โ€œenp0s31f6โ€ ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 123 เชธเซเชตเซ€เช•เชพเชฐเซ‹ iifname "enp32768s65535f0" ip saddr { 31, 6 } ip daddr 64.59.144.17 udp sport 64.59.150.133 udp dport 10.0.0.149-53 }-เชชเซ…เช•เซ‡เชœ }-เชชเซ…เช•เซ‡เชœ เชชเช›เซ€ เช•เชพเชชเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช…เชจเซเชธเชฐเซ‡ เช›เซ‡ : Ruleset.nft:32768:65535-6: iifname "enp22s149f0" ip saddr { 31, 6 } ip daddr 209.115.181.102 udp เชฐเชฎเชคเช—เชฎเชคเชจเชพ เชจเชฟเชฏเชฎเซ‹ 216.197.228.230-10.0.0.149 udp เชธเซเชตเซ€เช•เชพเชฐเซ‡ เช›เซ‡. :123- 32768: iifname "enp65535s7f22" ip saddr { 143, 0 } ip daddr 31 udp sport 6 udp dport 64.59.144.17-64.59.150.133 เช†เชฎเชพเช‚ เชธเซเชตเซ€เช•เชพเชฐเซ‹: iif เชจเชพเชฎ. เช†เชˆเชชเซ€ เชธเชฆเซเชฆเชฐ. ip daddr. udp เชธเซเชชเซ‹เชฐเซเชŸ. เชฏเซเชกเซ€เชชเซ€ เชกเซ€เชชเซ‹เชฐเซเชŸ { enp10.0.0.149s53f32768 . 65535. 0. 31. 6-209.115.181.102, enp10.0.0.149s123f32768. 65535. 0. 31. 6-216.197.228.230, enp10.0.0.149s123f32768. 65535. 0. 31. 6-64.59.144.17, enp10.0.0.149s53f32768. 65535. 0. 31. 6-64.59.150.133 } เชธเซเชตเซ€เช•เชพเชฐเซ‹
  • IPv4 (เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชพเชˆเชŸ เช“เชฐเซเชกเชฐ) เช…เชจเซ‡ เชฎเซ‡เชŸเชพ เชฎเชพเชฐเซเช• (เชธเชฟเชธเซเชŸเชฎ เชฌเชพเชˆเชŸ เช“เชฐเซเชกเชฐ) เชœเซ‡เชตเชพ เช…เชฒเช—-เช…เชฒเช— เชฌเชพเชˆเชŸ เช“เชฐเซเชกเชฐ เชธเชพเชฅเซ‡ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เช…เช‚เชคเชฐเชพเชฒเซ‹เชจเซ‡ เชฎเชฐเซเชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชพเชˆเชŸเช•เซ‹เชก เชœเชจเชฐเซ‡เชถเชจเชจเซ€ เชธเชฎเชธเซเชฏเชพ เช‰เช•เซ‡เชฒเชพเชˆ. เช•เซ‹เชทเซเชŸเช• ip x { เชจเช•เชถเซ‹ w { ip saddr เชจเซ‹ เชชเซเชฐเช•เชพเชฐ . เชฎเซ‡เชŸเชพ เชฎเชพเชฐเซเช• : เชšเซเช•เชพเชฆเชพ เชซเซเชฒเซ‡เช—เซเชธ เช‡เชจเซเชŸเชฐเชตเชฒ เช•เชพเช‰เชจเซเชŸเชฐ เชเชฒเชฟเชฎเซ‡เชจเซเชŸเซเชธ = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : เชธเซเชตเซ€เช•เชพเชฐเซ‹, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : เชธเซเชตเซ€เช•เชพเชฐเซ‹, } } เชธเชพเช‚เช•เชณ k { เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช‡เชจเชชเซเชŸ เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹; เช†เชˆเชชเซ€ เชธเชฆเซเชฆเชฐ. เชฎเซ‡เชŸเชพ เชฎเชพเชฐเซเช• vmap @w } }
  • เช•เชพเชšเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฆเซเชฐเซเชฒเชญ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเซเชธเชจเซ€ เชธเซเชงเชพเชฐเซ‡เชฒ เชธเชฐเช–เชพเชฎเชฃเซ€, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡: meta l4proto 91 @th,400,16 0x0 เชธเซเชตเซ€เช•เชพเชฐเซ‹
  • เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชจเชฟเชฏเชฎเซ‹เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡: เชจเชฟเชฏเชฎ xy tcp เชธเซเชชเซ‹เชฐเซเชŸ { 3478-3497, 16384-16387 } เช•เชพเช‰เชจเซเชŸเชฐ เชธเซเชตเซ€เช•เชพเชฐเซ‹
  • เชธเชฎเซ‚เชน เช…เชจเซ‡ เชจเช•เชถเชพ เชธเซ‚เชšเชฟเชฎเชพเช‚ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจเชจเซ‡ เชธเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ JSON API เชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.
  • nftables python เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชฎเชพเช‚ เชเช•เซเชธเซเชŸเซ‡เชจเซเชถเชจเซเชธ เชฎเชพเชจเซเชฏเชคเชพ เชฎเซ‹เชก ("-c") เชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชฟเชฏเชฎ เชธเซ‡เชŸ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เชšเชฒเซ‹เชจเซ€ เชฌเชพเชนเซเชฏ เชตเซเชฏเชพเช–เซเชฏเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡.
  • เชธเชฎเซ‚เชน เชธเซ‚เชšเชฟ เช˜เชŸเช•เซ‹เชฎเชพเช‚ เชŸเชฟเชชเซเชชเชฃเซ€เช“ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.
  • เชฌเชพเชˆเชŸ เชฐเซ‡เชŸ เชฒเชฟเชฎเชฟเชŸ เชถเซ‚เชจเซเชฏ เชฎเซ‚เชฒเซเชฏเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹