Nftables paketifiltri 1.0.5 vÀljaanne

Ilmus vĂ€lja nftablesi pakettfiltri 1.0.5 versioon, mis ĂŒhtlustab pakettide filtreerimise liidesed IPv4, IPv6, ARP ja vĂ”rgusildade jaoks (sihtpunkt on iptablesi, ip6table'i, arptablesi ja ebtablesi asendamine). Samuti ilmus koos selle versiooniga libnftnl 1.2.3 versioon, mis pakub madala taseme API-d nf_tables sĂŒsteemiga suhtlemiseks.

Nftables'i paketti kuuluvad kasutajaruumi töötavad pakettfilteri komponendid, samas kui tuuma tasemel tagab töö nf_tables sĂŒsteem, mis on osa Linuxi tuumast alates versioonist 3.13. Tuuma tasemel pakutakse vaid ĂŒldist liidest, mis ei sĂ”ltu konkreetsest protokollist ja pakub pĂ”hifunktsioone andmete vĂ€ljavĂ”tmiseks pakettidest, andmetega töötamiseks ja voogude haldamiseks.

Filtreerimise reeglid ja protokollile spetsiifilised töötlejad kompileeritakse kasutajaruumi baidikoodiks, seejÀrel laaditakse see baidikood tuuma Netlink liidese abil ja tÀidetakse tuumas spetsiaalses virtuaalses masinas, mis meenutab BPF-i (Berkeley Packet Filters). Selline lÀhenemine vÔimaldab oluliselt vÀhendada tuuma tasemel töötava filtreerimiskoodi suurust ja viia kÔik reeglite tÔlgendamise ja protokollidega töötamise funktsioonid kasutajaruumi.

Peamised muudatused:

  • Reeglite optimeerijas, mida kutsutakse, kui on mÀÀratud valik "-o/—optimize", on lahendatud reeglite, map- ja set-nimekirjade ĂŒhendamise probleemid. # cat ruleset.nft table ip x { chain y { type nat hook postrouting priority srcnat; policy drop; ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80 ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90 } } # nft -o -c -f ruleset.nft Ühendamine: ruleset.nft:4:3-52: ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80 ruleset.nft:5:3-52: ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90 sisse: snat to ip saddr . tcp dport map { 1.1.1.1 . 8000 : 4.4.4.4 . 80, 2.2.2.2 . 8001 : 5.5.5.5 . 90 }
  • Ethernet ja vlan-elementide ĂŒhendamisel on tagatud dĂŒnaamilise set-nimekirja mÀÀramine, mis tĂ€idetakse paketi marsruudi parameetrite pĂ”hjal. add table netdev x add chain netdev x y { type filter hook ingress device enp0s25 priority 0; } add set netdev x macset { typeof ether daddr . vlan id; flags dynamic,timeout; } add rule netdev x y update @macset { ether daddr . vlan id timeout 60s } add rule netdev x y ether saddr . vlan id { 0a:0b:0c:0d:0e:0f . 42, 0a:0b:0c:0d:0e:0f . 4095 } counter accept
  • Reeglite kuvamine on seadistatud, et kasutada map-nimekirju, mis sisaldavad maske liideste nimedes. table inet filter { chain INPUT { iifname vmap { «eth0» : jump input_lan, «wg*» : jump input_vpn } } chain input_lan {} chain input_vpn {} }
  • Tagasilöökidega seonduvad muudatused on kĂ”rvaldatud, mis pĂ”hjustasid korrektsete reeglite vale lexikaalset analĂŒĂŒsi.
  • Lahendatud on probleemid, mis on seotud suurte nimekirjade aeglase töötlemise ja automaatse ĂŒhendamisega, millega on mÀÀratud vÀÀrtuste intervallid.
  • Asetuse lĂ”petamine probleemsete elementide lisamisel vale set-nimekirja on kĂ”rvaldatud.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster