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 i nā ʻeke ma ka manawa. Hiki iā ʻoe ke wehewehe i nā pae manawa a me nā lā kahi e hoʻomaka ai ka lula, a hoʻonohonoho i ka hoʻomaka ʻana i nā lā pākahi o ka pule. Hoʻohui pū i kahi koho hou "-T" e hōʻike 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 \"Palima\" - Kākoʻo no ka hoʻihoʻi ʻana a me ka mālama ʻana i nā māka SELinux (secmark).
ct secmark hoʻonoho meta secmark
meta secmark hoʻonohonoho ct secmark - Kākoʻo no nā papa inoa palapala ʻāina synproxy, e ʻae iā ʻoe e wehewehe ʻoi aku ma mua o hoʻokahi lula no kēlā me kēia hope.
papa ip foo {
synproxy https-synproxy {
mss 1460
wscale 7
ʻeke ʻeke-perm
}synproxy other-synproxy {
mss 1460
wscale 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 ʻo ct state, untracked synproxy name ip saddr map { 192.168.1.0/24 : “https-synproxy”, 192.168.2.0/24 : “other-synproxy” }
}
} - ʻO ka hiki ke hoʻoneʻe ikaika i nā mea i hoʻonohonoho ʻia mai nā lula kaʻina hana packet.
nft hoʻohui lula ... holoi @set5 { ip6 saddr . ip6 papa}
- Kākoʻo no ka palapala palapala VLAN e ka ID a me ka protocol i wehewehe ʻia ma ka metadata interface alahaka pūnaewele;
meta ibrpvid 100
meta ibrvproto vlan - Koho "-t" ("--terse") e kāpae i nā mea o nā pūʻulu hoʻonohonoho i ka wā e hōʻike ana i nā lula. Ke holo nei "nft -t list ruleset" e puka mai:
papa ip x {
hoʻonoho y {
ʻano ipv4_addr
}
}A me "nft list ruleset"
papa ip x {
hoʻonoho y {
ʻano ipv4_addr
mau mea = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - Hiki ke kuhikuhi i nā mea ʻoi aku ma mua o hoʻokahi mea 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 pākaukau netdev x
hoʻohui i ke kaulahao netdev xy { \
ʻano kānana hoʻokomo mea hoʻokomo = { eth0, eth1 } mea nui 0;
} - Hiki ke hoʻohui i nā wehewehe o nā ʻano ʻikepili.
#nft wehewehe ipv4_addr
ʻano ʻikepili ipv4_addr (helu helu IPv4) (integer basetype), 32 mau ʻāpana - Hiki ke kūkulu i kahi kikowaena CLI me ka waihona linenoise ma kahi o ka libreadline.
./configure --with-cli=linenoise
Source: opennet.ru