Nftables packet tātari tuku 1.0.6

Kua whakaputaina te tukunga tātari paatete nftables 1.0.6, he whakakotahi i nga atanga tātari paatete mo IPv4, IPv6, ARP me nga piriti whatunga (e whai ana ki te whakakapi i nga iptables, ip6table, arptables me nga ebtables). Kei roto i te kete nftables nga waahanga tātari packet e rere ana i te waahi kaiwhakamahi, i te mea ko te taumata kernel e whakaratohia ana e te nf_tables subsystem, he waahanga o te kernel Linux mai i te tukunga 3.13. 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). Ko 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 huringa matua:

  • I roto i nga ture optimizer e kiia ana i te wa e tohu ana i te "-o/--optimize" kowhiringa, kua oti te whakatakoto i te taapitanga aunoa o nga ture ma te whakakotahi me te huri hei rarangi mapi me te rarangi-whakatuwhera. Hei tauira, ko nga ture # cat ruleset.nft table ip x { chain y { type filter hook tāuru tātari matua; takahanga kaupapa here; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 accept meta iifname eth1 ip saddr 1.1.1.2 ip meta iifname 2.2.3.0 .24 ip daddr 1-1.1.1.2 accept meta iifname eth2.2.4.0 ip saddr 2.2.4.10 ip daddr 2 accept } } i muri i te "nft -o -c -f ruleset.nft" ka huri ki enei: ruleset. nft:1.1.1.3:2.2.2.5-4: meta iifname eth17 ip saddr 74 ip daddr 1 accept ruleset.nft:1.1.1.1:2.2.2.3-5: meta iifname eth17 ip saddr 74 ip daddr 1 accept ruleset.n 1.1.1.2:2.2.2.4-6: meta iifname eth17 ip saddr 77 ip daddr 1/1.1.1.2 accept ruleset.nft:2.2.3.0:24-7: meta iifname eth17 ip saddr 83 ip daddr 1-1.1.1.2. ruleset.nft:2.2.4.0:2.2.4.10-8: meta iifname eth17 ip saddr 74 ip daddr 2 accept into: iifname . ip saddr. ip papa { eth1.1.1.3. 2.2.2.5. 1, eth1.1.1.1 . 2.2.2.3. 1, eth1.1.1.2 . 2.2.2.4. 1/1.1.1.2, eth2.2.3.0 . 24. 1-1.1.1.2, eth2.2.4.0 . 2.2.4.10. 2 } whakaae
  • Ka taea hoki e te kaihoroi te whakamaarama i nga ture e whakamahi ana i nga rarangi huinga ngawari ki roto i te ahua kiato, penei: # cat ruleset.nft table ip filter { urunga mekameka { type filter hook input priority filter; takahanga kaupapa here; iifname "lo" whakaae ct state established,related accept comment "I roto i nga waka i ahu mai ai matou, ka whakawhirinaki matou" iifname "enp0s31f6" ip saddr {209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 whakaae 123 iifname "enp32768s65535f0" ip saddr { 31, 6 } ip daddr 64.59.144.17 udp sport 64.59.150.133 udp dport 10.0.0.149-53 whakaae } } i muri i te rere -c.ft. : ruleset.nft:32768:65535-6: iifname "enp22s149f0" ip saddr { 31, 6 } ip daddr 209.115.181.102 udp sport 216.197.228.230 udp10.0.0.149 -123 32768 : iifname "enp65535s7f22" ip saddr { 143, 0 } ip daddr 31 udp sport 6 udp dport 64.59.144.17-64.59.150.133 accept into: iifname . ip saddr. ip papa. hākinakina udp. udp dport { enp10.0.0.149s53f32768 . 65535 . 0 . 31 . 6-209.115.181.102, enp10.0.0.149s123f32768 . 65535 . 0 . 31 . 6-216.197.228.230, enp10.0.0.149s123f32768 . 65535. 0 . 31 . 6-64.59.144.17, enp10.0.0.149s53f32768 . 65535. 0 . 31 . 6-64.59.150.133 } whakaae
  • I whakatauhia he take ki te hanga bytecode mo te hanumi i nga waahi e whakamahi ana i nga momo rereke rereke, penei i te IPv4 (enddian network) me te tohu meta (endian system). ripanga ip x { mahere w { momo ip saddr . tohu meta: nga haki whakatau i nga huānga porotiti wa = {127.0.0.1-127.0.0.4. 0x123434-0xb00122 : whakaae, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : whakaae, } } mekameka k { momo tātari matau tāuru tātari matua; takahanga kaupapa here; ip saddr. tohu meta vmap @w } }
  • Kua pai ake nga mapi kawa onge ina whakamahi kii mata, hei tauira: meta l4proto 91 @th,400,16 0x0 whakaae
  • Kua whakatikahia nga take me nga ture whakaahei i nga waahi: whakauruhia te ture xy tcp sport { 3478-3497, 16384-16387 } counter accept
  • Kua pai ake te JSON API ki te tautoko i nga korero i roto i nga rarangi huinga me nga rarangi mahere.
  • I nga toronga ki te whare pukapuka python nftables, ka whakaaetia kia utaina nga huinga ture mo te tukatuka i roto i te aratau taki ("-c") me te tautoko mo te whakamaramatanga taurangi o waho kua taapirihia.
  • Ko te taapiri i nga korero ka whakaaetia i roto i nga huānga o nga rarangi-huinga.
  • Ka whakaaetia ki te tautuhi uara kore i roto i te reiti paita.

Source: opennet.ru

Tāpiri i te kōrero