nftables pakkie filter 1.0.6 vrystelling

Die nftables 1.0.6 pakkiefiltervrystelling is gepubliseer, wat pakkiefiltreringskoppelvlakke vir IPv4, IPv6, ARP en netwerkbrûe verenig (wat daarop gemik is om iptables, ip6table, arptables en ebtables te vervang). Die nftables-pakket bevat pakkiefilterkomponente wat in gebruikersruimte loop, terwyl die kernvlak verskaf word deur die nf_tables-substelsel, wat sedert vrystelling 3.13 deel van die Linux-kern is. Op die kernvlak word slegs 'n generiese protokol-onafhanklike koppelvlak verskaf wat basiese funksies verskaf om data uit pakkies te onttrek, bewerkings op data uit te voer en vloei te beheer.

Die filterreëls self en protokol-spesifieke hanteerders word saamgestel in gebruikersspasie-greepkode, waarna hierdie greepkode in die kern gelaai word met behulp van die Netlink-koppelvlak en in die kern uitgevoer word in 'n spesiale virtuele masjien wat soos BPF (Berkeley Packet Filters) lyk. Hierdie benadering maak dit moontlik om die grootte van die filterkode wat op kernvlak loop aansienlik te verminder en al die funksies van ontledingsreëls en die logika van werk met protokolle na gebruikersruimte te skuif.

Belangrikste veranderinge:

  • Die reël-optimeerder, genoem wanneer die "-o/—optimize" opsie gespesifiseer is, het outomatiese verpakking van reëls deur hulle te kombineer en om te skakel in kaart- en stellyste. Byvoorbeeld, reëls # kat reëlset.nft tabel ip x { ketting y { tipe filter haak invoer prioriteit filter; polisdaling; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 aanvaar meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 aanvaar meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0 met. 24 .1 ip daddr 1.1.1.2-2.2.4.0 aanvaar meta iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 aanvaar } } na die uitvoering van "nft -o -c -f reëlset.nft" sal omgeskakel word na soos volg: reëlset nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 aanvaar reëlset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.2 aanvaar reëls et. : 2.2.2.4:6-17: meta iifname eth77 ip saddr 1 ip daddr 1.1.1.2/2.2.3.0 aanvaar reëlset.nft:24:7-17: meta iifname eth83 ip saddr 1 ip daddr 1.1.1.2. aanvaar reëlset.nft:2.2.4.0:2.2.4.10-8: meta iifname eth17 ip saddr 74 ip daddr 2 aanvaar in: iifname . ip saddr. ip daddr { et1.1.1.3. 2.2.2.5. 1, et1.1.1.1 . 2.2.2.3. 1, et1.1.1.2 . 2.2.2.4. 1/1.1.1.2, et2.2.3.0 . 24. 1-1.1.1.2, et2.2.4.0. 2.2.4.10. 2 } aanvaar
  • Die optimeerder kan ook reëls wat reeds eenvoudige stellyste gebruik in 'n meer kompakte vorm omskakel, byvoorbeeld die reëls: # cat ruleset.nft table ip filter { chain input { type filter haak input priority filter; polisdaling; iifname “lo” aanvaar ct staat gevestig, verwant aanvaar kommentaar “In die verkeer wat ons ontstaan, vertrou ons” iifname “enp0s31f6” ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 udp 32768 aanvaar iifname "enp65535s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp sport 10.0.0.149 udp dport 53-32768 aanvaar } } na uitvoering van -nfts pakket sal volg -nft. : reëlset.nft:65535:6-22: iifname "enp149s0f31" ip saddr { 6, 209.115.181.102 } ip daddr 216.197.228.230 udp sport 10.0.0.149 dn-port-123 udp sport 32768 dn-65535 aanvaar 7: iifname "enp22s143f0" ip saddr {31, 6} ip daddr 64.59.144.17 udp sport 64.59.150.133 udp dport 10.0.0.149-53 aanvaar in: iifname. ip saddr. ip pappa. udp sport. udp dport {enp32768s65535f0. 31. 6. 209.115.181.102. 10.0.0.149-123, enp32768s65535f0. 31. 6. 216.197.228.230. 10.0.0.149-123, enp32768s65535f0. 31. 6. 64.59.144.17. 10.0.0.149-53, enp32768s65535f0. 31. 6. 64.59.150.133. 10.0.0.149-53 } aanvaar
  • Probleem opgelos met grepe-generering vir samevoegingsintervalle wat tipes met verskillende greporde gebruik, soos IPv4 (netwerkgreepvolgorde) en metamerk (stelselgreepvolgorde). tabel ip x { kaart w { tipe ip saddr . meta merk: uitspraak vlae interval teller elemente = {127.0.0.1-127.0.0.4. 0x123434-0xb00122 : aanvaar, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : aanvaar, } } ketting k { tipe filter haak invoer prioriteit filter; polisdaling; ip saddr. meta merk vmap @w } }
  • Verbeterde vergelyking van seldsame protokolle wanneer rou uitdrukkings gebruik word, byvoorbeeld: meta l4proto 91 @th,400,16 0x0 accept
  • Probleme met die aktivering van reëls met tussenposes is opgelos: voeg reël xy tcp sport in { 3478-3497, 16384-16387 } toonbank aanvaar
  • Die JSON API is verbeter om ondersteuning vir uitdrukkings in stel- en kaartlyste in te sluit.
  • Uitbreidings aan die nftables python-biblioteek laat die laai van reëlstelle toe vir verwerking in valideringsmodus ("-c") en voeg ondersteuning by vir eksterne definisie van veranderlikes.
  • Die byvoeging van opmerkings word toegelaat in stellyselemente.
  • Byte ratelimit laat toe om 'n nulwaarde te spesifiseer.

Bron: opennet.ru

Voeg 'n opmerking