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

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

ื“ืขืจ ืงืขืจืŸ ืžื“ืจื’ื” ื’ื™ื˜ ื‘ืœื•ื™ื– ืึท ื“ื–ืฉืึทื ืขืจื™ืง ืคึผืจืึธื˜ืึธืงืึธืœ-ืคืจื™ื™ึท ืฆื•ื‘ื™ื ื“ ื•ื•ืึธืก ื’ื™ื˜ ื™ืงืขืจื“ื™ืง ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ืคึผืึทืงื™ืฅ, ืคึผืขืจืคืึธืจืžื™ื ื’ ื“ืึทื˜ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืœื•ื™ืคืŸ ืงืึธื ื˜ืจืึธืœ.
ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืœืึธื’ื™ืง ื–ื™ืš ืื•ืŸ ืคึผืจืึธื˜ืึธืงืึธืœ-ืกืคึผืขืฆื™ืคื™ืฉ ื”ืึทื ื“ืœืขืจืก ื–ืขื ืขืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื™ืŸ ื‘ื™ื˜ืขืงืึธื“ืข ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ื ืึธืš ื•ื•ืึธืก ื“ืขื ื‘ื™ื™ื˜ืขืงืึธื“ ืื™ื– ืœืึธื•ื“ื™ื“ ืื™ืŸ ื“ื™ ืงืขืจืŸ ื ื™ืฆืŸ ื“ื™ ื ืขื˜ืœื™ื ืง ืฆื•ื‘ื™ื ื“ ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืจืขืžืึทื ื™ืกืึทื ื˜ ืคื•ืŸ BPF (Berkeley Packet Filters). ื“ืขืจ ืฆื•ื’ืึทื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ืื˜ื™ื™ื˜ื™ืง ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืงืึธื“ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื” ืื•ืŸ ืžืึทืš ืึทืœืข ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ืคื•ืŸ ืคึผืึทืจืกื™ื ื’ ื›ึผืœืœื™ื ืื•ืŸ ืœืึธื’ื™ืง ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืคึผืจืึธื˜ืึธืงืึธืœืก ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ.

ื”ื•ื™ืคึผื˜ ื—ื™ื“ื•ืฉื™ื:

  • IPsec ืฉื˜ื™ืฆืŸ, ืึทืœืึทื•ื™ื ื’ ืžืึทื˜ื˜ืฉื™ื ื’ ืคื•ืŸ ื˜ื•ื ืขืœ ืึทื“ืจืขืกืขืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืคึผืึทืงืึทื˜, IPsec ื‘ืขื˜ืŸ ืฉื™ื™ึทืŸ ืื•ืŸ SPI (ืกืขืงื•ืจื™ื˜ื™ ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื ื“ืขืงืก) ืงื•ื•ื™ื˜ืœ. ืœืžืฉืœ,

    ... ipsec ืื™ืŸ IP saddr 192.168.1.0/24
    ... ipsec ืื™ืŸ ืกืคึผื™ 1-65536

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

    โ€ฆ ืคื™ืœื˜ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืจื˜ ื™ืคึผืกืขืง ืคืขืœื ื“ื™ืง ืงืึทืคึผ

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ IGMP (Internet Group Management Protocol). ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืึท ื”ืขืจืฉืŸ ืฆื• ืึทื•ื•ืขืงื•ื•ืึทืจืคืŸ ื™ื ืงืึทืžื™ื ื’ IGMP ื’ืจื•ืคึผืข ืžื™ื˜ื’ืœื™ื“ืขืจืฉืึทืคื˜ ืจื™ืงื•ื•ืขืก

    nft add rule netdev foo bar igmp ื˜ื™ืคึผ ืžื™ื˜ื’ืœื™ื“ืขืจืฉืึทืคื˜-ืึธื ืคึฟืจืขื’ ื˜ืึธืžื‘ืึทื ืง ืงืึทืคึผ

  • ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื ื™ืฆืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื™ื‘ืขืจื’ืึทื ื’ ืงื™ื™ื˜ืŸ (ืฉืคึผืจื™ื ื’ืขืŸ / ื’ืึธื˜ืึธ). ืœืžืฉืœ:

    ื“ืขืคื™ื ื™ืจืŸ ื“ืขืกื˜ = ื‘ืขืจ
    ืœื™ื™ื’ืŸ ื”ืขืจืฉืŸ ื™ืคึผ ืคืึธืึธ ื‘ืึทืจ ืฉืคึผืจื™ื ื’ืขืŸ $ ื“ืขืกื˜

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžืึทืกืงืก ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ (OS ืคื™ื ื’ืขืจืคึผืจื™ื ื˜) ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TTL ื•ื•ืึทืœื•ืขืก ืื™ืŸ ื“ื™ ื›ืขื“ืขืจ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ืฆื™ื™ื›ืŸ ืคึผืึทืงื™ืฅ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืกืขื ื“ืขืจ ืึทืก, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ื‘ืึทืคึฟืขืœ:

    ... meta mark set osf ttl ื”ืึธืคึผืงืขืŸ ื ืึธืžืขืŸ ืžืึทืคึผืข {"ืœื™ื ื•ืงืก": 0x1,
    "ื•ื•ื™ื ื“ืึธื•ื–": 0x2,
    "ืžืึทืงืึธืก": 0x3,
    "ืื•ืžื‘ืึทืงืึทื ื˜": 0x0}
    ... osf ttl ื”ืึธืคึผืงืขืŸ ื•ื•ืขืจืกื™ืข "ืœื™ื ื•ืงืก:4.20"

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื’ืœื™ื™ึทื›ืŸ ื“ื™ ARP ืึทื“ืจืขืก ืคื•ืŸ ื“ื™ ืกืขื ื“ืขืจ ืื•ืŸ ื“ื™ IPv4 ืึทื“ืจืขืก ืคื•ืŸ ื“ื™ ืฆื™ืœ ืกื™ืกื˜ืขื. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื˜ืึธืžื‘ืึทื ืง ืคื•ืŸ ARP ืคึผืึทืงื™ืฅ ื’ืขืฉื™ืงื˜ ืคึฟื•ืŸ ื“ื™ ืึทื“ืจืขืก 192.168.2.1, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื”ืขืจืฉืŸ:

    ื˜ื™ืฉ ืึทืจืคึผ ืจืขื ื˜ื’ืขื  {
    ืงื™ื™ื˜ ื™ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืงืจื•ืง ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; ืคึผืึธืœื™ื˜ื™ืง ืึธื ื ืขืžืขืŸ;
    arp saddr ip 192.168.2.1 ื˜ืึธืžื‘ืึทื ืง ืคึผืึทืงื™ืฅ 1 ื‘ื™ื˜ืขืก 46
    }
    }

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš ืึท ืคึผืจืึทืงืกื™ (ื˜ืคึผืจืึธืงืกื™). ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ืจื™ื“ืขืจืขืงื˜ ืงืึทืœืœืก ืฆื• ืคึผืึธืจื˜ 80 ืฆื• ืคืจืืงืกื™ ืคึผืึธืจื˜ 8080:

    ื˜ื™ืฉ ื™ืคึผ ืจืขื ื˜ื’ืขื  {
    ืงื™ื™ื˜ ื™ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ -150; ืคึผืึธืœื™ื˜ื™ืง ืึธื ื ืขืžืขืŸ;
    tcp dport 80 tproxy ืฆื•: 8080
    }
    }

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžืึทืจืงื™ื ื’ ืกืึทืงืึทืฅ ืžื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงื˜ ืฆื™ื™ื›ืŸ ื“ื•ืจืš setsockopt () ืื™ืŸ SO_MARK ืžืึธื“ืข. ืœืžืฉืœ:

    ื˜ืึทื‘ืœืข ื™ื ืขื˜ ืจืขื ื˜ื’ืขื  {
    ืงื™ื™ื˜ ื™ {
    ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ -150; ืคึผืึธืœื™ื˜ื™ืง ืึธื ื ืขืžืขืŸ;
    tcp dport 8080 ืžืืจืง ืฉื˜ืขืœืŸ ื›ืึธืœืขืœ ืžืืจืง
    }
    }

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ื˜ืขืงืกื˜ ื ืขืžืขืŸ ืคึฟืึทืจ ืงื™ื™ื˜ืŸ. ืœืžืฉืœ:

    nft ืœื™ื™ื’ืŸ ืงื™ื™ื˜ ื™ืคึผ ืจืขื ื˜ื’ืขื  ืจื•ื™ {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืจื•ื™; }
    nft ืœื™ื™ื’ืŸ ืงื™ื™ื˜ ื™ืคึผ ืจืขื ื˜ื’ืขื  ืคื™ืœื˜ืขืจ {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ; }
    nft ืœื™ื™ื’ืŸ ืงื™ื™ื˜ ื™ืคึผ ืจืขื ื˜ื’ืขื  ืคื™ืœื˜ืขืจ_ืœื™ื™ื˜ืขืจ {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืคืึทืจื˜ืฉืขืคึผืขืŸ ืคึผืจื™ืจืึธื•ื˜ื™ื ื’ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคื™ืœื˜ืขืจ + 10; }

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืกืขืœื™ื ื•ืงืก ื˜ืึทื’ืก (ืกืขืงืžืึทืจืง). ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ "sshtag" ืงื•ื•ื™ื˜ืœ ืื™ืŸ ืึท SELinux ืงืึธื ื˜ืขืงืกื˜, ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ:

    nft add secmark inet filter sshtag "system_u:object_r:ssh_server_packet_t:s0"

    ืื•ืŸ ื“ืขืžืึธืœื˜ ื ื•ืฆืŸ ื“ืขื ืคื™ืจืžืข ืื™ืŸ ื“ื™ ื›ึผืœืœื™ื:

    nft add rule inet filter input tcp dport 22 meta secmark set "sshtag"

    nft ืœื™ื™ื’ืŸ ืžืึทืคึผืข ื™ื ืขื˜ ืคื™ืœื˜ืขืจ ืกืขืงืžืึทืคึผื™ื ื’ {ื˜ื™ืคึผ inet_service: secmark; }
    nft add element inet filter secmapping {22: "sshtag"}
    nft ืœื™ื™ื’ืŸ ื”ืขืจืฉืŸ ื™ื ืขื˜ ืคื™ืœื˜ืขืจ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืžืขื˜ืึท ืกืขืงืžืึทืจืง ืฉื˜ืขืœืŸ tcp dport map @secmapping

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืคึผืึธืจืฅ ืึทืกื™ื™ื ื“ ืฆื• ืคึผืจืึธื˜ืึธืงืึธืœืก ืื™ืŸ ื˜ืขืงืกื˜ ืคืึธืจืขื, ื•ื•ื™ ื–ื™ื™ ื–ืขื ืขืŸ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ื“ื™ /etc/services ื˜ืขืงืข. ืœืžืฉืœ:

    nft add rule xy tcp dport "ssh"
    nft ืจืฉื™ืžื” ื›ึผืœืœื™ืืกืขื˜ -ืœ
    ื˜ื™ืฉ ืจืขื ื˜ื’ืขื  {
    ืงื™ื™ื˜ ื™ {
    ...
    tcp dport "ssh"
    }
    }

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ื ืขืฅ ืฆื•ื‘ื™ื ื“. ืœืžืฉืœ:

    ืœื™ื™ื’ืŸ ื”ืขืจืฉืŸ ื™ื ืขื˜ ืจื•ื™ ืคึผืจืขืจืึธื•ื˜ื™ื ื’ ืžืขื˜ืึท ื™ื™ืคืงื™ื ื“ "ื•ื•ืจืฃ" ืึธื ื ืขืžืขืŸ

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

    ืœื™ื™ื’ืŸ ื˜ื™ืฉ ืจืขื ื˜ื’ืขื 
    ืœื™ื™ื’ ืฉื˜ืขืœืŸ ืงืกืก {ื˜ื™ืคึผ ื™ืคึผื•ื•4_ืึทื“ื“ืจ; ื’ืจื™ื™ืก 128; ื˜ื™ื™ืžืึทื•ื˜ 30 ืก; ืคืœืึทื’ืก ื“ื™ื ืึทืžื™ืฉ; }
    ืœื™ื™ื’ืŸ ืงื™ื™ื˜ ืงืกื™ {ื˜ื™ืคึผ ืคื™ืœื˜ืขืจ ืงืจื•ืง ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ 0; }
    ืœื™ื™ื’ ื”ืขืจืฉืŸ xy ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ @s {ip saddr}

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

    ื˜ื™ืฉ ื™ืคึผ ืคื™ืœื˜ืขืจ {
    ct timeout aggressive-tcp {
    ืคึผืจืึธื˜ืึธืงืึธืœ tcp;
    l3proto ip;
    ืคึผืึธืœื™ื˜ื™ืง = {ื’ืขื’ืจื™ื ื“ืขื˜: 100, ื ืึธืขื ื˜_ื•ื•ืึทื™ื˜: 4, ื ืึธืขื ื˜: 4}
    }
    ืงื™ื™ื˜ ืจืขื–ื•ืœื˜ืึทื˜ {
    ...
    tcp dport 8888 ct ื˜ื™ื™ืžืึทื•ื˜ ืฉื˜ืขืœืŸ "ืึทื’ืจืขืกื™ื•ื•-ื˜ืงืคึผ"
    }
    }

  • NAT ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ื ืขื˜ ืžืฉืคึผื—ื”:

    ื˜ื™ืฉ ืื™ื ืขื˜ ื ืื˜ {
    ...
    ื™ืคึผ6 ื“ืึทื“ื“ืจ ื“ืขื“::2::1 ื“ื ืึทื˜ ืฆื• ื˜ื•ื™ื˜:2::99
    }

  • ื™ืžืคึผืจื•ื•ื•ื“ ื˜ื™ืคึผืึธ ื˜ืขื•ืช ืจื™ืคึผืึธืจื˜ื™ื ื’:

    nft ืœื™ื™ื’ืŸ ืงื™ื™ื˜ ืคื™ืœื˜ืขืจ ืคึผืจื•ื‘ื™ืจืŸ

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

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืฆื•ื‘ื™ื ื“ ื ืขืžืขืŸ ืื™ืŸ ืฉื˜ืขืœื˜:

    ืฉื˜ืขืœืŸ ืกืง {
    ื˜ื™ืคึผ inet_service. ifname
    ืขืœืขืžืขื ื˜ืŸ = { "ืฉืฉ" . "ืขื˜ื”0" }
    }

  • ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืคืœืึธื•ื˜ืึทื‘ืœืข ื›ึผืœืœื™ื ืกื™ื ื˜ืึทืงืก:

    nft ืœื™ื™ื’ืŸ ื˜ื™ืฉ ืจืขื ื˜ื’ืขื 
    nft add flowtable x ft { ืคืึทืจื˜ืฉืขืคึผืขืŸ ื™ื ื’ืจืขืกืก ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ 0; ื“ืขื•ื•ื™ืกืขืก = {ืขื˜ื”0, ื•ื•ืœืึทืŸ0}; }
    ...
    nft add rule x forward ip protocol {tcp, udp} flow add @ft

  • ื™ืžืคึผืจื•ื•ื•ื“ JSON ืฉื˜ื™ืฆืŸ.

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

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