nftables เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐ 1.0.3 เจฐเฉ€เจฒเฉ€เจœเจผ

เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐ nftables 1.0.3 เจฆเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, IPv4, IPv6, ARP เจ…เจคเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฌเฉเจฐเจฟเจœเจพเจ‚ (iptables, ip6table, arptables เจ…เจคเฉ‡ ebtables เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ) เจฒเจˆ เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เจธเจพเจฐ เจ•เจฐเจจเจพเฅค เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ nftables 1.0.3 เจฐเฉ€เจฒเฉ€เจœเจผ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ Linux 5.18 เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

nftables เจชเฉˆเจ•เฉ‡เจœ เจตเจฟเฉฑเจš เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐ เจญเจพเจ— เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจฏเฉ‚เจœเจผเจฐ เจธเจชเฉ‡เจธ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเฉ‡ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ•เจฐเจจเจฒ เจชเฉฑเจงเจฐ nf_tables เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจฆเฉเจ†เจฐเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ 3.13 เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจ•เจฐเจจเจฒ เจชเฉฑเจงเจฐ 'เจคเฉ‡, เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ†เจฎ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ-เจธเฉเจคเฉฐเจคเจฐ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจ•เฉฑเจขเจฃ, เจกเฉ‡เจŸเจพ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจจ, เจ…เจคเฉ‡ เจชเฉเจฐเจตเจพเจน เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจจเจฟเจฏเจฎ เจ–เฉเจฆ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเฉˆเจ‚เจกเจฒเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ-เจธเจชเฉ‡เจธ เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจธ เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจฒเจฟเฉฐเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ BPF (เจฌเจฐเจ•เจฒเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐ) เจตเจฐเจ—เฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจตเจฟเฉฑเจš เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจชเจนเฉเฉฐเจš เจ•เจฐเจจเจฒ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจ•เฉ‹เจก เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เจŸเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจชเจพเจฐเจธเจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ‡ เจคเจฐเจ• เจจเฉ‚เฉฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจชเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเจฟเจœเจพเจฃเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚:

  • เจธเฉˆเฉฑเจŸ เจธเฉ‚เจšเฉ€เจ†เจ‚ เจนเฉเจฃ เจฎเจพเจธเจ• เจฆเฉเจ†เจฐเจพ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเจพเจฎเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, "*" เจšเจฟเฉฐเจจเฉเจน เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจฟเจธเจผเจšเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ: เจŸเฉ‡เจฌเจฒ เจ‡เจจเฉ‡เจŸ เจŸเฉˆเจธเจŸเฉ€เจซเจผเจธเฉˆเจŸเจธ { เจธเฉˆเจŸ เจธเจงเจพเจฐเจจ_เจตเจพเจˆเจฒเจก { เจŸเจพเจˆเจช ifname เจซเจฒเฉˆเจ— เจ…เฉฐเจคเจฐเจพเจฒ เจคเฉฑเจค = { "abcdef*", "เจนเฉ‹เจฐเจจเจพเจฎ", "pp0" } } เจšเฉ‡เจจ 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 เจคเฉ‹เจ‚ 5.5.5.5:90 } }

    "nft -o -c -f ruleset.nft" เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจตเฉฑเจ–เจฐเฉ‡ "ip saddr" เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจ•เจธเจผเจพ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจฆเฉ‡เจตเฉ‡เจ—เจพ: snat เจคเฉ‹เจ‚ ip saddrเฅค tcp dport เจจเจ•เจธเจผเจพ { 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_p62st เจฒเฉฐเจฌเจพเจˆ @ _d78st _d160,128_0st เจฒเฉฐเจฌเจพเจˆ 0 31393032383939353831343037320x5301e62e goto nat_dns_this_78 udp เจฒเฉฐเจฌเจพเจˆ 160,128-0 @th,0 31363436323733373931323934300x5301e62e goto nat_dns_saturn_78 udp เจฒเฉฐเจฌเจพเจˆ 160,128-0 @th,0 32393535373539353636383732310 5302e goto nat_dns_saturn_62 udp เจฒเฉฐเจฌเจพเจˆ 78-160,128 @th,0 0x38353439353637323038363633390e5303e เจœเจพเจ“ nat_dns_saturn_XNUMX เจกเจฐเจพเจช }}

    เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจ•เจธเจผเจพ เจธเฉ‚เจšเฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆ: udp length. @th,160,128 vmap { 47-63 . 0x0e373135363130333131303735353203 : 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 } }
  • เจธเฉฐเจฏเฉ‹เจœเจจ เจ•เจพเจฐเจœเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจธเจฟเจฐเจฒเฉ‡เจ– เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†: เจŸเฉ‡เจฌเจฒ inet t { เจจเจ•เจธเจผเจพ m1 { udp เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจ•เจฟเจธเจฎเฅค @ih,32,32 : เจซเฉˆเจธเจฒเจพ เจซเจฒเฉˆเจ— เจ…เฉฐเจคเจฐเจพเจฒ เจคเฉฑเจค = {20-80 . 0x14 : เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเฉ‹, 1-10เฅค 0xa : เจกเฉเจฐเฉŒเจช } } เจšเฉ‡เจจ c { เจŸเจพเจˆเจช เจซเจฟเจฒเจŸเจฐ เจนเฉเฉฑเจ• เจ‡เฉฐเจชเฉเฉฑเจŸ เจคเจฐเจœเฉ€เจน 0; เจชเจพเจฒเจฟเจธเฉ€ เจกเฉเจฐเฉŒเจช; udp เจฒเฉฐเจฌเจพเจˆเฅค @ih,32,32 vmap @m1 } }
  • TCP เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† (เจธเจฟเจฐเจซเจผ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ 5.18+ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ): tcp เจซเจฒเฉˆเจ— เจธเจฟเฉฐเจจ เจฐเฉ€เจธเฉˆเจŸ tcp เจตเจฟเจ•เจฒเจช sack-perm
  • เจšเฉ‡เจจ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฎเจพเจ‚เจกเจพเจ‚ (โ€œnft เจธเฉ‚เจšเฉ€ เจšเฉ‡เจจ xyโ€) เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹