hoʻokuʻu kānana ʻeke , 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
