ื ืคื˜ืึทื‘ืœืขืก ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ 1.0.6 ืžืขืœื“ื•ื ื’

ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ ื ืคื˜ืึทื‘ืœืขืก 1.0.6 ืื™ื– ืืจื•ื™ืก, ื™ื•ื ืึทืคื™ื™ื™ื ื’ ืคึผืึทืงืึทื˜ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคึฟืึทืจ IPv4, IPv6, ARP ืื•ืŸ ื ืขืฅ ื‘ืจื™ืงืŸ (ืึทื™ืžืขื“ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื™ืคึผื˜ืึทื‘ืœืขืก, ื™ืคึผ6ื˜ืึทื‘ืœืข, ืึทืจืคึผื˜ืึทื‘ืœืขืก ืื•ืŸ ืขื‘ื˜ืึทื‘ืœืขืก). ื“ื™ nftables ืคึผืขืงืœ ื›ื•ืœืœ ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื•ื•ืึธืก ืœื•ื™ืคืŸ ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ื‘ืฉืขืช ื“ื™ ืงืขืจืŸ-ืžื“ืจื’ื” ืึทืจื‘ืขื˜ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ nf_tables ืกืึทื‘ืกื™ืกื˜ืึทื, ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื–ื™ื ื˜ ืžืขืœื“ื•ื ื’ 3.13. ื“ืขืจ ืงืขืจืŸ ืžื“ืจื’ื” ื’ื™ื˜ ื‘ืœื•ื™ื– ืึท ื“ื–ืฉืึทื ืขืจื™ืง ืคึผืจืึธื˜ืึธืงืึธืœ-ืคืจื™ื™ึท ืฆื•ื‘ื™ื ื“ ื•ื•ืึธืก ื’ื™ื˜ ื™ืงืขืจื“ื™ืง ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ืคึผืึทืงื™ืฅ, ืคึผืขืจืคืึธืจืžื™ื ื’ ื“ืึทื˜ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืœื•ื™ืคืŸ ืงืึธื ื˜ืจืึธืœ.

ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ื›ึผืœืœื™ื ืื•ืŸ ืคึผืจืึธื˜ืึธืงืึธืœ-ืกืคึผืขืฆื™ืคื™ืฉ ื”ืึทื ื“ืœืขืจืก ื–ืขื ืขืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื™ืŸ ื‘ื™ื˜ืขืงืึธื“ืข ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ื ืึธืš ื•ื•ืึธืก ื“ืขื ื‘ื™ื™ื˜ืขืงืึธื“ ืื™ื– ืœืึธื•ื“ื™ื“ ืื™ืŸ ื“ื™ ืงืขืจืŸ ื ื™ืฆืŸ ื“ื™ ื ืขื˜ืœื™ื ืง ืฆื•ื‘ื™ื ื“ ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ื“ื™ ืงืขืจืŸ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืจืขืžืึทื ื™ืกืึทื ื˜ ืคื•ืŸ BPF (Berkeley Packet Filters). ื“ืขืจ ืฆื•ื’ืึทื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ืื˜ื™ื™ื˜ื™ืง ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืงืึธื“ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื” ืื•ืŸ ืžืึทืš ืึทืœืข ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ืคื•ืŸ ืคึผืึทืจืกื™ื ื’ ื›ึผืœืœื™ื ืื•ืŸ ืœืึธื’ื™ืง ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืคึผืจืึธื˜ืึธืงืึธืœืก ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ื“ื™ ื›ึผืœืœื™ื ืึธืคึผื˜ื™ืžื™ื–ืขืจ, ื’ืขืจื•ืคืŸ ื•ื•ืขืŸ ื“ื™ "-ืึธ / - ืึธืคึผื˜ื™ืžื™ื–ืข" ืึธืคึผืฆื™ืข ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“, ื”ืื˜ ืึธื˜ืึทืžืึทื˜ื™ืง ืคึผืึทืงื™ื“ื–ืฉื™ื ื’ ืคื•ืŸ ื›ึผืœืœื™ื ื“ื•ืจืš ืงืึทืžื‘ื™ื™ื ื™ื ื’ ื–ื™ื™ ืื•ืŸ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ื–ื™ื™ ืื™ืŸ ืžืึทืคึผืข ืื•ืŸ ืฉื˜ืขืœืŸ ืจืฉื™ืžื•ืช. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื›ึผืœืœื™ื # cat ruleset.nft ื˜ื™ืฉ ื™ืคึผ ืจืขื ื˜ื’ืขื  { ืงื™ื™ื˜ ื™ {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืงืจื•ืง ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคึผืึธืœื™ื˜ื™ืง ืคืึทืœืŸ; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 accept meta iifname eth1 ip saddr 1.1.1.2 ip saddr 2.2.3.0 ip daddr .24 .1 ip daddr 1.1.1.2-2.2.4.0 accept meta iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 accept } } ื ืึธืš ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ "nft -o -c -f ruleset.nft" ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืฆื• ื•ื•ื™ ื’ื™ื™ื˜: ื›ึผืœืœื™ื nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 accept ruleset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.2.n accept ruleset. : 2.2.2.4:6-17: meta iifname eth77 ip saddr 1 ip daddr 1.1.1.2/2.2.3.0 accept ruleset.nft:24:7-17: meta iifname eth83 ip saddr 1 ip daddr 1.1.1.2. ืึธื ื ืขืžืขืŸ Ruleset.nft:2.2.4.0:2.2.4.10-8: ืžืขื˜ืึท ื™ื™ืคื ืึทืžืข ืขื˜ื”17 ื™ืคึผ ืกืึทื“ืจ 74 ื™ืคึผ ื“ืึทื“ื“ืจ 2 ืึธื ื ืขืžืขืŸ ืื™ืŸ: ื™ื™ืคื ืึทืžืข. ip saddr. ื™ืคึผ ื“ืึทื“ื“ืจ {ืขื˜ื”1.1.1.3. 2.2.2.5. 1, ืขื˜ื”1.1.1.1. 2.2.2.3. 1, ืขื˜ื”1.1.1.2. 2.2.2.4. 1/1.1.1.2, ืขื˜ื”2.2.3.0. 24. 1-1.1.1.2, ืขื˜ื”2.2.4.0. 2.2.4.10. 2 } ืึธื ื ืขืžืขืŸ
  • ื“ื™ ืึธืคึผื˜ื™ืžื™ื–ืขืจ ืงืขื ืขืŸ ืื•ื™ืš ื’ืขืจ ื›ึผืœืœื™ื ื•ื•ืึธืก ืฉื•ื™ืŸ ื ื•ืฆืŸ ืคึผืฉื•ื˜ ืฉื˜ืขืœืŸ ืจืฉื™ืžื•ืช ืื™ืŸ ืึท ืžืขืจ ืกืึธืœื™ื“ ืคืึธืจืขื, ืœืžืฉืœ ื“ื™ ื›ึผืœืœื™ื: # cat ruleset.nft ื˜ื™ืฉ ื™ืคึผ ืคื™ืœื˜ืขืจ { ืงื™ื™ื˜ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ { ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืงืจื•ืง ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคึผืึธืœื™ื˜ื™ืง ืคืึทืœืŸ; iifname "ืœืึธ" ืึธื ื ืขืžืขืŸ ืงื˜ ืฉื˜ืึทื˜ ื’ืขื’ืจื™ื ื“ืขื˜, ืคึฟืึทืจื‘ื•ื ื“ืขื ืข ืึธื ื ืขืžืขืŸ ื‘ืึทืžืขืจืงื•ื ื’ "ืื™ืŸ ืคืึทืจืงืขืจ ืžื™ืจ ืงื•ืžืขืŸ, ืžื™ืจ ืฆื•ื˜ืจื•ื™" iifname "enp0s31f6" ip saddr {209.115.181.102, 216.197.228.230} ip daddr 10.0.0.149 udp sport 123 ื•ื“ืคึผ 32768 iifname "enp65535s0f31" ip saddr {6, 64.59.144.17} ip daddr 64.59.150.133 udp sport 10.0.0.149 udp dport 53-32768 ืึธื ื ืขืžืขืŸ } } ื ืึธืš ืขืงืกืึทืงื™ื•ื˜ื™ื ื’. -nft ืคึผืขืงืœ : ruleset.nft:65535:6-22: iifname "enp149s0f31" ip saddr {6, 209.115.181.102} ip daddr 216.197.228.230 ื•ื“ืคึผ ืกืคึผืึธืจื˜ 10.0.0.149, 123 32768 : iifname "enp65535s7f22" ip saddr {143, 0} ip daddr 31 udp sport 6 udp dport 64.59.144.17-64.59.150.133 accept into: iifname. ip saddr. ip daddr. udp sport. udp dport {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 (ื ืขืฅ ื‘ื™ื™ื˜ ืกื“ืจ) ืื•ืŸ ืžืขื˜ืึท ืžืืจืง (ืกื™ืกื˜ืขื ื‘ื™ื™ื˜ ืกื“ืจ). ื˜ื™ืฉ ื™ืคึผ ืจืขื ื˜ื’ืขื  { ืžืึทืคึผืข ื•ื• { ื˜ื™ืคึผ ืคื•ืŸ ื™ืคึผ ืกืึทื“ืจ . ืžืขื˜ืึท ืฆื™ื™ื›ืŸ: ื•ื•ืขืจื“ื™ืงื˜ ืคืœืึทื’ืก ื™ื ื˜ืขืจื•ื•ืึทืœ ื˜ืึธืžื‘ืึทื ืง ืขืœืขืžืขื ื˜ืŸ = {127.0.0.1-127.0.0.4. 0x123434-0xb00122: ืึธื ื ืขืžืขืŸ, 192.168.0.10-192.168.1.20. 0x0000aa00-0x0000aaff: ืึธื ื ืขืžืขืŸ,}} ืงื™ื™ื˜ ืง {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืงืจื•ืง ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคึผืึธืœื™ื˜ื™ืง ืคืึทืœืŸ; ip saddr. ืžืขื˜ืึท ืžืืจืง ื•ื•ืžืึทืคึผ @ื•ื• } }
  • ื™ืžืคึผืจื•ื•ื•ื“ ืคืึทืจื’ืœื™ื™ึทืš ืคื•ืŸ ื–ืขืœื˜ืŸ ืคึผืจืึธื˜ืึธืงืึธืœืก ื•ื•ืขืŸ ื ื™ืฆืŸ ืจื•ื™ ืื•ื™ืกื“ืจื•ืงืŸ, ืœืžืฉืœ: meta l4proto 91 @th,400,16 0x0 accept
  • ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ืขื ื™ื™ื‘ืึทืœื™ื ื’ ื›ึผืœืœื™ื ืื™ืŸ ื™ื ื˜ืขืจื•ื•ืึทืœื– ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืจื™ื–ืึทืœื•ื•ื“: ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ื”ืขืจืฉืŸ xy tcp sport {3478-3497, 16384-16387} ื˜ืึธืžื‘ืึทื ืง ืึธื ื ืขืžืขืŸ
  • ื“ื™ JSON API ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืื•ื™ืกื“ืจื•ืงืŸ ืื™ืŸ ืฉื˜ืขืœืŸ ืื•ืŸ ืžืึทืคึผืข ืจืฉื™ืžื•ืช.
  • ื™ืงืกื˜ืขื ืฉืึทื ื– ืฆื• ื“ื™ nftables ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืœืึธื–ืŸ ืœืึธื•ื“ื™ื ื’ ืคื•ืŸ ื”ืขืจืฉืŸ ืฉื˜ืขืœื˜ ืคึฟืึทืจ ืคึผืจืึทืกืขืกื™ื ื’ ืื™ืŸ ื•ื•ืึทืœืึทื“ื™ื™ืฉืึทืŸ ืžืึธื“ืข ("-C") ืื•ืŸ ืœื™ื™ื’ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื“ืขืคึฟื™ื ื™ืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  • ืึทื“ื™ื ื’ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืื™ื– ืขืจืœื•ื™ื‘ื˜ ืื™ืŸ ืฉื˜ืขืœืŸ ืจืฉื™ืžื” ืขืœืขืžืขื ื˜ืŸ.
  • ื‘ื™ื™ื˜ืข ืจืึทื˜ืขืœื™ืžื™ื˜ ืึทืœืึทื•ื– ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ื ื•ืœ ื•ื•ืขืจื˜.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’