nftables แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 1.0.0

แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก nftables 1.0.0 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒก IPv4, IPv6, ARP แƒ“แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒฎแƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ›แƒ˜แƒ–แƒœแƒแƒ“ แƒ˜แƒกแƒแƒฎแƒแƒ•แƒก iptables, ip6table, arptables แƒ“แƒ ebtables แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒแƒก). nftables 1.0.0-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ˜แƒก Linux 5.13 แƒ‘แƒ˜แƒ แƒ—แƒ•แƒจแƒ˜. แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒœแƒแƒ›แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ˜แƒ›แƒ” แƒคแƒฃแƒœแƒ“แƒแƒ›แƒ”แƒœแƒขแƒฃแƒ  แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ—แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ—แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒฆแƒœแƒ˜แƒจแƒ•แƒœแƒ˜แƒ— แƒœแƒฃแƒ›แƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ (แƒฌแƒ˜แƒœแƒ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ˜แƒงแƒ 0.9.9).

nftables แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒฎแƒแƒšแƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก nf_tables แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช Linux-แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ 3.13 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ” แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ–แƒแƒ’แƒแƒ“ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒš แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ”แƒ™แƒแƒ“แƒจแƒ˜, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ”แƒก แƒ‘แƒแƒ˜แƒขแƒ˜ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒจแƒ˜ Netlink แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒจแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ’แƒ•แƒแƒ’แƒแƒœแƒ”แƒ‘แƒก BPF-แƒก (Berkeley Packet Filters). แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ–แƒแƒ›แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜.

แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ˜แƒœแƒแƒ•แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜:

  • "*" แƒœแƒ˜แƒฆแƒ‘แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ“แƒ”แƒ‘แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ›แƒ˜แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ”แƒ‘แƒ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒจแƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒš แƒกแƒฎแƒ•แƒ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก. แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ x { map blocklist { type ipv4_addr : verdict flags interval elements = { 192.168.0.0/16 : แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ, 10.0.0.0/8 : แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ, * : drop } } chain y { type filter hook prerouting priority 0; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ; ip saddr vmap @blocklist } }
  • แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒ“แƒแƒœ โ€ž--defineโ€œ แƒแƒคแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. # cat test.nft แƒ›แƒแƒ’แƒ˜แƒ“แƒ netdev x { chain y { type filter hook ingress devices = $dev priority 0; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ•แƒแƒ แƒ“แƒœแƒ; } } # nft โ€”define dev="{ eth0, eth1 }" -f test.nft
  • แƒ แƒฃแƒฅแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜ (stateful) แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ: table inet filter { map portmap { type inet_service : verdict counter elements = { 22 counter packets 0 bytes 0 : jump ssh_input, * counter packets 0 bytes 0 : drop } } chain ssh_input { } chain wan_input { tcp dport vmap @portmap } chain prerouting { type filter hook prerouting priority raw; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ; iif vmap { "lo" : แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ wan_input } } }
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ "list hooks" แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒฏแƒแƒฎแƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒกแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“: # nft list hooks ip แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ eth0 family ip { hook ingress { +0000000010 chain netdev xy [nf_tables] +0000000300 chain inet mw [nf_t inputs] { -0000000100 chain ip ab [nf_tables] +0000000300 chain inet mz [nf_tables] } hook forward { -0000000225 selinux_ipv4_forward 0000000000 chain ip 0000000225 outux]4 แƒฏแƒแƒญแƒ•แƒ˜ ip0000000225 -4. vXNUMX_output } hook postrouting { +XNUMX XNUMX selinux_ipvXNUMX_postroute } }
  • แƒ แƒ˜แƒ’แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒ˜แƒซแƒšแƒ”แƒ•แƒ jhash, symhash แƒ“แƒ numgen แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒแƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒ’แƒ”แƒ‘แƒจแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. โ€ฆ แƒ แƒ˜แƒ’แƒ˜ symhash mod 65536 โ€ฆ แƒ แƒ˜แƒ’แƒ˜ แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— numgen inc mod 65536 โ€ฆ แƒ แƒ˜แƒ’แƒ˜ jhash oif . แƒ›แƒ”แƒขแƒ แƒ›แƒแƒ แƒ™แƒ˜แƒก mod 32 "แƒ แƒ˜แƒ“แƒ˜" แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ“แƒ”แƒก แƒ แƒฃแƒฅแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ, แƒ แƒแƒ—แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒ แƒ˜แƒ’แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. ... แƒ แƒ˜แƒ’แƒ˜แƒก แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— oifname แƒ แƒฃแƒ™แƒแƒ–แƒ” { "eth0" : 0, "ppp0" : 2, "eth1" : 2 }
  • แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒ˜แƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒฃแƒฅแƒแƒจแƒ˜. แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ = { eth0, eth1 } แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ ip x { แƒฏแƒแƒญแƒ•แƒ˜ y { แƒขแƒ˜แƒžแƒ˜แƒก filter hook แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜ 0; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ; iifname vmap { lo : แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ, $interfaces : drop } } } # nft -f x.nft # nft list แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ ip x { chain y { type filter hook input priority 0; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ; iifname vmap { "lo" : แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ, "eth0" : drop, "eth1" : drop } }
  • แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ vmaps-แƒ˜แƒก (แƒ’แƒแƒœแƒแƒฉแƒ”แƒœแƒ˜แƒก แƒ แƒฃแƒ™แƒ˜แƒก) แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒ—: # nft แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒฌแƒ”แƒกแƒ˜ xy tcp dport . ip saddr vmap {1025-65535. 192.168.10.2: แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ }
  • แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜ NAT แƒ แƒฃแƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ: ... snat to ip saddr map { 10.141.11.4 : 192.168.2.2-192.168.2.4 } แƒแƒœ แƒแƒจแƒ™แƒแƒ แƒ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜: ... dnat to ip saddr map { 10.141.11.4:192.168.2.3. . 80 } แƒแƒœ IP แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜: ... dnat to ip saddr . tcp dport แƒ แƒฃแƒ™แƒ {192.168.1.2. 80: 10.141.10.2-10.141.10.5. 8888-8999 }

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ