Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΡΠΈΠ»ΡΡΡ iptables 1.8.11, ΡΠΈΠΉΡΠΎ ΡΠΎΠΊΡΡ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΡΠΊ Π΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½ Π²ΡΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ β iptables-nft ΠΈ ebtables-nft, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ ΡΡΡ ΡΡΡΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄, ΠΊΠ°ΠΊΡΠΎ Π² iptables ΠΈ ebtables, Π½ΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°ΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² Π±Π°ΠΉΡ ΠΊΠΎΠ΄ nftables. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ iptables, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ip6tables, arptables ΠΈ ebtables, ΠΏΡΠ΅Π· 2018 Π³ΠΎΠ΄ΠΈΠ½Π° Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ²Π΅Π½ Π·Π° ΠΎΡΡΠ°ΡΡΠ» ΠΈ Π²Π΅ΡΠ΅ Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ nftables Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΡΠΈΠ»ΠΈΡΠ° arptables-translate, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° arptables Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Ρ nftables.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° ebtables-nft Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ββchange-countersβ, ββreplaceβ ΠΈ ββlist-rulesβ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡΡΠΈ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° β-c N,Mβ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π°.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° iptables-translate Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Π»ΠΈΡΠ΅ TPROXY ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ xt_socket Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° (match) Π½Π° ΡΠΎΠΊΠ΅ΡΠΈ. Π‘ iptables Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° iptables Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π΅ΡΠ²Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ dccp ΠΈ ipcomp, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π΅Π΄ΠΈΠ½Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ iptables-save.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° iptables-save ΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° getprotobynumber() Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π°.
- Π ΡΠΊΡΠΈΠΏΡΠ° configure Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Ρ libnfnetlink.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
