nftables paket filtri 1.0.2 buraxılışı

IPv1.0.2, IPv4, ARP və şəbəkə körpüləri (iptables, ip6table, arptables və ebtables əvəz etmək məqsədi daşıyır) üçün paket filtrləmə interfeyslərini birləşdirən nftables 6 paket filtrinin buraxılışı nəşr edilmişdir. Nftables 1.0.2 buraxılışının işləməsi üçün tələb olunan dəyişikliklər Linux nüvəsi 5.17-rc-ə daxil edilmişdir.

Nftables paketinə istifadəçi məkanında işləyən paket filtri komponentləri daxildir, nüvə səviyyəsi isə 3.13 buraxılışından bəri Linux nüvəsinin bir hissəsi olan nf_tables alt sistemi tərəfindən təmin edilir. Kernel səviyyəsində paketlərdən məlumatların çıxarılması, verilənlər üzərində əməliyyatların yerinə yetirilməsi və axını idarə etmək üçün əsas funksiyaları təmin edən yalnız ümumi protokoldan asılı olmayan interfeys təmin edilir.

Filtrləmə qaydalarının özləri və protokola xas işləyicilər istifadəçi məkanı bayt koduna tərtib edilir, bundan sonra bu bayt kodu Netlink interfeysindən istifadə edərək nüvəyə yüklənir və BPF-ə (Berkeley Paket Filtrləri) bənzəyən xüsusi virtual maşında nüvədə icra olunur. Bu yanaşma nüvə səviyyəsində işləyən filtrləmə kodunun ölçüsünü əhəmiyyətli dərəcədə azaltmağa və təhlil qaydaları və protokollarla işləmək məntiqinin bütün funksiyalarını istifadəçi sahəsinə köçürməyə imkan verir.

Əsas yeniliklər:

  • Qaydalar toplusu faylını yükləmədən dəyişiklikləri yoxlamaq və optimallaşdırmaq üçün "--check" seçimi ilə birləşdirilə bilən yeni "-o" ("--optimize") seçimindən istifadə etməklə aktivləşdirilmiş qaydaların optimallaşdırılması rejimi əlavə edilib. . Optimallaşdırma oxşar qaydaları birləşdirməyə imkan verir, məsələn, qaydaları: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 qəbul et meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 qəbul et ip saddr 1.1.1.1d .2.2.2.2 qəbul ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop

    meta iifname ilə birləşdiriləcək. ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, et1 . 1.1.1.2. 2.2.2.5 } ip saddr qəbul edin. ip daddr vmap {1.1.1.1. 2.2.2.2 : qəbul et, 2.2.2.2. 3.3.3.3 : burax }

    İstifadə nümunəsi: # nft -c -o -f ruleset.test Birləşmə: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter accept ruleset.nft:17:3-37: ip daddr 192.168.0.2 counter qəbul ruleset.nft:18:3-37: ip daddr 192.168.0.3 sayğac qəbul edir: ip daddr {192.168.0.1, 192.168.0.2, 192.168.0.3 } sayğac paketləri 0 bayt 0 qəbul edir

  • Dəst siyahıları ip və tcp seçimlərini, həmçinin sctp parçalarını təyin etmək qabiliyyətini həyata keçirir: set s5 { typeof ip option ra value elements = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } zəncir c5 { ip seçimi ra dəyəri @s5 qəbul } zəncir c7 { sctp yığını init num-inbound-streams @s7 qəbul }
  • fastopen, md5sig və mptcp üçün TCP seçimləri üçün əlavə dəstək.
  • Xəritəçəkmələrdə mp-tcp alt növünün istifadəsi üçün əlavə dəstək: tcp variantı mptcp alt növü 1
  • Təkmilləşdirilmiş nüvə tərəfi filtrləmə kodu.
  • Flowtable indi JSON formatı üçün tam dəstəyə malikdir.
  • Ethernet çərçivə uyğunlaşdırma əməliyyatlarında "rədd etmə" hərəkətindən istifadə etmək imkanı təmin edilmişdir. efir saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 rədd

Mənbə: opennet.ru

Добавить комментарий