nftables เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเตผ 0.9.3 เดฑเดฟเดฒเต€เดธเต

เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเตผ เดฑเดฟเดฒเต€เดธเต nftables 0.9.3, IPv6, IPv4, ARP, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดฌเตเดฐเดฟเดกเตเดœเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เดพเดฏเตเดณเตเดณ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เตพ เดเด•เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† iptables, ip6table, arptables, ebtables เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เต เดชเด•เดฐเดฎเดพเดฏเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. nftables เดชเดพเด•เตเด•เต‡เดœเดฟเตฝ เดฏเต‚เดธเตผ เดธเตเดชเต‡เดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเตผ เด˜เดŸเด•เด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เด•เต‡เตผเดฃเตฝ-เดฒเต†เดตเตฝ เดตเตผเด•เตเด•เต เดจเตฝเด•เตเดจเตเดจเดคเต 3.13 เดฑเดฟเดฒเต€เดธเต เดฎเตเดคเตฝ Linux เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏ nf_tables เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฃเต. nftables 0.9.3 เดฑเดฟเดฒเต€เดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเดพเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ Linux 5.5 เด•เต‡เตผเดฃเตฝ เดฌเตเดฐเดพเดžเตเดšเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดกเดพเดฑเตเดฑ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ เดซเตเดฒเต‹ เด•เตบเดŸเตเดฐเต‹เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดœเดจเดฑเดฟเด•เต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ-เดธเตเดตเดคเดจเตเดคเตเดฐ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด•เต‡เตผเดฃเตฝ เดฒเต†เดตเตฝ เดจเตฝเด•เตเดจเตเดจเดคเต. เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดฒเต‹เดœเดฟเด•เตเด•เตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เดณเตเด‚ เดฏเต‚เดธเตผ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดฌเตˆเดฑเตเดฑเตโ€Œเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดˆ เดฌเตˆเดฑเตเดฑเตโ€Œเด•เต‹เดกเต เดจเต†เดฑเตเดฑเตโ€Œเดฒเดฟเด™เตเด•เต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฌเดฟเดชเดฟเดŽเดซเดฟเดจเต† เด…เดจเตเดธเตเดฎเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดฌเต†เตผเด•เตเด•เตโ€Œเดฒเดฟ เดชเดพเด•เตเด•เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเดฑเตเด•เตพ). เด•เต‡เตผเดฃเตฝ เดคเดฒเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เด•เต‹เดกเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดดเตเดธเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดฒเต‹เดœเดฟเด•เตเด•เตเด•เดณเตเดŸเต†เดฏเตเด‚ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดฏเต‚เดธเตผ เดธเตเดชเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เดพเตป เดˆ เดธเดฎเต€เดชเดจเด‚ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเตเดฐเดงเดพเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเตเดคเตเดคเด™เตเด™เตพ:

  • เดธเดฎเดฏเดคเตเดคเดฟเดจเดจเตเดธเดฐเดฟเดšเตเดšเต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ. เดฑเต‚เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏ, เดคเต€เดฏเดคเดฟ เดถเตเดฐเต‡เดฃเดฟเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เดพเด‚, เด•เต‚เดŸเดพเดคเต† เด†เดดเตโ€Œเดšเดฏเดฟเดฒเต† เดตเตเดฏเด•เตเดคเดฟเด—เดค เดฆเดฟเดตเดธเด™เตเด™เดณเดฟเตฝ เดŸเตเดฐเดฟเด—เดฑเดฟเด‚เด—เต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเด‚. เดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เดŽเดชเตเดชเต‹เดšเตเดšเตฝ เดธเดฎเดฏเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต "-T" เดŽเดจเตเดจ เดชเตเดคเดฟเดฏ เด“เดชเตเดทเดจเตเด‚ เดšเต‡เตผเดคเตเดคเต.

    เดฎเต†เดฑเตเดฑเดพ เดธเดฎเดฏเด‚ \ยป2019-12-24 16:00\" โ€” \ยป2020-01-02 7:00\"
    เดฎเต†เดฑเตเดฑเดพ เดฎเดฃเดฟเด•เตเด•เต‚เตผ \"17:00\" - \"19:00\"
    เดฎเต†เดฑเตเดฑเดพ เดกเต‡ \"เดตเต†เดณเตเดณเดฟ\"

  • SELinux เดฎเดพเตผเด•เตเด•เตเด•เตพ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ (เดธเต†เด•เตเดฎเดพเตผเด•เตเด•เต).

    ct เดธเต†เด•เตเดฎเดพเตผเด•เตเด•เต เดธเต†เดฑเตเดฑเต เดฎเต†เดฑเตเดฑเดพ เดธเต†เด•เตเดฎเดพเตผเด•เตเด•เต
    เดฎเต†เดฑเตเดฑเดพ เดธเต†เด•เตเดฎเดพเตผเด•เตเด•เต เดธเต†เดฑเตเดฑเต ct เดธเต†เด•เตเดฎเดพเตผเด•เตเด•เต

  • เดธเดฟเตปเดชเตเดฐเต‹เด•เตเดธเดฟ เดฎเดพเดชเตเดชเต เดฒเดฟเดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ, เด“เดฐเต‹ เดฌเดพเด•เตเด•เต†เตปเดกเดฟเดฒเตเด‚ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

    เดชเดŸเตเดŸเดฟเด• ip foo {
    synproxy https-synproxy {
    mss 1460
    wscale 7
    เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต เดธเดพเด•เตเด•เต-เดชเต†เตผเด‚
    }

    synproxy other-synproxy {
    mss 1460
    wscale 5
    }

    เดšเต†เดฏเดฟเตป เดชเตเดฐเต€ {
    เดคเดฐเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดนเตเด•เตเด•เต เดฎเตเตปโ€Œเด—เดฃเดจ เดฑเต‹ เดจเดฏเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•;
    tcp dport 8888 tcp เดซเตเดฒเดพเด—เตเด•เตพ syn notrack
    }

    เดšเต†เดฏเดฟเตป เดฌเดพเตผ {
    เดคเดฐเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดนเตเด•เตเด•เต เดซเต‹เตผเดตเต‡เดกเต เดฎเตเตปเด—เดฃเดจ เดซเดฟเตฝเดŸเตเดŸเตผ; เดจเดฏเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•;
    ct เด…เดตเดธเตเดฅ เด…เดธเดพเดงเตเดตเดพเดฃเต, เดŸเตเดฐเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเดพเดคเตเดค เดธเดฟเตปเดชเตเดฐเต‹เด•เตเดธเดฟ เดจเดพเดฎเด‚ ip saddr เดฎเดพเดชเตเดชเต { 192.168.1.0/24 : โ€œhttps-synproxyโ€, 192.168.2.0/24 : โ€œother-synproxyโ€ }
    }
    }

  • เดชเดพเด•เตเด•เดฑเตเดฑเต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเต†เดฑเตเดฑเต เด˜เดŸเด•เด™เตเด™เตพ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต.

    nft เดฑเต‚เตพ เดšเต‡เตผเด•เตเด•เตเด•... @set5 {ip6 saddr เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•. ip6 daddr}

  • เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดฌเตเดฐเดฟเดกเตเดœเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดเดกเดฟเดฏเตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด‚ เดตเดดเดฟ VLAN เดฎเดพเดชเตเดชเดฟเด‚เด—เดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ;

    meta ibrpvid 100
    เดฎเต†เดฑเตเดฑเดพ ibrvproto vlan

  • เดจเดฟเดฏเดฎเด™เตเด™เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเต†เดฑเตเดฑเต เดธเต†เดฑเตเดฑเตเด•เดณเตเดŸเต† เด˜เดŸเด•เด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด“เดชเตเดทเตป "-t" ("--terse"). "nft -t เดฒเดฟเดธเตเดฑเตเดฑเต เดฑเต‚เตพเดธเต†เดฑเตเดฑเต" เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด‚:

    เดชเดŸเตเดŸเดฟเด• ip x {
    เดธเต†เดฑเตเดฑเต y {
    ipv4_addr เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•
    }
    }

    เด•เต‚เดŸเดพเดคเต† "nft เดฒเดฟเดธเตเดฑเตเดฑเต เดฑเต‚เตพเดธเต†เดฑเตเดฑเต"

    เดชเดŸเตเดŸเดฟเด• ip x {
    เดธเต†เดฑเตเดฑเต y {
    ipv4_addr เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•
    เด˜เดŸเด•เด™เตเด™เตพ = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • เดชเตŠเดคเตเดตเดพเดฏ เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเต†เดฑเตเดฑเตโ€Œเดฆเต‡เดตเต เดถเตƒเด‚เด–เดฒเด•เดณเดฟเตฝ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต (เด•เต‡เตผเดฃเตฝ 5.5-เตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต).

    เดชเดŸเตเดŸเดฟเด• netdev x เดšเต‡เตผเด•เตเด•เตเด•
    netdev xy { \ เดšเต†เดฏเดฟเตป เดšเต‡เตผเด•เตเด•เตเด•
    เดคเดฐเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดนเตเด•เตเด•เต เด‡เตปเด—เตเดฐเดธเต เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ = { eth0, eth1 } เดฎเตเตปเด—เดฃเดจ 0;
    }

  • เดกเดพเดฑเตเดฑ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดตเดฟเดตเดฐเดฃเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต.

    #nft ipv4_addr เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด•
    เดกเดพเดฑเตเดฑเดŸเตˆเดชเตเดชเต ipv4_addr (IPv4 เดตเดฟเดฒเดพเดธเด‚) (เดฌเต‡เดธเตเดŸเตˆเดชเตเดชเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ), 32 เดฌเดฟเดฑเตเดฑเตเด•เตพ

  • เดฒเดฟเดฌเตเดฐเต†เดกเตโ€Œเดฒเตˆเดจเดฟเดจเต เดชเด•เดฐเด‚ เดฒเตˆเตปเดจเต‹เดฏเดฟเดธเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต CLI เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต.

    ./configure --with-cli=linenoise

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•