ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ° nftables 0.9.9, ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ IPv4, IPv6, ARP ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΌΠΎΡΡΠΎΠ² (Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ iptables, ip6table, arptables ΠΈ ebtables). ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libnftnl 1.2.0, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ API Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ nf_tables. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΡΡΠΊΠ° nftables 0.9.9 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux 5.13-rc1.
Π ΠΏΠ°ΠΊΠ΅Ρ nftables Π²Ρ ΠΎΠ΄ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΡΠ°Π±ΠΎΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° nf_tables, Π²Ρ ΠΎΠ΄ΡΡΠ°Ρ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 3.13. ΠΠ° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ.
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΉ Π±Π°ΠΉΡΠΊΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² ΡΠ΄ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Netlink ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ΄ΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅ΠΉ BPF (Berkeley Packet Filters). ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΈ Π²ΡΠ½Π΅ΡΡΠΈ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ» ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ½ΠΎΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ flowtable Π½Π° ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠ°Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π°Π³Π° ‘offload’. Flowtable ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΡΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. table ip global { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; policy accept; ip protocol { tcp, udp } flow add @f } chain post { type nat hook postrouting priority filter; policy accept; oifname «wan» masquerade } }
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ»Π°Π³Π° Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ Π²Π»Π°Π΄Π΅Π»ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½Π°Ρ ΠΊ Π½Π΅ΠΌΡ ΡΠ°Π±Π»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π΄Π°ΠΌΠΏΠ΅ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; policy accept; counter packets 1 bytes 309 } }
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ IEEE 802.1ad (VLAN stacking ΠΈΠ»ΠΈ QinQ), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΉ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΎΠ² VLAN Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π΄Ρ Ethernet. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Ethernet-ΠΊΠ°Π΄ΡΠ° 8021ad ΠΈ vlan id=342 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ … ether type 802.1ad vlan id 342 Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΠΏΠ° Ethernet-ΠΊΠ°Π΄ΡΠ° 8021ad/vlan id=1, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ 802.1q/vlan id=2 ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ IP-ΠΏΠ°ΠΊΠ΅ΡΠ°: … ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ cgroups v2. ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ cgroups v2 ΠΎΡ v1 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ cgroups Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ², Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΉ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² CPU, Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΏΡΠ΅Π΄ΠΎΠΊ ΡΠΎΠΊΠ΅ΡΠ° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ cgroupv2 ΠΌΠ°ΡΠΊΠ΅ «system.slice» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΠΊΡΠΈΡ: … socket cgroupv2 level 1 «system.slice»
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² SCTP (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠ΄ΡΠ΅ Linux 5.14). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ chunk-Π° Ρ ΡΠΈΠΏΠΎΠΌ ‘data’ ΠΈ ΠΏΠΎΠ»Π΅ΠΌ ‘type’: … sctp chunk data exists … sctp chunk data type 0
- ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² Π΄Π²Π° ΡΠ°Π·Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π°Π³Π° «-f». Π’Π°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ».
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΡΠΎΠ² Π² ΡΠ»Π°Π³Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ Π±ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ snat ΠΈ dnat Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ: … ct status ! snat,dnat Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ Π±ΠΈΡ syn ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΊΠ΅ syn,ack: … tcp flags syn / syn,ack Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ Π±ΠΈΡΡ fin ΠΈ rst Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΊΠ΅ syn,ack,fin,rst: … tcp flags != fin,rst / syn,ack,fin,rst
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° «verdict» Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ typeof Π΄Π»Ρ set/map: add map x m { typeof iifname . ip protocol . th dport : verdict ;}
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru