nftables рдкреНрдпрд╛рдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░ 0.9.4 рд░рд┐рд▓реАрдЬ

рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрдпрд╛рдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░ рд░рд┐рд▓реАрдЬ nftables 0.9.4, IPv6, IPv4, ARP рд░ рдиреЗрдЯрд╡рд░реНрдХ рдмреНрд░рд┐рдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдПрдХреАрдХреГрдд рдЧрд░реЗрд░ iptables, ip6table, arptables рд░ ebtables рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИред nftables рдкреНрдпрд╛рдХреЗрдЬрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрдкреЗрд╕ рдкреНрдпрд╛рдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЬрдмрдХрд┐ рдХрд░реНрдиреЗрд▓-рд╕реНрддрд░ рдХрд╛рд░реНрдп nf_tables рдЙрдкрдкреНрд░рдгрд╛рд▓реАрджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рд░рд┐рд▓реАрдЬ 3.13 рджреЗрдЦрд┐ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдХреЛ рднрд╛рдЧ рднрдПрдХреЛ рдЫред рдХрд╛рдо рдЧрд░реНрди nftables 0.9.4 рд░рд┐рд▓реАрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рднрд╡рд┐рд╖реНрдпрдХреЛ рдХрд░реНрдиреЗрд▓ рд╢рд╛рдЦрд╛рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рд▓рд┐рдирдХреНрд╕ 5.6.

рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░рд▓реЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЯреЛрдХрд▓-рд╕реНрд╡рддрдиреНрддреНрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдирд┐рдХрд╛рд▓реНрди, рдбрд╛рдЯрд╛ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ, рд░ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдЖрдзрд╛рд░рднреВрдд рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдирд┐рдпрдорд╣рд░реВ рд░ рдкреНрд░реЛрдЯреЛрдХрд▓-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдмрд╛рдЗрдЯрдХреЛрдбрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рд╣реБрдиреНрдЫрдиреН, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдмрд╛рдЗрдЯрдХреЛрдб рдиреЗрдЯрд▓рд┐рдЩреНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд░реНрдиреЗрд▓рдорд╛ рд▓реЛрдб рдЧрд░рд┐рдиреНрдЫ рд░ BPF (рдмрд░реНрдХрд▓реЗ рдкреНрдпрд╛рдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░рд╣рд░реВ) рдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдиреЗ рд╡рд┐рд╢реЗрд╖ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдорд╛ рдХрд░реНрдиреЗрд▓рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдХреЛрдбрдХреЛ рд╕рд╛рдЗрдЬ рдШрдЯрд╛рдЙрди рд░ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрд╛рд░реНрд╕рд┐рдЩ рдирд┐рдпрдо рд░ рддрд░реНрдХрдХрд╛ рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╛рд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВ:

  • рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рджрд╛рдпрд░рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди (рдХрдиреНрдХрдЯреЗрдиреЗрд╕рди, рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рдмрдиреНрдбрд▓рд╣рд░реВ рд░ рддреБрд▓рдирд╛рд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреЗ рдкреЛрд░реНрдЯрд╣рд░реВ)ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдПрдЙрдЯрд╛ рд╕реЗрдЯ "рд╣реНрд╡рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯ" рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╕рдХреЛ рддрддреНрд╡рд╣рд░реВ рдПрдЯреНрдпрд╛рдЪрдореЗрдиреНрдЯ рд╣реБрдиреН, "рдЗрдиреНрдЯрд░рднрд▓" рдлреНрд▓реНрдпрд╛рдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрд╛ рд╕реЗрдЯрд▓реЗ рдПрдЯреНрдпрд╛рдЪрдореЗрдиреНрдЯрдорд╛ рджрд╛рдпрд░рд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫ рднрдиреНрдиреЗ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫ (рдПрдЯреНрдпрд╛рдЪрдореЗрдиреНрдЯ "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ред резрепреи.ремрео.резрез.резреирей-резрепреи.резремрео.резрез.резреирелред реореж}
    }

    рдЪреЗрди рдмрд╛рд░ {
    рдкреНрд░рдХрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ prerouting рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдлрд┐рд▓реНрдЯрд░; рдиреАрддрд┐ рдЧрд┐рд░рд╛рд╡рдЯ;
    ip saddrред ip daddrред tcp dport @whitelist рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
    }
    }

  • рд╕реЗрдЯрд╣рд░реВ рд░ рдирдХреНрд╕рд╛ рд╕реВрдЪреАрд╣рд░реВрдорд╛, "typeof" рдирд┐рд░реНрджреЗрд╢рди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ, рдЬрд╕рд▓реЗ рдорд┐рд▓рд╛рди рдЧрд░реНрджрд╛ рддрддреНрд╡рдХреЛ рдврд╛рдБрдЪрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫред
    рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

    рддрд╛рд▓рд┐рдХрд╛ ip foo {
    рд╕реЗрддреЛрд╕реВрдЪреА рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН {
    ip saddr рдХреЛ рдкреНрд░рдХрд╛рд░
    рддрддреНрд╡ = {192.168.10.35, 192.168.10.101, 192.168.10.135 }
    }

    рдЪреЗрди рдмрд╛рд░ {
    рдкреНрд░рдХрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ prerouting рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдлрд┐рд▓реНрдЯрд░; рдиреАрддрд┐ рдЧрд┐рд░рд╛рд╡рдЯ;
    ip daddr @whitelist рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
    }
    }

    рддрд╛рд▓рд┐рдХрд╛ ip foo {
    рдирдХреНрд╕рд╛ addr2mark {
    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 рдЧрдиреНрддрд╡реНрдпрд╣рд░реВ { type ipv4_addrред inet_service: ipv4_addrред inet_service \\; }
    nft рдЬреЛрдбреНрдиреЗ рдирд┐рдпрдо ip nat pre dnat ip addrред рдкреЛрд░реНрдЯ рджреЗрдЦрд┐ рдЖрдИрдкреА рд╕реЗрдбрд░ред tcp dport рдирдХреНрд╢рд╛ @ destinations

  • рд╕рдЮреНрдЬрд╛рд▓ рдХрд╛рд░реНрдбрджреНрд╡рд╛рд░рд╛ рдЧрд░рд┐рдПрдХрд╛ рдХреЗрд╣реА рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдХрд╛рд░реНрдпрд╣рд░реВрд╕рдБрдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рд╡реЗрдЧрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердиред рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди ethtool рдЙрдкрдпреЛрдЧрд┐рддрд╛ ("ethtool -K eth0 hw-tc-offload on") рдорд╛рд░реНрдлрдд рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ "рдЕрдлрд▓реЛрдб" рдЭрдгреНрдбрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдореБрдЦреНрдп рдЪреЗрдирдХреЛ рд▓рд╛рдЧрд┐ nftables рдорд╛ рд╕рдХреНрд░рд┐рдп рдЧрд░рд┐рдиреНрдЫред рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ 5.6 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рд╣реЗрдбрд░ рдлрд┐рд▓реНрдб рдорд┐рд▓реНрджреЛ рд░ рдЖрдЧрдорди рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд┐рд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рдкреНрдд, рдЦрд╛рд░реЗрдЬ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ (dup), рд░ рдлрд░реНрд╡рд╛рд░реНрдбрд┐рдЩ (fwd) рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрдирдорд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди рд╕рдорд░реНрдерд┐рдд рдЫред рддрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рдареЗрдЧрд╛рдирд╛ 192.168.30.20 рдмрд╛рдЯ рдЖрдЙрдиреЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЫреЛрдбреНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рд╕реНрддрд░рдорд╛, рдХрд░реНрдиреЗрд▓рдорд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкрд╛рд╕ рдирдЧрд░рд┐рдХрди рдЧрд░рд┐рдиреНрдЫ:

    # cat file.nft
    рддрд╛рд▓рд┐рдХрд╛ netdev x {
    рдЪреЗрди y {
    рдкреНрд░рдХрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░рд╡реЗрд╢ рдЙрдкрдХрд░рдг eth0 рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 10; рдЭрдгреНрдбрд╛ рдЕрдлрд▓реЛрдб;
    ip saddr 192.168.30.20 рдбреНрд░рдк
    }
    }
    # nft -f file.nft

  • рдирд┐рдпрдорд╣рд░реВрдорд╛ рддреНрд░реБрдЯрд┐рдХреЛ рд╕реНрдерд╛рди рдмрд╛рд░реЗ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдЬрд╛рдирдХрд╛рд░реАред

    # nft рдореЗрдЯрд╛рдЙрдиреЗ рдирд┐рдпрдо ip yz рд╣реНрдпрд╛рдиреНрдбрд▓ 7
    рддреНрд░реБрдЯрд┐: рдирд┐рдпрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рд╕рдХрд┐рдПрди: рддреНрдпрд╕реНрддреЛ рдХреБрдиреИ рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдЫреИрди
    рдирд┐рдпрдо ip yz рд╣реНрдпрд╛рдиреНрдбрд▓ 7 рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН
    ^

    # nft рдореЗрдЯрд╛рдЙрдиреЗ рдирд┐рдпрдо ip xx рд╣реНрдпрд╛рдиреНрдбрд▓ 7
    рддреНрд░реБрдЯрд┐: рдирд┐рдпрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рд╕рдХрд┐рдПрди: рддреНрдпрд╕реНрддреЛ рдХреБрдиреИ рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдЫреИрди
    рдирд┐рдпрдо ipxx рд╣реНрдпрд╛рдиреНрдбрд▓ 7 рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН
    ^

    # nft рддрд╛рд▓рд┐рдХрд╛ twst рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН
    рддреНрд░реБрдЯрд┐: рддреНрдпрд╕реНрддреЛ рдХреБрдиреИ рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдЫреИрди; рдХреЗ рддрдкрд╛рдИрдВрд▓реЗ рдкрд╛рд░рд┐рд╡рд╛рд░рд┐рдХ ip рдорд╛ рддрд╛рд▓рд┐рдХрд╛ 'рдкрд░реАрдХреНрд╖рдг' рднрдиреНрди рдЦреЛрдЬреНрдиреБрднрдПрдХреЛ рд╣реЛ?
    рддрд╛рд▓рд┐рдХрд╛ twst рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН
    редред

    рдкрд╣рд┐рд▓реЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ "y" рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЫреИрди, рджреЛрд╕реНрд░реЛ рдХрд┐ "7" рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫ, рд░ рддреЗрд╕реНрд░реЛ рдЬреБрди рддрд╛рд▓рд┐рдХрд╛рдХреЛ рдирд╛рдо рдЯрд╛рдЗрдк рдЧрд░реНрджрд╛ рдЯрд╛рдЗрдкреЛ рдкреНрд░рдореНрдкреНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреНрдЫред

  • "meta sdif" рд╡рд╛ "meta sdifname" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрд░ рджрд╛рд╕ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ:

    ... meta sdifname vrf1 ...

  • рджрд╛рдпрд╛рдБ рд╡рд╛ рдмрд╛рдпрд╛рдБ рд╢рд┐рдлреНрдЯ рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, 1 рдмрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдпрд╛рдБ рдЕрд╡рд╕реНрдерд┐рдд рдкреНрдпрд╛рдХреЗрдЯ рд▓реЗрдмрд▓ рд╕рд╛рд░реНрди рд░ рдорд╛рдЗрдирд░ рдмрд┐рдЯ 1 рдорд╛ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

    ... рдореЗрдЯрд╛ рдорд╛рд░реНрдХ рд╕реЗрдЯ рдореЗрдЯрд╛ рдорд╛рд░реНрдХ lshift 1 рд╡рд╛ 0x1 ...

  • рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди "-V" рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛред

    # nft -V
    nftables v0.9.4 (рдЬрд╛рдЗрдн рдПрдЯ рдлрд╛рдЗрдн)
    cli: readline
    json: рд╣реЛ
    minigmp: рд╣реЛрдЗрди
    libxtables: рд╣реЛ

  • рдЖрджреЗрд╢ рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЕрдм рдЖрджреЗрд╢ рдЕрдШрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ "nft -a list ruleset" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рд░ "nft list ruleset -a" рдЪрд▓рд╛рдЙрдБрджрд╛ рддреНрд░реБрдЯрд┐ рд╣реБрдиреЗрдЫред

    рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди