nftables เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ 0.9.5 เชฐเชฟเชฒเซ€เช

เชชเซเชฐเช•เชพเชถเชฟเชค เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ เชชเซเชฐเช•เชพเชถเชจ nftables 0.9.5, IPv6, IPv4, ARP เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเซเชฐเชฟเชœ เชฎเชพเชŸเซ‡ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเซ€เชจเซ‡ iptables, ip6table, arptables เช…เชจเซ‡ ebtables เชฎเชพเชŸเซ‡ เชฐเชฟเชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชคเชฐเซ€เช•เซ‡ เชตเชฟเช•เชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‡. nftables เชชเซ‡เช•เซ‡เชœเชฎเชพเช‚ เชฏเซเชเชฐ-เชธเซเชชเซ‡เชธ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐ เช˜เชŸเช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช•เชฐเซเชจเชฒ-เชธเซเชคเชฐเชจเซเช‚ เช•เชพเชฐเซเชฏ nf_tables เชธเชฌเชธเชฟเชธเซเชŸเชฎ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ 3.13 เชจเชพ เชชเซเชฐเช•เชพเชถเชจเชฅเซ€ Linux เช•เชฐเซเชจเชฒเชจเซ‹ เชญเชพเช— เช›เซ‡. เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ nftables 0.9.5 เชจเชพ เชชเซเชฐเช•เชพเชถเชจ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชธเชฎเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช›เซ‡ เชฒเชฟเชจเช•เซเชธ 5.7.

เช•เชฐเซเชจเชฒ เชธเซเชคเชฐ เชฎเชพเชคเซเชฐ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ-เชธเซเชตเชคเช‚เชคเซเชฐ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡ เชœเซ‡ เชชเซ‡เช•เซ‡เชŸเซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เช•เชพเชขเชตเชพ, เชกเซ‡เชŸเชพ เช“เชชเชฐเซ‡เชถเชจ เช•เชฐเชตเชพ เช…เชจเซ‡ เชซเซเชฒเซ‹ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เช•เชพเชฐเซเชฏเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡. เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชจเชฟเชฏเชฎเซ‹ เช…เชจเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ-เชตเชฟเชถเชฟเชทเซเชŸ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เชฏเซเชเชฐ เชธเซเชชเซ‡เชธเชฎเชพเช‚ เชฌเชพเชˆเชŸเช•เซ‹เชกเชฎเชพเช‚ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เช† เชฌเชพเชˆเชŸเช•เซ‹เชก เชจเซ‡เชŸเชฒเชฟเช‚เช• เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ BPF (เชฌเชฐเซเช•เชฒเซ‡ เชชเซ‡เช•เซ‡เชŸ เชซเชฟเชฒเซเชŸเชฐเซเชธ) เชจเซ€ เชฏเชพเชฆ เช…เชชเชพเชตเซ‡ เชคเซ‡เชตเชพ เชตเชฟเชถเชฟเชทเซเชŸ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชฎเชพเช‚ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เช…เชญเชฟเช—เชฎ เชคเชฎเชจเซ‡ เช•เชฐเซเชจเชฒ เชธเซเชคเชฐเซ‡ เชšเชพเชฒเชคเชพ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เช•เซ‹เชกเชจเชพ เช•เชฆเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เช˜เชŸเชพเชกเชตเชพ เช…เชจเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชจเชฟเชฏเชฎเซ‹ เช…เชจเซ‡ เชคเชฐเซเช•เชถเชพเชธเซเชคเซเชฐเชจเชพ เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชœเช—เซเชฏเชพเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชฎเซเช–เซเชฏ เชจเชตเซ€เชจเชคเชพเช“:

  • เชธเซ‡เชŸ เชคเชคเซเชตเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชชเซ‡เช•เซ‡เชŸ เช…เชจเซ‡ เชŸเซเชฐเชพเชซเชฟเช• เช•เชพเช‰เชจเซเชŸเชฐเซเชธ เชฎเชพเชŸเซ‡เชจเซ‹ เช†เชงเชพเชฐ เชธเซ‡เชŸเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. "เช•เชพเช‰เชจเซเชŸเชฐ" เช•เซ€เชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชพเช‰เชจเซเชŸเชฐเซเชธ เชธเช•เซเชทเชฎ เช›เซ‡:

    เช•เซ‹เชทเซเชŸเช• ip x {
    เชธเซ‡เชŸ y {
    เช†เช‡เชชเซ€ เชธเซ‡เชกเชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ
    เช•เชพเช‰เชจเซเชŸเชฐ
    เชคเชคเซเชตเซ‹ = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }
    }

    เชธเชพเช‚เช•เชณ z {
    เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช†เช‰เชŸเชชเซเชŸ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟ เชธเซเชตเซ€เช•เชพเชฐเซ‹;
    ip daddr @y
    }
    }

  • เช•เชพเช‰เชจเซเชŸเชฐเซเชธเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฎเซ‚เชฒเซเชฏเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช…เช—เชพเช‰เชจเชพ เช•เชพเช‰เชจเซเชŸเชฐเซเชธเชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "nft -f" เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

    # cat ruleset.nft
    เช•เซ‹เชทเซเชŸเช• ip x {
    เชธเซ‡เชŸ y {
    เช†เช‡เชชเซ€ เชธเซ‡เชกเชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ
    เช•เชพเช‰เชจเซเชŸเชฐ
    เชคเชคเซเชตเซ‹ = { 192.168.10.35 เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ‡เช•เซ‡เชŸเซ‹ 1 เชฌเชพเช‡เชŸเซเชธ 84, 192.168.10.101 \
    เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ€ 192.168.10.135 เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ‡เช•เซ‡เชŸเซเชธ 0 เชฌเชพเช‡เชŸเซเชธ 0 }
    }

    เชธเชพเช‚เช•เชณ z {
    เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช†เช‰เชŸเชชเซเชŸ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟ เชธเซเชตเซ€เช•เชพเชฐเซ‹;
    ip daddr @y
    }
    }
    # nft -f ruleset.nft
    #nft เชฏเชพเชฆเซ€ เชจเชฟเชฏเชฎเซ‹
    เช•เซ‹เชทเซเชŸเช• ip x {
    เชธเซ‡เชŸ y {
    เช†เช‡เชชเซ€ เชธเซ‡เชกเชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ
    เช•เชพเช‰เชจเซเชŸเชฐ
    เชคเชคเซเชตเซ‹ = { 192.168.10.35 เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ‡เช•เซ‡เชŸเซ‹ 1 เชฌเชพเช‡เชŸเซเชธ 84, 192.168.10.101 \
    เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ€ 192.168.10.135 เช•เชพเช‰เชจเซเชŸเชฐ เชชเซ‡เช•เซ‡เชŸเซเชธ 0 เชฌเชพเช‡เชŸเซเชธ 0 }
    }

    เชธเชพเช‚เช•เชณ z {
    เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เช†เช‰เชŸเชชเซเชŸ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟ เชธเซเชตเซ€เช•เชพเชฐเซ‹;
    ip daddr @y
    }
    }

  • เชซเซเชฒเซ‹เชŸเซ‡เชฌเชฒเชฎเชพเช‚ เช•เชพเช‰เชจเซเชŸเชฐ เชธเชชเซ‹เชฐเซเชŸ เชชเชฃ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡:

    เชŸเซ‡เชฌเชฒ ip foo {
    เชซเซเชฒเซ‹เชŸเซ‡เชฌเชฒ เชฌเชพเชฐ {
    เชนเซ‚เช• เชชเซเชฐเชตเซ‡เชถ เช…เช—เซเชฐเชคเชพ -100
    เช‰เชชเช•เชฐเชฃเซ‹ = { eth0, eth1 }
    เช•เชพเช‰เชจเซเชŸเชฐ
    }

    เชธเชพเช‚เช•เชณ เช†เช—เชณ {
    เชŸเชพเช‡เชช เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เชซเซ‹เชฐเชตเชฐเซเชก เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ;
    เชซเซเชฒเซ‹ @เชฌเชพเชฐ เช•เชพเช‰เชจเซเชŸเชฐ เช‰เชฎเซ‡เชฐเซ‹
    }
    }

    เชคเชฎเซ‡ "conntrack -L" เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชพเช‰เชจเซเชŸเชฐเซเชธเชจเซ€ เชธเซ‚เชšเชฟ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹:

    tcp 6 src=192.168.10.2 dst=10.0.1.2 sport=47278 dport=5201 packets=9 bytes=608 \
    src=10.0.1.2 dst=10.0.1.1 เชฐเชฎเชค=5201 dport=47278 เชชเซ‡เช•เซ‡เชŸ=8 เชฌเชพเช‡เชŸเซเชธ=428 [เช“เชซเชฒเซ‹เชก] เชฎเชพเชฐเซเช•=0 \
    secctx=null use=2 tcp 6 src=192.168.10.2 dst=10.0.1.2 sport=47280 dport=5201 \
    packets=1005763 bytes=44075714753 src=10.0.1.2 dst=10.0.1.1 sport=5201 dport=47280 \
    packets=967505 เชฌเชพเช‡เชŸเซเชธ=50310268 [OFFLOAD] เชฎเชพเชฐเซเช•=0 secctx=null use=2

  • เชœเซ‹เชกเชพเชฃ เชฎเชพเชŸเซ‡เชจเชพ เชธเซ‡เชŸเชฎเชพเช‚ (เชธเช‚เช•เชฒเชจ, เชธเชฐเชจเชพเชฎเชพเช‚เชจเชพ เชšเซ‹เช•เซเช•เชธ เชฌเช‚เชกเชฒเซเชธ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ เชœเซ‡ เชธเชฐเช–เชพเชฎเชฃเซ€เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡), "เชŸเชพเชˆเชชเช“เชซ" เชจเชฟเชฐเซเชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เช›เซ‡, เชœเซ‡ เชธเชฎเซ‚เชนเชจเชพ เช˜เชŸเช•เซ‹เชจเชพ เช˜เชŸเช• เชญเชพเช—เซ‹ เชฎเชพเชŸเซ‡ เชคเชคเซเชตเซ‹เชจเชพ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเชจเซ‡ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡:

    เชŸเซ‡เชฌเชฒ ip foo {
    เชตเซเชนเชพเช‡เชŸเชฒเชฟเชธเซเชŸ เชธเซ‡เชŸ เช•เชฐเซ‹ {
    เช†เช‡เชชเซ€ เชธเซ‡เชกเชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ. เชŸเซ€เชธเซ€เชชเซ€ เชกเซ€เชชเซ‹เชฐเซเชŸ
    เชคเชคเซเชตเซ‹ = { 192.168.10.35 . 80, 192.168.10.101. 80}
    }

    เชธเชพเช‚เช•เชณ เชชเชŸเซเชŸเซ€ {
    เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เชชเซเชฐเซ€เชฐเซเชŸเชฟเช‚เช— เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹;
    ip daddr. tcp dport @whitelist เชธเซเชตเซ€เช•เชพเชฐเซ‹
    }
    }

  • เชกเชพเชฏเชฐเซ‡เช•เซเชŸเซ€เชตเชจเซ‹ เชชเซเชฐเช•เชพเชฐ เชนเชตเซ‡ เชจเช•เชถเชพ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชœเซ‹เชกเชพเชตเชพ เชชเชฐ เชชเชฃ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡:

    เชŸเซ‡เชฌเชฒ ip foo {
    เชจเช•เชถเซ‹ addr2mark {
    เช†เช‡เชชเซ€ เชธเซ‡เชกเชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ. เชŸเซ€เชธเซ€เชชเซ€ เชกเซ€เชชเซ‹เชฐเซเชŸ: เชฎเซ‡เชŸเชพ เชฎเชพเชฐเซเช•
    เชคเชคเซเชตเซ‹ = { 192.168.10.35 . 80 : 0x00000001,
    192.168.10.135. 80 : 0x00000002 }
    }

    เชธเชพเช‚เช•เชณ เชชเชŸเซเชŸเซ€ {
    เชชเซเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‚เช• เชชเซเชฐเซ€เชฐเซเชŸเชฟเช‚เช— เชชเซเชฐเชพเชฏเซ‹เชฐเชฟเชŸเซ€ เชซเชฟเชฒเซเชŸเชฐ; เชจเซ€เชคเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹;
    เชฎเซ‡เชŸเชพ เชฎเชพเชฐเซเช• เชธเซ‡เชŸ ip daddr. tcp dport เชจเช•เชถเซ‹ @addr2mark เชธเซเชตเซ€เช•เชพเชฐเซ‹
    }
    }

  • เช…เชจเชพเชฎเซ€ (เช…เชจเชพเชฎเซ€) เชธเซ‡เชŸเชฎเชพเช‚ เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชฎเชฐเซเชฅเชจ:

    # nft เช‰เชฎเซ‡เชฐเซ‹ เชจเชฟเชฏเชฎ inet เชซเชฟเชฒเซเชŸเชฐ เช‡เชจเชชเซเชŸ ip daddr . เชŸเซ€เชธเซ€เชชเซ€ เชกเซ€เชชเซ‹เชฐเซเชŸ\
    { 10.0.0.0/8 . 10-23, 192.168.1.1-192.168.3.8. 80-443 } เชธเซเชตเซ€เช•เชพเชฐเซ‹

  • เชจเซ‡เชŸเชตเชฐเซเช• เชฌเซเชฐเชฟเชœ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ 802.1q (VLAN) เชซเซเชฒเซ‡เช— เชธเชพเชฅเซ‡เชจเชพ เชชเซ‡เช•เซ‡เชŸเซ‹ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

    # nft เชŸเซ€เชธเซ€เชชเซ€ เชฐเซ€เชธเซ‡เชŸ เชธเชพเชฅเซ‡ เชจเชฟเชฏเชฎ เชฌเซเชฐเชฟเชœ foo เชฌเชพเชฐ เชˆเชฅเชฐ เชชเซเชฐเช•เชพเชฐ vlan เชฐเชฟเชœเซ‡เช•เซเชŸ เช‰เชฎเซ‡เชฐเซ‹

  • TCP เชธเชคเซเชฐ เช“เชณเช–เช•เชฐเซเชคเชพ (conntrack ID) เชฆเซเชตเชพเชฐเชพ เชฎเซ‡เชšเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เช•เซ‹เชจเซเชŸเซเชฐเชพเช• เช†เชˆเชกเซ€ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "--เช†เช‰เชŸเชชเซเชŸ เช†เชˆเชกเซ€" เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

    # เช•เซ‹เชจเซเชŸเซเชฐเชพเช• -L โ€”เช†เช‰เชŸเชชเซเชŸ เช†เชˆเชกเซ€
    udp 17 18 src=192.168.2.118 dst=192.168.2.1 sport=36424 dport=53 packets=2 \
    bytes=122 src=192.168.2.1 dst=192.168.2.118 sport=53 dport=36424 packets=2 bytes=320 \
    [เช†เชถเซเชšเชฟเชค] เชฎเชพเชฐเซเช•=0 เช‰เชชเชฏเซ‹เช—=1 เช†เชˆเชกเซ€=2779986232

    # nft เช‰เชฎเซ‡เชฐเซ‹ เชจเชฟเชฏเชฎ foo bar ct id 2779986232 เช•เชพเช‰เชจเซเชŸเชฐ

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹