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

แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ nftables 0.9.4, แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช iptables, ip6table, arptables แƒ“แƒ ebtables แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ IPv4, IPv6, ARP แƒ“แƒ แƒฅแƒกแƒ”แƒšแƒฃแƒ แƒ˜ แƒฎแƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—. nftables แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก nf_tables แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช Linux kernel-แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ 3.13 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. nftables 0.9.4-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒจแƒ˜. Linux 5.6.

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

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

  • แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒจแƒ˜ (แƒจแƒ”แƒ”แƒ แƒ—แƒ”แƒ‘แƒ, แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒแƒก). แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "แƒ—แƒ”แƒ—แƒ แƒ˜ แƒกแƒ˜แƒ", แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ“แƒแƒœแƒแƒ แƒ—แƒ˜, "แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒ˜แƒก" แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒก แƒ“แƒแƒœแƒแƒ แƒ—แƒจแƒ˜ (แƒ“แƒแƒœแƒแƒ แƒ—แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "ipv4_addr . ipv4_addr . inet_service" แƒแƒ“แƒ แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒ–แƒฃแƒกแƒขแƒ˜ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒคแƒแƒ แƒ›แƒ˜แƒก "192.168.10.35. 192.68.11.123" แƒ“แƒ แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜ "80-192.168.10.35-192.168.10.40"):

    แƒ›แƒแƒ’แƒ˜แƒ“แƒ ip foo {
    แƒ—แƒ”แƒ—แƒ แƒ˜ แƒกแƒ˜แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ {
    แƒแƒ™แƒ แƒ˜แƒคแƒ”แƒ— ipv4_addr. ipv4_addr. inet_service
    แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒ˜
    แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ = {192.168.10.35-192.168.10.40. 192.68.11.123-192.168.11.125. 80}
    }

    แƒฏแƒแƒญแƒ•แƒ˜แƒก แƒ–แƒแƒšแƒ˜ {
    แƒขแƒ˜แƒžแƒ˜แƒก filter hook prerouting แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒฃแƒšแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ˜; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ•แƒแƒ แƒ“แƒœแƒ;
    ip sadr. ip daddr. tcp dport @whitelist แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ
    }
    }

  • แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ แƒฃแƒฅแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ "typeof", แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒก แƒ“แƒแƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒแƒก.
    แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

    แƒ›แƒแƒ’แƒ˜แƒ“แƒ ip foo {
    แƒ—แƒ”แƒ—แƒ แƒ˜ แƒกแƒ˜แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ {
    IP แƒขแƒ˜แƒžแƒ˜แƒก Saddr
    แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ = {192.168.10.35, 192.168.10.101, 192.168.10.135 }
    }

    แƒฏแƒแƒญแƒ•แƒ˜แƒก แƒ–แƒแƒšแƒ˜ {
    แƒขแƒ˜แƒžแƒ˜แƒก filter hook prerouting แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒฃแƒšแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ˜; แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ•แƒแƒ แƒ“แƒœแƒ;
    ip daddr @whitelist แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ
    }
    }

    แƒ›แƒแƒ’แƒ˜แƒ“แƒ ip foo {
    แƒ แƒฃแƒ™แƒ adr2mark {
    IP saddr-แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜: แƒ›แƒ”แƒขแƒ แƒœแƒ˜แƒจแƒแƒœแƒ˜
    แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ = {192.168.10.35: 0x00000001, 192.168.10.135: 0x00000002 }
    }
    }

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ”แƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ NAT แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ“แƒ แƒžแƒแƒ แƒขแƒ˜ NAT แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒกแƒแƒก แƒ แƒฃแƒฅแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒ–แƒ” แƒแƒœ แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒฃแƒš แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ—:

    nft แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒฌแƒ”แƒกแƒ˜ ip nat pre dnat ip addr. แƒžแƒแƒ แƒขแƒ˜ ip-แƒ–แƒ” saddr แƒ แƒฃแƒ™แƒ {1.1.1.1: 2.2.2.2. แƒแƒชแƒ“แƒแƒแƒ—แƒ˜}

    nft แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ แƒฃแƒ™แƒ ip nat แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ { แƒแƒ™แƒ แƒ˜แƒคแƒ”แƒ— ipv4_addr . inet_service: ipv4_addr. inet_service \\; }
    nft แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒฌแƒ”แƒกแƒ˜ ip nat pre dnat ip addr. แƒžแƒแƒ แƒขแƒ˜ ip saddr-แƒ–แƒ”. tcp dport แƒ แƒฃแƒ™แƒ @destinations

  • แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ‘แƒแƒ แƒแƒ—แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒ—. แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ ethtool แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— (โ€žethtool -K eth0 hw-tc-offload แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒโ€œ), แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ˜แƒก แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ nftables-แƒจแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒฏแƒแƒญแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก โ€žoffloadโ€œ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. Linux kernel 5.6-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒขแƒงแƒ•แƒ˜แƒกแƒแƒ“ แƒ“แƒ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ, แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ, แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ (dup) แƒ“แƒ แƒ’แƒแƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒกแƒ—แƒแƒœ (fwd) แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒแƒจแƒ˜. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜, 192.168.30.20 แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ’แƒ“แƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ‘แƒแƒ แƒแƒ—แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”, แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”:

    # cat file.nft
    แƒ›แƒแƒ’แƒ˜แƒ“แƒ netdev x {
    แƒฏแƒแƒญแƒ•แƒ˜ y {
    แƒขแƒ˜แƒžแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ™แƒแƒฃแƒญแƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ•แƒšแƒ”แƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ eth0 แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜ 10; แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ;
    ip saddr 192.168.30.20 แƒฉแƒแƒ›แƒแƒแƒ’แƒ“แƒ”แƒก
    }
    }
    # nft -f แƒคแƒแƒ˜แƒšแƒ˜.nft

  • แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒฌแƒ”แƒกแƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

    # nft แƒฌแƒแƒจแƒšแƒ˜แƒก แƒฌแƒ”แƒกแƒ˜ ip yz แƒกแƒแƒฎแƒ”แƒšแƒฃแƒ แƒ˜ 7
    แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ: แƒฌแƒ”แƒกแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ: แƒแƒกแƒ”แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒœ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก
    แƒฌแƒแƒจแƒแƒšแƒ” แƒฌแƒ”แƒกแƒ˜ ip yz แƒกแƒแƒฎแƒ”แƒšแƒฃแƒ แƒ˜ 7
    ^

    # nft แƒฌแƒแƒจแƒšแƒ˜แƒก แƒฌแƒ”แƒกแƒ˜ ip xx แƒกแƒแƒฎแƒ”แƒšแƒฃแƒ แƒ˜ 7
    แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ: แƒฌแƒ”แƒกแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ: แƒแƒกแƒ”แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒœ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก
    แƒฌแƒแƒจแƒแƒšแƒ” แƒฌแƒ”แƒกแƒ˜ ip xx handle 7
    ^

    # nft แƒฌแƒแƒจแƒแƒšแƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ twst
    แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ: แƒแƒกแƒ”แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒœ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก; แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒขแƒ”แƒกแƒขแƒก แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘ แƒแƒฏแƒแƒฎแƒ˜แƒก IP-แƒจแƒ˜?
    แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ twst
    ^^^^

    แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ โ€žyโ€œ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜, แƒ›แƒ”แƒแƒ แƒ”, แƒ แƒแƒ› แƒแƒ™แƒšแƒ˜แƒ โ€ž7โ€œ แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒ”แƒกแƒแƒ›แƒ”, แƒ แƒแƒ› แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒแƒ™แƒ แƒ”แƒคแƒ˜แƒกแƒแƒก แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ typo prompt.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ slave แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“ "meta sdif" แƒแƒœ "meta sdifname" แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ—:

    ... meta sdifname vrf1 ...

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ›แƒแƒ แƒฏแƒ•แƒ”แƒœแƒ แƒแƒœ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ• แƒชแƒ•แƒšแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ˜แƒแƒ แƒšแƒ˜แƒงแƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ 1 แƒ‘แƒ˜แƒขแƒ˜แƒ— แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ• แƒ“แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ 1-แƒ–แƒ”:

    โ€ฆ แƒ›แƒ”แƒขแƒ แƒœแƒ˜แƒจแƒœแƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒขแƒ แƒœแƒ˜แƒจแƒœแƒ˜แƒก lshift 1 แƒแƒœ 0x1โ€ฆ

  • แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ "-V" แƒแƒคแƒชแƒ˜แƒ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.

    # nft -V
    nftables v0.9.4 (Jive at Five)
    cli: readline
    json: แƒ“แƒ˜แƒแƒฎ
    minigmp: แƒแƒ แƒ
    libxtables: แƒ“แƒ˜แƒแƒฎ

  • แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒแƒฎแƒšแƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— โ€žnft -a list rulesetโ€œ แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ โ€žnft list ruleset -aโ€œ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก.

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

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