เชชเซเชเซเช เชซเชฟเชฒเซเชเชฐ nftables 1.0.3 เชจเซเช เชชเซเชฐเชเชพเชถเชจ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ, เชเซ IPv4, IPv6, ARP เช เชจเซ เชจเซเชเชตเชฐเซเช เชฌเซเชฐเชฟเช (iptables, ip6table, arptables เช เชจเซ ebtables เชจเซ เชฌเชฆเชฒเชตเชพเชจเชพ เชนเซเชคเซเชฅเซ) เชฎเชพเชเซ เชชเซเชเซเช เชซเชฟเชฒเซเชเชฐเชฟเชเช เชเชจเซเชเชฐเชซเซเชธเชจเซ เชเชเซเชเซเชค เชเชฐเซ เชเซ. เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ nftables 1.0.3 เชชเซเชฐเชเชพเชถเชจ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชซเซเชฐเชซเชพเชฐเซ Linux 5.18 เชเชฐเซเชจเชฒเชฎเชพเช เชธเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฒ เชเซ.
nftables เชชเซเชเซเชเชฎเชพเช เชชเซเชเซเช เชซเชฟเชฒเซเชเชฐ เชเชเชเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เชเซ เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชเซเชฏเชพเชฎเชพเช เชเชพเชฒเซ เชเซ, เชเซเชฏเชพเชฐเซ เชเชฐเซเชจเชฒ-เชธเซเชคเชฐเชจเซเช เชเชพเชฐเซเชฏ nf_tables เชธเชฌเชธเชฟเชธเซเชเชฎ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ 3.13 เชจเชพ เชชเซเชฐเชเชพเชถเชจเชฅเซ Linux เชเชฐเซเชจเชฒเชจเซ เชญเชพเช เชเซ. เชเชฐเซเชจเชฒ เชธเซเชคเชฐ เชฎเชพเชคเซเชฐ เชเช เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซเชเซเชเซเชฒ-เชธเซเชตเชคเชเชคเซเชฐ เชเชจเซเชเชฐเชซเซเชธ เชชเซเชฐเซเช เชชเชพเชกเซ เชเซ เชเซ เชชเซเชเซเชเซเชฎเชพเชเชฅเซ เชกเซเชเชพ เชเชพเชขเชตเชพ, เชกเซเชเชพ เชเชชเชฐเซเชถเชจ เชเชฐเชตเชพ เช เชจเซ เชซเซเชฒเซ เชเชเชเซเชฐเซเชฒ เชฎเชพเชเซ เชฎเซเชณเชญเซเชค เชเชพเชฐเซเชฏเซ เชชเซเชฐเชพ เชชเชพเชกเซ เชเซ.
เชซเชฟเชฒเซเชเชฐเชฟเชเชเชจเชพ เชจเชฟเชฏเชฎเซ เชชเซเชคเซ เช เชจเซ เชชเซเชฐเซเชเซเชเซเชฒ-เชตเชฟเชถเชฟเชทเซเช เชนเซเชจเซเชกเชฒเชฐเซเชธ เชฏเซเชเชฐ-เชธเซเชชเซเชธ เชฌเชพเชเชเชเซเชกเชฎเชพเช เชเชฎเซเชชเชพเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เชชเชเซ เช เชฌเชพเชเชเชเซเชก เชจเซเชเชฒเชฟเชเช เชเชจเซเชเชฐเชซเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเซเชจเชฒเชฎเชพเช เชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชจเซ BPF (เชฌเชฐเซเชเชฒเซ เชชเซเชเซเช เชซเชฟเชฒเซเชเชฐเซเชธ) เชเซเชตเชพ เชตเชฟเชถเชฟเชทเซเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชฎเชพเช เชเชฐเซเชจเชฒเชฎเชพเช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เช เชญเชฟเชเชฎ เชเชฐเซเชจเชฒ เชธเซเชคเชฐเซ เชเชพเชฒเชคเชพ เชซเชฟเชฒเซเชเชฐเชฟเชเช เชเซเชกเชจเชพ เชเชฆเชจเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชเชเชพเชกเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชพเชตเซ เชเซ เช เชจเซ เชชเชพเชฐเซเชธเชฟเชเช เชจเชฟเชฏเชฎเซเชจเชพ เชคเชฎเชพเชฎ เชเชพเชฐเซเชฏเซ เช เชจเซ เชชเซเชฐเซเชเซเชเซเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเชพ เชคเชฐเซเชเชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชเซเชฏเชพเชฎเชพเช เชเชธเซเชกเซ เชเซ.
เชฎเซเชเซเชฏ เชจเชตเซเชจเชคเชพเช:
- เชธเซเช เชฒเชฟเชธเซเช เชนเชตเซ เชฎเชพเชธเซเช เชฆเซเชตเชพเชฐเชพ เชฎเซเชณ เชเชพเชคเชพ เชจเซเชเชตเชฐเซเช เชเชจเซเชเชฐเชซเซเชธ เชจเชพเชฎเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, โ*โ เชชเซเชฐเชคเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฒเซเชฒเซเชเชฟเชค: เชเซเชฌเชฒ เชเชจเซเช เชเซเชธเซเชเชฟเชซเชธเซเชเซเชธ { เชธเซเช เชธเชฟเชฎเซเชชเชฒ_เชตเชพเชเชฒเซเชก { เชเชพเชเชช ifname เชซเซเชฒเซเชเซเชธ เชเชจเซเชเชฐเชตเชฒ เชเชฒเชฟเชฎเซเชจเซเชเซเชธ = { โabcdef*โ, โเช เชจเซเชฏ เชจเชพเชฎโ, โppp0โ } } เชธเชพเชเชเชณ v4icmp { เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชเชจเชชเซเช เชชเซเชฐเชพเชงเชพเชจเซเชฏเชคเชพ 0; เชจเซเชคเชฟ เชธเซเชตเซเชเชพเชฐเซ; iifname @simple_wild เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซเชธ 0 เชฌเชพเชเชเซเชธ 0 iifname { โabcdef*โ, โeth0โ } เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซเชธ 0 เชฌเชพเชเชเซเชธ 0 } }
- เชเชชเชฐเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชเชฌเซเชเชพเชจเซ เชเซเชฆเชคเชพ เชธเซเช-เชธเซเชเชฟ เชเชเชเซเชจเซเช เชเชเซเชฎเซเชเชฟเช เชฎเชฐเซเชเชฟเชเช เชฒเชพเชเซ เชเชฐเซเชฏเซเช. เชชเชนเซเชฒเชพเช, เชเซเชฏเชพเชฐเซ "เชเชเซ-เชฎเชฐเซเช" เชตเชฟเชเชฒเซเชช เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ, เชคเซเชฏเชพเชฐเซ เชจเชฟเชฏเชฎเซ เชเชพเชนเซเชฐ เชเชฐเชตเชพเชจเชพ เชคเชฌเชเซเชเซ เชฎเชฐเซเชเชฟเชเช เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช เชเชตเชคเซเช เชนเชคเซเช, เชชเชฐเชเชคเซ เชนเชตเซ เชเซเชฏเชพเชฐเซ เชเชชเชฐเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชจเชตเชพ เชเชเชเซเชจเซ เชตเชงเชพเชฐเชพเชฎเชพเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชคเซ เชชเชฃ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเชทเชฃเชพเชจเชพ เชคเชฌเชเซเชเซ, เชธเซเชเชฟ เชธเซเช y { เชซเซเชฒเซเชเซเชธ เช
เชเชคเชฐเชพเชฒ เชเชเซ-เชฎเชฐเซเช เชคเชคเซเชตเซ = { 1.2.3.0, 1.2.3.255, 1.2.3.0/24, 3.3.3.3, 4.4.4.4, 4.4.4.4-4.4.4.8 , 3.3.3.4 , 3.3.3.5 } } เชคเชคเซเชตเซเชฎเชพเช เชซเซเชฐเชตเชพเชถเซ = { 1.2.3.0/24, 3.3.3.3-3.3.3.5, 4.4.4.4-4.4.4.8 } เช
เชจเซ เชชเชเซ เชเซ เชคเชฎเซ เชจเชตเชพ เชเชเชเซ เชเชฎเซเชฐเซ # nft เชเชฒเชฟเชฎเซเชจเซเช เชเชฎเซเชฐเซ ip xy { 1.2.3.0 -1.2.4.255, 3.3.3.6 } เชคเชคเซเชตเซ = { 1.2.3.0-1.2.4.255, 3.3.3.3-3.3.3.6, 4.4.4.4-4.4.4.8 } เชเซเชตเชพ เชฆเซเชเชพเชถเซ
เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชธเซเชเชฟเชฎเชพเชเชฅเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชเชเชเชฎเซเชธ เชฆเซเชฐ เชเชฐเซ เชเซ เชเซ เชนเชพเชฒเชจเซ เชถเซเชฐเซเชฃเซเชจเซ เชเชเชเชฎเซเชธเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชถเซเชฐเซเชฃเซ เชเซเชเชเซ เช เชฅเชตเชพ เชตเชฟเชญเชพเชเชฟเชค เชฅเชพเชฏ เชเซ.
- เชจเชเชถเชพ เชธเซเชเชฟเชฎเชพเช เชฎเชฒเซเชเชฟเชชเชฒ เชเชกเซเชฐเซเชธ เชเซเชฐเชพเชจเซเชธเชฒเซเชถเชจ (NAT) เชจเชฟเชฏเชฎเซเชจเซ เชธเชเชฏเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชเชงเชพเชฐ เชจเชฟเชฏเชฎเซ เชเชชเซเชเชฟเชฎเชพเชเชเชฐเชฎเชพเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ, เชเซเชฏเชพเชฐเซ "-o/โเชเชชเซเชเชฟเชฎเชพเชเช" เชตเชฟเชเชฒเซเชช เชเชฒเซเชฒเซเชเชฟเชค เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชเชนเซเชตเชพเชฏ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเซเช เชฎเชพเชเซ # cat ruleset.nft เชเซเชฌเชฒ ip x { เชธเชพเชเชเชณ y { เชเชพเชเชช nat hook postrouting priority srcnat; เชจเซเชคเชฟเชฎเชพเช เชเชเชพเชกเซ; ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80 ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90 } }
"nft -o -c -f ruleset.nft" เชเชฒเชพเชตเชตเชพเชฅเซ เช เชฒเช "ip saddr" เชจเชฟเชฏเชฎเซเชจเซ เชจเชเชถเชพ เชธเซเชเชฟเชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชฅเชถเซ: snat to ip saddr. tcp เชกเซเชชเซเชฐเซเช เชจเชเชถเซ { 1.1.1.1 . 8000: 4.4.4.4. 80, 2.2.2.2. 8001: 5.5.5.5. 90}
เชคเซเชตเซ เช เชฐเซเชคเซ, เชเชพเชเซ เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชจเชเชถเชพเชจเซ เชธเซเชเชฟเชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ: # cat ruleset.nft เชเซเชฌเชฒ ip x { [โฆ] เชธเชพเชเชเชณ nat_dns_acme { udp เชฒเชเชฌเชพเช 47-63 @th,160,128 0x0e373135363130333131303735353203 @d_t62st _t78st เชฒเชเชฌเชพเช 160,128 0x0e31393032383939353831343037320e goto nat_dns_this_5301 udp เชฒเชเชฌเชพเช 62-78 @th,160,128 0x0e31363436323733373931323934300e nat_dns_saturn_5301 เชชเชฐ เชเชพเช 62e เชเชพเช nat_dns_saturn_78 udp เชฒเชเชฌเชพเช 160,128-0 @th,0 32393535373539353636383732310x5302e62e nat_dns_saturn_78 เชกเซเชฐเซเชช เชชเชฐ เชเชพเช }}
เชเชชเซเชเชฟเชฎเชพเชเชเซเชถเชจ เชชเชเซ เช เชฎเชจเซ เชจเชเชถเชพเชจเซ เชธเซเชเชฟ เชฎเชณเซ เชเซ: udp length. @th,160,128 vmap { 47-63 . 0x0e373135363130333131303735353203 : goto nat_dns_dnstc, 62-78 . 0x0e31393032383939353831343037320e : nat_dns_this_5301, 62-78 เชชเชฐ เชเชพเช. 0x0e31363436323733373931323934300e : nat_dns_saturn_5301, 62-78 เชชเชฐ เชเชพเช. 0x0e32393535373539353636383732310e : nat_dns_saturn_5302, 62-78 เชชเชฐ เชเชพเช. 0x0e38353439353637323038363633390e : goto nat_dns_saturn_5303 }
- เชเซเชกเชพเชฃ เชเชพเชฎเชเซเชฐเซเชฎเชพเช เชเชพเชเชพ เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ: #nft เชเชฎเซเชฐเซ เชจเชฟเชฏเชฎ xy ip saddr. @ih,32,32 { 1.1.1.1 . 0x14, 2.2.2.2 . 0x1e } เช เชฅเชตเชพ เชเซเชฌเชฒ x { เชธเซเช y { ip saddr เชจเซ เชชเซเชฐเชเชพเชฐ . @ih,32,32 เชคเชคเซเชตเซ = { 1.1.1.1 . 0x14 } }
- เชธเชเชเชฒเชจ เชเชพเชฎเชเซเชฐเซเชฎเชพเช เชชเซเชฐเซเชฃเชพเชเช เชนเซเชกเชฐ เชซเซเชฒเซเชกเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฎเซเชฐเชพเชฏเซเชฒ เชธเชฎเชฐเซเชฅเชจ: เชเซเชฌเชฒ เชเชจเซเช t { เชจเชเชถเซ m1 { เชชเซเชฐเชเชพเชฐ udp เชฒเชเชฌเชพเช. @ih,32,32 : เชเซเชเชพเชฆเชพ เชซเซเชฒเซเชเซเชธ เช เชเชคเชฐเชพเชฒ เชคเชคเซเชตเซ = { 20-80 . 0x14 : เชธเซเชตเซเชเชพเชฐเซ, 1-10 . 0xa : เชกเซเชฐเซเชช } } เชธเชพเชเชเชณ c { เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชเชจเชชเซเช เชชเซเชฐเชพเชงเชพเชจเซเชฏเชคเชพ 0; เชจเซเชคเชฟเชฎเชพเช เชเชเชพเชกเซ; udp เชฒเชเชฌเชพเช. @ih,32,32 vmap @m1 } }
- TCP เชตเชฟเชเชฒเซเชชเซเชจเซ เชฐเซเชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฎเซเชฐเชพเชฏเซเชฒ เชธเชฎเชฐเซเชฅเชจ (เชฎเชพเชคเซเชฐ Linux เชเชฐเซเชจเชฒ 5.18+ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ): tcp เชซเซเชฒเซเชเซเชธ syn reset tcp เชตเชฟเชเชฒเซเชช sack-perm
- เชธเชพเชเชเชณ เชเชเชเชชเซเช เชเชฆเซเชถเซ ("nft เชธเซเชเชฟ เชธเชพเชเชเชณ xy") เชจเชพ เช เชฎเชฒเชจเซ เชตเซเช เชเชชเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ.
เชธเซเชฐเซเชธ: opennet.ru