nftables 1.1.6 paket filtrinin buraxılışı

Nftables paket filtrinin 1.1.6 versiyası yayımlandı; bu versiya IPv4, IPv6, ARP və şəbəkə körpüləri üçün paket filtrasiya interfeyslərini standartlaşdırır (iptables, ip6tables, arptables və ebtables-in əvəzlənməsi məqsədini güdür). Həmçinin, nf_tables alt sistemilə qarşılıqlı əlaqə üçün aşağı səviyyəli API təqdim edən libnftnl 1.3.1 kitabxanasının versiyası yayımlandı.

Nftables paketinə, istifadəçi mühitində işləyən paket filtrinin komponentləri daxildir, kernel səviyyəsində isə Linux 3.13 versiyasından başlayaraq nf_tables alt sistemi bununla məşğuldur. Kernel səviyyəsində yalnız spesifik protokoldan asılı olmayan ümumi bir interfeys təqdim olunur, bu da paketlərdən məlumat çıxarma, məlumatlarla əməliyyatlar aparma və axının idarə edilməsi üçün əsas funksiyaları təmin edir.

Filtrasiya qaydaları və protokollara xas emalçılar, istifadəçi mühitində bytecode-a tərtib edilir və daha sonra bu bytecode Netlink interfeysi vasitəsilə kernelə yüklənir və kernel daxilində xüsusi bir mühitdə icra olunur. virtual maşinədə, BPF-yə (Berkeley Packet Filters) bənzəyir. Bu yanaşma, kernel səviyyəsində işləyən filtrasiya kodunun ölçüsünü əhəmiyyətli dərəcədə azaltmağa imkan verir və bütün qayda analizi və protokollara dair məntiqi istifadəçi mühitinə köçürür.

Əsas dəyişikliklər:

  • Yüngül tunellər üçün tam dəstək təmin edilir, məsələn vxlan, geneve və 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; tunnel name ip saddr map { 10.141.10.12 : «t1», 10.141.10.13 : «t2» } fwd to erspan1 } } Qaydaları yükləməzdən əvvəl erspan1 şəbəkə interfeysini yaratmaq lazım: ip link add dev erspan1 type erspan external
  • Netdev emalçılarında şəbəkə interfeys adlarında maskaların dəstəyi əlavə olunub; məsələn, bütün vlan cihazları üçün daxil olan trafik filtrinə əsas zəncir əlavə etmək üçün aşağıdakıları göstərə bilərsiniz: table netdev t { chain c { type filter hook ingress devices = { «vlan*», «veth0» } priority filter; policy accept; } }
  • Linux 6.18+ versiyalı sistemlərdə, yerli işləmə üçün şəbəkə körpüləri interfeysində L2 çərçivələrinin ötürülməsi dəstəyi mövcuddur; məsələn, de:ad:00:00:be:ef MAC ünvanı üçün bütün Ethernet çərçivələrini IP stəkinə yönləndirmək üçün aşağıdakıları göstərə bilərsiniz: 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 } }
  • Fuzzing testləri üçün afl++ (american fuzzy lop++) alətinin istifadəsinə əsaslanan yeni infrastruktur əlavə edildi, bu, "./configure --with-fuzzer" mərhələsində aktivləşdirilir.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster