nftables packet filter hoʻokuʻu 0.9.3

paʻi ʻia hoʻokuʻu kānana ʻeke nfttables 0.9.3, ka mea e hoʻomohala ʻia nei ma ke ʻano he pani no iptables, ip6table, arptables, a me ebtables ma o ka hoʻohui ʻana i nā interfaces kānana packet no IPv4, IPv6, ARP, a me nā alahaka pūnaewele. Loaʻa i ka pūʻolo nftables nā ʻāpana kānana packet e hana ana ma ka wahi mea hoʻohana, ʻoiai ua hāʻawi ʻia ka hana pae kernel e ka nf_tables subsystem, ʻo ia kekahi ʻāpana o ka kernel. Linux E hoʻomaka ana me ka hoʻokuʻu ʻana o 3.13, ua hoʻokomo ʻia nā hoʻololi e pono ai no ka hana ʻana o nftables 0.9.3 i ka lālā kernel e hiki mai ana. Linux 5.5.

Hāʻawi ka pae kernel i kahi kikowaena kūʻokoʻa protocol generic e hāʻawi i nā hana maʻamau no ka unuhi ʻana i ka ʻikepili mai nā ʻeke, hana i nā hana ʻikepili, a me ka mana kahe. Hoʻopili ʻia ka loiloi kānana ponoʻī a me nā mea hoʻohana kikoʻī protocol i ka bytecode ma kahi o ka mea hoʻohana, a laila hoʻokomo ʻia kēia bytecode i loko o ka kernel me ka hoʻohana ʻana i ka interface Netlink a hoʻokō ʻia i kahi mīkini virtual kūikawā e hoʻomanaʻo ana i ka BPF (Berkeley Packet Filters). ʻO kēia ala e hiki ai iā ʻoe ke hōʻemi nui i ka nui o ke code kānana e holo ana ma ka pae kernel a neʻe i nā hana āpau o nā lula parsing a me nā loiloi no ka hana ʻana me nā protocols i loko o kahi mea hoʻohana.

Nā hana hou nui:

  • Kākoʻo no ka hoʻohālikelike ʻana o ka pūʻolo manawa. Hiki iā ʻoe ke wehewehe i nā pae manawa a me nā lā no ka hoʻoulu ʻana i nā lula, a me ka hoʻonohonoho ʻana i ka hoʻoulu ʻana i nā lā kikoʻī o ka pule. Ua hoʻohui ʻia kekahi koho "-T" hou no ka hōʻike ʻana i ka manawa epochal i kekona.

    manawa meta \»2019-12-24 16:00\" — \»2020-01-02 7:00\"
    hola meta \"17:00\" - \"19:00\"
    Lā Meta \»Pōʻalima\»

  • Kākoʻo no ka hoʻihoʻi ʻana a me ka mālama ʻana i nā lepili SELinux (māka ʻē aʻe).

    ct secmark hoʻonohonoho meta secmark
    hoʻonohonoho meta secmark ct secmark

  • Kākoʻo no nā palapala ʻāina synproxy, e ʻae ana iā ʻoe e wehewehe i nā lula he nui ma kēlā me kēia backend.

    papa ip foo {
    synproxy https-synproxy {
    mss 1460
    unahi 7
    hōʻailona manawa sack-perm
    }

    synproxy ʻē aʻe-synproxy {
    mss 1460
    unahi 5
    }

    kaulahao mua {
    ʻano kānana hook prerouting priority maka; ʻae i nā kulekele;
    tcp dport 8888 tcp hae syn notrack
    }

    kaulahao kaula {
    ʻano kānana hook i mua kānana kānana; ʻae i nā kulekele;
    ʻAʻole kūpono ke kūlana ct, ʻaʻole i hahai ʻia ka inoa synproxy ip saddr map {192.168.1.0/24: "https-synproxy", 192.168.2.0/24: "ʻother-synproxy"}
    }
    }

  • Ka hiki ke hoʻoneʻe ikaika i nā mea i hoʻonohonoho ʻia mai nā lula hana packet.

    nft hoʻohui i ke kānāwai ... holoi iā @set5 {ip6 saddr. ip6 daddr}

  • Kākoʻo no ka palapala ʻāina VLAN e ka ID a me ke kaʻina hana i ho'ākāka ʻia ma ka metadata interface bridge network;

    meta ibrpvid 100
    meta ibrvproto vlan

  • ʻAʻole hoʻokomo ke koho "-t" ("--terse") i nā mea i hoʻonohonoho ʻia i ka wā e hōʻike ana i nā lula. ʻO ka holo ʻana o "nft -t list ruleset" e hoʻopuka i kēia:

    papa ip x {
    hoʻonoho y {
    ʻano ipv4_addr
    }
    }

    A me ka "nft list ruleset"

    papa ip x {
    hoʻonoho y {
    ʻano ipv4_addr
    nā mea = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34}
    }
    }

  • Ka hiki ke kuhikuhi i nā mea hana he nui ma nā kaulahao netdev (hana wale me ka kernel 5.5) e hoʻohui i nā lula kānana maʻamau.

    hoʻohui i ka papa netdev x
    hoʻohui i ke kaulahao netdev xy { \
    ʻano kānana makau komo nā mea hana = {eth0, eth1} koʻikoʻi 0;
    }

  • Ka hiki ke hoʻohui i nā wehewehe ʻano ʻikepili.

    # nft wehewehe i ka ipv4_addr
    ʻano ʻikepili ipv4_addr (helu IPv4) (helu kumu), 32 bits

  • Ka hiki ke kūkulu i ka pilina CLI me ka waihona linenoise ma kahi o libreadline.

    ./configure --me-cli=linenoise

Source: opennet.ru

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster