Mae rhyddhau hidlydd pecyn nftables 1.1.6 wedi'i gyhoeddi, gan uno rhyngwynebau hidlo pecynnau ar gyfer IPv4, IPv6, ARP a phontydd rhwydwaith (gyda'r nod o ddisodli iptables, ip6table, arpttables a ebtables). Ar yr un pryd, cyhoeddwyd rhyddhau'r llyfrgell gydymaith libnftnl 1.3.1, gan ddarparu API lefel isel ar gyfer rhyngweithio Γ’'r is-system nf_tables.
Mae'r pecyn nftables yn cynnwys y cydrannau hidlo pecynnau sy'n gweithredu yn y gofod defnyddiwr, tra bod gwaith lefel y cnewyllyn yn cael ei ddarparu gan yr is-system nf_tables, sy'n rhan o'r cnewyllyn. Linux Ers rhyddhau 3.13, dim ond rhyngwyneb generig sy'n annibynnol ar brotocol sy'n cael ei ddarparu ar lefel y cnewyllyn, gan ddarparu swyddogaeth sylfaenol ar gyfer echdynnu data o becynnau, perfformio gweithrediadau data, a rheoli llif.
Mae'r rheolau hidlo eu hunain a thrinwyr penodol i'r protocol yn cael eu llunio i mewn i god beit yn y gofod defnyddiwr, ac ar Γ΄l hynny mae'r cod beit hwn yn cael ei lwytho i'r cnewyllyn gan ddefnyddio'r rhyngwyneb Netlink a'i weithredu yn y cnewyllyn mewn ffordd arbennig. peiriant rhithwir, yn atgoffa rhywun o BPF (Hidlau Pecyn Berkeley). Mae'r dull hwn yn caniatΓ‘u gostyngiad sylweddol ym maint y cod hidlo sy'n rhedeg ar lefel y cnewyllyn ac yn symud yr holl ddadansoddi rheolau a rhesymeg protocol i ofod defnyddwyr.
Newidiadau mawr:
- Cefnogaeth lawn ar gyfer templedi twneli ysgafn fel vxlan, geneve, ac erspan: table netdev global { tunnel t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport 1025 dport 20020 ttl 1 erspan { version 1 index 2 } } tunnel t2 { id 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } chain in { type filter hook ingress device veth0 priority 0; enw'r twnnel ip saddr map { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } ymlaen i erspan1 } } Cyn llwytho'r rheolau, dylech greu'r rhyngwyneb rhwydwaith erspan1: ip link add dev erspan1 type erspan external
- Ychwanegwyd cefnogaeth ar gyfer masgiau mewn enwau rhyngwyneb rhwydwaith mewn trinwyr netdev. Er enghraifft, i ychwanegu cadwyn sylfaen at y hidlydd traffig sy'n dod i mewn ar gyfer pob dyfais vlan, gallwch nodi: table netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } priority filter; policy accept; } }
- Ar systemau gyda'r cnewyllyn Linux 6.18+ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ L2-ΠΊΠ°Π΄ΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΌΠΎΡΡΠΎΠ² Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² IP-ΡΡΠ΅ΠΊ Π²ΡΠ΅Ρ Ethernet-ΠΊΠ°Π΄ΡΠΎΠ² Π΄Π»Ρ MAC-Π°Π΄ΡΠ΅ΡΠ° de:ad:00:00:be:ef ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ: table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr de:ad:00:00:be:ef meta pkttype set host ether daddr set meta ibrhwaddr accept } }
- Ychwanegwyd seilwaith newydd ar gyfer profi ffwzzio gan ddefnyddio'r gadwyn offer afl++ (american fuzzy lop++), a alluogir adeg adeiladu trwy "./configure --with-fuzzer".
Ffynhonnell: opennet.ru
