I te taumata kernel, ka whakaratohia he atanga kawa-motuhake noa e whakarato ana i nga mahi taketake mo te tango raraunga mai i nga paatete, te whakahaere i nga mahi i runga i nga raraunga, me te whakahaere i te rere. Ko nga ture tātari ma ratou ano me nga kaikawe kawa motuhake ka whakahiatohia ki te bytecode mokowā-kaiwhakamahi, muri iho ka utaina tenei bytecode ki roto i te kernel ma te whakamahi i te atanga Netlink ka mahia i roto i te kernel i roto i te miihini mariko motuhake e rite ana ki te BPF (Berkeley Packet Filters). Ma tenei huarahi ka taea te whakaiti i te rahi o te waehere tātari e rere ana i te taumata kernel me te neke i nga mahi katoa o nga ture parsing me te arorau o te mahi me nga kawa ki te waahi kaiwhakamahi.
Nga mahi hou:
- Tautoko mo nga awhe i roto i nga hononga (te hono, etahi herenga o nga wahitau me nga tauranga e ngawari ana te whakahoa). Hei tauira, mo te huinga "whitelist" he apitihanga ona huānga, ka tohu te haki "wawhanga" ka taea e te huinga te whakauru awhe i roto i te taapiri (mo te taapiri "ipv4_addr. ipv4_addr. rite "192.168.10.35. 192.68.11.123", a inaianei ka taea e koe te tautuhi i nga roopu o nga wahitau "80-192.168.10.35-192.168.10.40".
tepu ip foo {
tautuhi rārangi ma {
momo ipv4_addr . ipv4_addr . ratonga_inet
wā haki
huānga = {192.168.10.35-192.168.10.40. 192.68.11.123-192.168.11.125 . 80}
}pae mekameka {
momo tātari matau tātari matua arataki mua; takahanga kaupapa here;
ip saddr. ip papa. tcp dport@whitelist whakaae
}
} - I roto i nga huinga me nga raarangi-mapi, ka taea te whakamahi i te "typeof" tohutohu, e whakatau ana i te whakatakotoranga o te huānga i te wa e mapi ana.
Hei tauira:tepu ip foo {
tautuhi rārangi ma {
momo ip saddr
huānga = {192.168.10.35, 192.168.10.101, 192.168.10.135 }
}pae mekameka {
momo tātari matau tātari matua arataki mua; takahanga kaupapa here;
ip daddr @whitelist whakaae
}
}tepu ip foo {
mahere addr2mark {
momo ip saddr: tohu meta
huānga = { 192.168.10.35 : 0x00000001, 192.168.10.135 : 0x00000002 }
}
} - Kua taapirihia te kaha ki te whakamahi i nga taapiri i roto i nga hononga NAT, ka taea e koe te tautuhi i tetahi wahitau me te tauranga i te wa e tautuhi ana i nga whakamaoritanga NAT i runga i nga rarangi mahere, i nga huinga ingoa ranei:
nft tāpiri ture ip nat mua dnat ip addr . tauranga ki ip saddr map {1.1.1.1: 2.2.2.2. toru tekau }
nft tāpiri mapi ip nat ūnga { momo ipv4_addr . ratonga_inet: ipv4_addr. ratonga_inet\\; }
nft tāpiri ture ip nat mua dnat ip addr . tauranga ki ip saddr. tcp dport map @destinations - Tautoko mo te whakatere taputapu me te tango i etahi mahi tātari i runga i nga pokohiwi o te kaari whatunga. Ka taea te whakatere ma te taputapu ethtool ("ethtool -K eth0 hw-tc-offload on"), muri iho ka whakahohehia i roto i nga nftables mo te mekameka matua ma te whakamahi i te haki "offload". I te wa e whakamahi ana i te kakano Linux 5.6, ka tautokohia te whakaterenga taputapu mo te whakahoahoa pane pane me te tirotiro atanga taumai me te tango, te whakaheke, te taarua (ruarua), me te tuku whakamua (fwd). I roto i te tauira i raro nei, ka mahia nga mahi mo te whakaheke i nga paatete mai i te wahitau 192.168.30.20 i te taumata kaari whatunga, me te kore e tukuna nga paakete ki te kernel:
# ngeru file.nft
ripanga netdev x {
mekameka y {
momo tātari matau taputapu whakauru eth0 kaupapa matua 10; nga haki whakaheke;
ip saddr 192.168.30.20 taka
}
}
# nft -f kōnae.nft - He pai ake nga korero mo te waahi o te hapa i roto i nga ture.
# nft muku ture ip yz kakau 7
Hapa: Kaore i taea te whakahaere ture: Karekau he konae, he whaiaronga ranei
muku ture ip yz kakau 7
^# nft muku ture ip xx kakau 7
Hapa: Kaore i taea te whakahaere ture: Karekau he konae, he whaiaronga ranei
muku ture ip xx kakau 7
^# nft muku te ripanga twst
Hapa: Karekau he konae, he whaiaronga ranei; Ko te tikanga o te ripanga he "whakamatautau" i te ip whanau?
ūkuia te awhi tepu
^^^^Ko te tauira tuatahi e whakaatu ana karekau te ripanga 'y' i roto i te punaha, ko te tuarua e whakaatu ana kei te ngaro te kaihautu '7', ko te tuatoru ka whakaatu he tohu patopato ina patohia te ingoa ripanga.
- He tautoko taapiri mo te tirotiro i te atanga taurekareka ma te tohu "meta sdif" ranei "meta sdifname":
... meta sdifname vrf1 ...
- He tautoko taapiri mo te mahi neke ki matau, maui ranei. Hei tauira, ki te nuku i te tapanga o te paatete kua waiho ma te 1 moka ka tautuhi i te moka raro ki te 1:
… tautuhi tohu meta tohu tohu lshift 1, 0x1 ranei…
- I whakatinanahia te whiringa "-V" hei whakaatu i nga korero putanga roa.
#nft -V
nftables v0.9.4 (Jive at Five)
cli:readline
json: ae
minigmp: kahore
libxtables: ae - Ko nga whiringa raina whakahau he whakahau i mua i nga whakahau. Hei tauira, me tohu koe "nft -a rarangi rarangi ture", me te whakahaere "nft list ruleset -a" ka puta he hapa.
Source: opennet.ru