ื ืคื˜ืึทื‘ืœืขืก ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ 0.9.4 ืžืขืœื“ื•ื ื’

ืืจื•ื™ืก ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ ืžืขืœื“ื•ื ื’ ื ืคื˜ืึทื‘ืœืขืก 0.9.4, ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื•ื•ื™ ืึท ืคืึทืจื‘ื™ื™ึทื˜ ืคึฟืึทืจ ื™ืคึผื˜ืึทื‘ืœืขืก, ื™ืคึผ6ื˜ืึทื‘ืœืข, ืึทืจืคึผื˜ืึทื‘ืœืขืก ืื•ืŸ ืขื‘ื˜ืึทื‘ืœืขืก ื“ื•ืจืš ื™ื•ื ืึทืคื™ื™ื™ื ื’ ืคึผืึทืงืึทื˜ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคึฟืึทืจ IPv4, IPv6, ARP ืื•ืŸ ื ืขืฅ ื‘ืจื™ืงืŸ. ื“ื™ nftables ืคึผืขืงืœ ื›ื•ืœืœ ื‘ืึทื ื™ืฆืขืจ-ืคึผืœืึทืฅ ืคึผืึทืงืึทื˜ ืคื™ืœื˜ืขืจ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ื‘ืฉืขืช ื“ื™ ืงืขืจืŸ-ืžื“ืจื’ื” ืึทืจื‘ืขื˜ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ nf_tables ืกืึทื‘ืกื™ืกื˜ืึทื, ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื–ื™ื ื˜ ืžืขืœื“ื•ื ื’ 3.13. ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื•ื™ื˜ื™ืง ืคึฟืึทืจ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ nftables 0.9.4 ืฆื• ืึทืจื‘ืขื˜ืŸ ื–ืขื ืขืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืฆื•ืงื•ื ืคึฟื˜ ืงืขืจืŸ ืฆื•ื•ื™ื™ึทื’ Linux 5.6.

ื“ืขืจ ืงืขืจืŸ ืžื“ืจื’ื” ื’ื™ื˜ ื‘ืœื•ื™ื– ืึท ื“ื–ืฉืึทื ืขืจื™ืง ืคึผืจืึธื˜ืึธืงืึธืœ-ืคืจื™ื™ึท ืฆื•ื‘ื™ื ื“ ื•ื•ืึธืก ื’ื™ื˜ ื™ืงืขืจื“ื™ืง ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ืคึผืึทืงื™ืฅ, ืคึผืขืจืคืึธืจืžื™ื ื’ ื“ืึทื˜ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืœื•ื™ืคืŸ ืงืึธื ื˜ืจืึธืœ. ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ื›ึผืœืœื™ื ืื•ืŸ ืคึผืจืึธื˜ืึธืงืึธืœ-ืกืคึผืขืฆื™ืคื™ืฉ ื”ืึทื ื“ืœืขืจืก ื–ืขื ืขืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื™ืŸ ื‘ื™ื˜ืขืงืึธื“ืข ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ื ืึธืš ื•ื•ืึธืก ื“ืขื ื‘ื™ื™ื˜ืขืงืึธื“ ืื™ื– ืœืึธื•ื“ื™ื“ ืื™ืŸ ื“ื™ ืงืขืจืŸ ื ื™ืฆืŸ ื“ื™ ื ืขื˜ืœื™ื ืง ืฆื•ื‘ื™ื ื“ ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ื“ื™ ืงืขืจืŸ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืจืขืžืึทื ื™ืกืึทื ื˜ ืคื•ืŸ 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"):192.68.11.123).

    ื˜ื™ืฉ 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}
    }

    ืงื™ื™ื˜ ื‘ืึทืจ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคืืœื™ืกื™ ืคืึทืœืŸ;
    ip saddr. ip daddr. tcp dport @whitelist ืึธื ื ืขืžืขืŸ
    }
    }

  • ืื™ืŸ ืฉื˜ืขืœื˜ ืื•ืŸ ืžืึทืคึผืข ืจืฉื™ืžื•ืช, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ื“ื™ "ื˜ื™ืคึผ ืคื•ืŸ" ื“ื™ืจืขืงื˜ื™ื•ื•, ื•ื•ืึธืก ื“ื™ื˜ืขืจืžืึทื ื– ื“ื™ ืคึฟืึธืจืžืึทื˜ ืคื•ืŸ ื“ื™ ืขืœืขืžืขื ื˜ ื•ื•ืขืŸ ืจื™ื›ื˜ืŸ.
    ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ:

    ื˜ื™ืฉ ip foo {
    ืฉื˜ืขืœืŸ ื•ื•ื™ื™ื˜ืœื™ืกื˜ {
    ื˜ื™ืคึผ ืคื•ืŸ ื™ืคึผ ืกืึทื“ืจ
    ืขืœืขืžืขื ื˜ืŸ = {192.168.10.35, 192.168.10.101, 192.168.10.135}
    }

    ืงื™ื™ื˜ ื‘ืึทืจ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคืืœื™ืกื™ ืคืึทืœืŸ;
    ip daddr @ื•ื•ื”ื™ื˜ืขืœื™ืกื˜ ืึธื ื ืขืžืขืŸ
    }
    }

    ื˜ื™ืฉ ip foo {
    ืžืึทืคึผืข ืึทื“ืจ2ืžืึทืจืง {
    ื˜ื™ืคึผ ืคื•ืŸ IP ืกืึทื“ืจ: ืžืขื˜ืึท ืฆื™ื™ื›ืŸ
    ืขืœืขืžืขื ื˜ืŸ = {192.168.10.35: 0x00000001, 192.168.10.135: 0x00000002}
    }
    }

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ื“ื–ืฉื•ื™ื ืฅ ืื™ืŸ NAT ื‘ื™ื™ื ื“ื™ื ื’ื–, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึทืŸ ืึทื“ืจืขืก ืื•ืŸ ืคึผืึธืจื˜ ื•ื•ืขืŸ ื“ื™ืคื™ื™ื ื™ื ื’ NAT ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืžืึทืคึผืข ืจืฉื™ืžื•ืช ืึธื“ืขืจ ื’ืขื”ื™ื™ืกืŸ ืฉื˜ืขืœื˜:

    nft add rule ip nat pre dnat ip adr. ืคึผืึธืจื˜ ืฆื• ื™ืคึผ ืกืึทื“ืจ ืžืึทืคึผืข {1.1.1.1: 2.2.2.2. ื“ืจืฒึทืกื™ืง }

    nft ืœื™ื™ื’ืŸ ืžืึทืคึผืข ื™ืคึผ ื ืึทื˜ ื“ืขืกื˜ืึทื ื™ื™ืฉืึทื ื– {ื˜ื™ืคึผ ipv4_addr. inet_service: ipv4_addr. inet_service \\; }
    nft add rule ip nat pre dnat ip adr. ืคึผืึธืจื˜ ืฆื• ื™ืคึผ ืกืึทื“ืจ. tcp dport ืžืึทืคึผืข @ ื“ืขืกื˜ืึทื ื™ื™ืฉืึทื ื–

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืžื™ื˜ ืขื˜ืœืขื›ืข ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื“ื•ืจืš ื“ื™ ื ืขืฅ ืงืึธืจื˜. ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ื“ื™ ืขื˜ื”ืึธืึธืœ ื ื•ืฆืŸ ("ethtool -K eth0 hw-tc-offload on"), ื ืึธืš ื•ื•ืึธืก ืขืก ืื™ื– ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“ ืื™ืŸ ื ืคื˜ืึทื‘ืœืขืก ืคึฟืึทืจ ื“ื™ ื”ื•ื™ืคึผื˜ ืงื™ื™ื˜ ืžื™ื˜ ื“ื™ "ืึธืคืœืึธืึทื“" ืคืึธืŸ. ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ 5.6, ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ืคึฟืึทืจ ื›ืขื“ืขืจ ืคืขืœื“ ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ื–ื™ืš ืื•ืŸ ื™ื ืงืึทืžื™ื ื’ ืฆื•ื‘ื™ื ื“ ื“ื•ืจื›ืงื•ืง ืื™ืŸ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืžื™ื˜ ืจื™ืกื™ื•ื•ื™ื ื’, ื“ื™ืกืงืึทืจื“ื™ื ื’, ื“ื•ืคึผืœื™ืงื™ื™ื˜ื™ื ื’ (ื“ื•ืคึผ) ืื•ืŸ ืคืึธืจื•ื•ืขืจื“ื™ื ื’ (ืคื•ื•ื•ื“) ืคึผืึทืงื™ืฅ. ืื™ืŸ ื“ืขื ื‘ื™ื™ืฉืคึผื™ืœ ืื•ื ื˜ืŸ, ื“ื™ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืคื•ืŸ ื“ืจืึทืคึผื™ื ื’ ืคึผืึทืงื™ืฅ ืงื•ืžืขืŸ ืคื•ืŸ ื“ื™ ืึทื“ืจืขืก 192.168.30.20 ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื•ื™ืฃ ื“ื™ ื ืขืฅ ืงืึธืจื˜ ืžื“ืจื’ื”, ืึธืŸ ืคืึธืจืŸ ื“ื™ ืคึผืึทืงื™ืฅ ืฆื• ื“ื™ ืงืขืจืŸ:

    # ืงืึทืฅ ื˜ืขืงืข.ื ืคื˜
    ื˜ื™ืฉ ื ืขื˜ื“ืขื•ื• ืจืขื ื˜ื’ืขื  {
    ืงื™ื™ื˜ ื™ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ื™ื ื’ืจืขืกืก ืžื™ื˜ืœ ืขื˜ื”0 ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ 10; ืคืœืึทื’ืก ืึธืคืœืึธืึทื“;
    ื™ืคึผ ืกืึทื“ืจ 192.168.30.20 ืงืึทืคึผ
    }
    }
    # nft -f file.nft

  • ื™ืžืคึผืจื•ื•ื•ื“ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ืึธืจื˜ ืคื•ืŸ ืึท ื˜ืขื•ืช ืื™ืŸ ื“ื™ ื›ึผืœืœื™ื.

    # nft ื•ื™ืกืžืขืงืŸ ื”ืขืจืฉืŸ ip yz ืฉืขืคึผืŸ 7
    ื˜ืขื•ืช: ืงืขืŸ ื ื™ืฉื˜ ืคึผืจืึธืฆืขืก ื”ืขืจืฉืŸ: ื ื™ื˜ ืึทื–ืึท ื˜ืขืงืข ืึธื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ
    ื•ื™ืกืžืขืงืŸ ื”ืขืจืฉืŸ ip yz handle 7
    ^

    # nft ื•ื™ืกืžืขืงืŸ ื”ืขืจืฉืŸ ip xx ืฉืขืคึผืŸ 7
    ื˜ืขื•ืช: ืงืขืŸ ื ื™ืฉื˜ ืคึผืจืึธืฆืขืก ื”ืขืจืฉืŸ: ื ื™ื˜ ืึทื–ืึท ื˜ืขืงืข ืึธื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ
    ื•ื™ืกืžืขืงืŸ ื”ืขืจืฉืŸ IP ืงืกืงืก ืฉืขืคึผืŸ 7
    ^

    # nft ื•ื™ืกืžืขืงืŸ ื˜ื™ืฉ ื˜ื•ื•ืกื˜
    ื˜ืขื•ืช: ื ื™ื˜ ืึทื–ืึท ื˜ืขืงืข ืึธื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ; ื”ืื˜ ืื™ืจ ื’ืขืžื™ื™ื ื˜ ื˜ื™ืฉ "ืคึผืจื•ื‘ื™ืจืŸ" ืื™ืŸ ืžืฉืคึผื—ื” ื™ืคึผ?
    ื•ื™ืกืžืขืงืŸ ื˜ื™ืฉ ื˜ื•ื•ืกื˜
    ^^^^

    ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ื™ืฉืคึผื™ืœ ื•ื•ื™ื™ื–ื˜ ืึทื– ื“ื™ ื˜ื™ืฉ "ื™" ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื, ื“ื™ ืจื’ืข ืึทื– ื“ื™ "7" ื”ืึทื ื“ืœืขืจ ืื™ื– ืคืขืœื ื“ื™ืง, ืื•ืŸ ื“ื™ ื“ืจื™ื˜ ืึทื– ืึท ื˜ื™ืคึผืึธ ืคึผื™ื ื˜ืœืขืš ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ื•ื•ืขืŸ ื˜ื™ื™ืคึผื™ื ื’ ื“ื™ ื˜ื™ืฉ ื ืึธืžืขืŸ.

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ื“ื™ ืฉืงืœืึทืฃ ืฆื•ื‘ื™ื ื“ ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ "ืžืขื˜ืึท ืกื“ื™ืฃ" ืึธื“ืขืจ "ืžืขื˜ืึท ืกื“ื™ืคื ืึทืžืข":

    ... meta sdifname vrf1 ...

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืจืขื›ื˜ ืึธื“ืขืจ ืœื™ื ืงืก ื™ื‘ืขืจืจื•ืง ืึทืคึผืขืจื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ื™ื‘ืขืจืจื•ืง ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึผืึทืงืึทื˜ ืคื™ืจืžืข ืœื™ื ืงืก ื“ื•ืจืš 1 ื‘ื™ืกืœ ืื•ืŸ ืฉื˜ืขืœืŸ ื“ื™ ืžื™ื ืขืจื•ื•ืขืจื˜ื™ืง ื‘ื™ืกืœ ืฆื• 1:

    โ€ฆ ืžืขื˜ืึท ืžืืจืง ืฉื˜ืขืœืŸ ืžืขื˜ืึท ืžืืจืง ืœืฉื™ืคื˜ 1 ืึธื“ืขืจ 0x1 โ€ฆ

  • ื™ืžืคึผืœืึทืžืขื ืึทื“ "-V" ืึธืคึผืฆื™ืข ืฆื• ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืขืงืกื˜ืขื ื“ืขื“ ื•ื•ืขืจืกื™ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข.

    # ื ืคื˜ -ื•ื•
    nftables v0.9.4 (ื“ื–ืฉื™ื•ื• ื‘ื™ื™ ืคื™ื ืฃ)
    ืงืœื™: ืจืขื“ืœื™ื ืข
    json: ื™ืึธ
    ืžื™ื ื™ื’ืžืคึผ: ื ื™ื™ืŸ
    ืœื™ื‘ืงืกื˜ืึทื‘ืœืขืก: ื™ืึธ

  • ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืึธืคึผืฆื™ืขืก ืžื•ื–ืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ื™ื“ืขืจ ืงืึทืžืึทื ื“ื–. ืฆื•ื ื‘ื™ื™ืฉืคึผื™ืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ "nft -a list ruleset", ืื•ืŸ ืคืœื™ืกื ื“ื™ืง "nft list ruleset -a" ื•ื•ืขื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืึท ื˜ืขื•ืช.

    ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’