ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΡΠΈΠ»ΡΡΡΠΎΠΌ iptables 1.8.10, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ — iptables-nft ΠΈ ebtables-nft, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ Π² iptables ΠΈ ebtables, Π½ΠΎ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ nftables. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ iptables, Π²ΠΊΠ»ΡΡΠ°Ρ ip6tables, arptables ΠΈ ebtables, Π² 2018 Π³ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π² ΡΠ°Π·ΡΡΠ΄ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΈ ΡΠΆΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ½ Π½Π° nftables Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ².
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- Π ΡΡΠΈΠ»ΠΈΡΡ xtables-translate Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ» insert, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ntf-ΠΏΡΠ°Π²ΠΈΠ»Π° ‘insert rule … index N’).
- Π ebtables-nft Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π±Π»ΠΈΡ broute (bridge route).
- Π ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΡΠΈΠ»ΠΈΡΡ nft-variants, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ «-v» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ ΠΏΠΎΠΊΠ°Π· ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ set-Π½Π°Π±ΠΎΡΠΎΠ².
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠΌΡΠ½ «mld-listener-query», «mld-listener-report» ΠΈ «mld-listener-done» Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ICMPv6 Ρ ΡΠΈΠΏΠ°ΠΌΠΈ 130, 131 ΠΈ 132.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ «meta mark» ΠΈ ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡΠ°Π²ΠΈΠ»Π° «-j MARK», ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ nftables ΠΈ iptables-nft Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
- Π£ΡΡΡΠ°Π½Π΅Π½Ρ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru