nftables packet filter release 1.0.3

Emissio fasciculi colum nftables 1.0.3 divulgata est, fasciculum eliquandi interfaces coniungens pro IPv4, IPv6, ARP et retis pontes (quae ad reponendas iptables, ip6table, arptables et eblemata sunt). Mutationes quae ad nftables requiruntur 1.0.3 emissio laboris in Linux 5.18 nucleo comprehenduntur.

Involucrum nftables involvit fasciculum colum usoris, dum opus nuclei subsystem ab nf_tables subsystem, quae pars Linux nuclei cum emissione 3.13 fuit. Gradus nucleus solum praebet protocollo-independens interfaciem genericam, quae praecipuas functiones praebet ad notitias ex fasciculis extrahendas, datas operationes faciendo, et imperium defluentes.

Collaboratio regulae ipsae et protocollo-speciales tractatores in spatio usoris bytecode compilavit, post quod hoc bytecode oneratur in nucleum utens Netlink interfaciem et in nucleo in specie virtuali machinae BPF instar (Berkeley Packet Filters). Hic accessus efficit ut signanter magnitudinem codicis eliquationis in gradu nuclei currentis minuere possit et omnia munera regulae parsing movere et logicam operandi cum protocolla in spatium usoris.

Innovationes principales:

  • Pone indices nunc sustinentes adaptationem retis interfaciei nomina per larvam, exempli gratia, symbolum designatum utens "*": tabula inet testiculorum {simple_wild {type ifname vexilla intervalla elementa = { "abcdef*", "nomen aliud", "ppp0" } } catena v4icmp { type filter hook input prior 0; consilium accipio; iifname @simple_wild counter packets 0 bytes 0 iifname { "abcdef*", "eth0"} counter packets 0 bytes 0 } }
  • Peractum automatic bus elementis intersecantibus paro- lista in operatione. Antea, cum optio "auto-merge" posita erat, bus in scaena declarandae regulae peractum est, nunc etiam laborat cum nova elementa incrementaliter per operationem addita sunt. Exempli causa, in scaena declarationis, elenchus interiectis y { vexillis interiectis elementis auto- merge = { 1.2.3.0, 1.2.3.255, 1.2.3.0/24, 3.3.3.3, 4.4.4.4, 4.4.4.4-4.4.4.8 , 3.3.3.4 , 3.3.3.5 } vertetur in elementa = { 1.2.3.0/24, 3.3.3.3-3.3.3.5, 4.4.4.4-4.4.4.8 } & tunc fi addideris nova elementa # nft addas elementum ip xy 1.2.3.0 -1.2.4.255, 3.3.3.6} videbunt elementa similia = { 1.2.3.0-1.2.4.255, 3.3.3.3-3.3.3.6, 4.4.4.4-4.4.4.8 }

    Cum singulas res ex indice removes, quae intra eminus exsistentes cadunt, distributio breviatur vel scinditur.

  • Subsidium coniungendi multiplex oratio translationis (NAT) regulae in indice chartae optimizer regulis additae est, quae vocatur cum optio "-o/-optimize" specificatur. Exempli gratia, pro pone # cat ruleset.nft table ip x { catena y { type nat hamo postrouting prioritatem srcnat; consilium occumbo; ip saddr 1.1.1.1 tcp dport 8000 snat 4.4.4.4:80 ip saddr 2.2.2.2 tcp dport 8001 snat 5.5.5.5:90 }}

    exsequens "nft -o -c -f ruleset.nft" singulas regulas "ip saddr" in tabulam geographicam convertet: snat ad ip saddr . tcp dport map {1.1.1.1. 8000: 4.4.4.4. LXXX, 80. 2.2.2.2: 8001. 5.5.5.5}

    Similiter expressiones crudae converti possunt in tabulas geographicas: # cat regulaset.nft table ip x […] catena nat_dns_acme { udp longitudo 47-63 @th,160,128 0x0e373135363130333131303735353203 gata nat_dns_dnstc udp length 62-78 160,128x0e0 gata nat_dns_dnstc udp longitudo 31393032383939353831343037320-5301 62x78e160,128 gata 0 udp longitudo 0-31363436323733373931323934300, udp longitudo 5301-62 udp longitudo 78-160,128 0e gata nat_dns_saturn_0 still } }

    post optimization chartam geographicam accipimus: udp longitudo. @th,160,128 vmap {47-63. 0x0e373135363130333131303735353203 : gata nat_dnstc, 62-78. 0x0e31393032383939353831343037320e : gata nat_dns_5301, 62-78. 0x0e31363436323733373931323934300e : gata nat_saturn_5301, 62-78. 0x0e32393535373539353636383732310e : gata nat_saturn_5302, 62-78 . gata nat_dns_saturn_0 }

  • Usus rudium locutionum in operationibus concatenationis permittitur. Verbi gratia: #nft adde regulam xy ip saddr. @ih,32,32 1.1.1.1 . 0x14, 2.2.2.2 . 0x1e } seu table x { set y { typeof ip saddr . @ih,32,32 elementa = { 1.1.1.1 . 0x14 } } }
  • Adiecta subsidia ad designandos agros integer header in operationibus concatenationis: tabula inet t {map m1 {typeof udp length. @ih,32,32: iudicium flags interuallis elementis = { 20-80 . 0x14 : accept, 1-10. 0xa : gutta } } catena c { genus filter hook input prioritas 0; consilium occumbo; longitudo udp. @ih,32,32 vmap @m1 } }
  • Addidit subsidium pro resetting TCP optiones (modo operatur cum Linux nucleo 5.18+): TCP vexillum syn reset tcp optio sacci perm
  • Executio catenae output mandata ("nft list chain xy") accelerata est.

Source: opennet.ru

Add a comment