nftables paket filtri 1.0.6 buraxılışı

IPv1.0.6, 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 filtri buraxılışı nəşr 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ın idarə edilməsi üçü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 dəyişikliklər:

  • "-o/--optimize" seçimini təyin edərkən çağırılan qaydalar optimallaşdırıcısında qaydaların avtomatik qablaşdırılması onları birləşdirərək xəritə və set siyahılarına çevirməklə qurulmuşdur. Məsələn, qaydalar # cat ruleset.nft table ip x { chain y { type filter hook input priority filter; siyasətin azalması; 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.4 qəbul et meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0i qəbul et. .24 ip daddr 1-1.1.1.2 qəbul et meta iifname eth2.2.4.0 ip saddr 2.2.4.10 ip daddr 2 qəbul et } } sonra "nft -o -c -f ruleset.nft" aşağıdakılara çevriləcək: qaydalar dəsti. nft:1.1.1.3:2.2.2.5-4: meta iifname eth17 ip saddr 74 ip daddr 1 qəbul qaydaları set.nft:1.1.1.1:2.2.2.3-5: meta iifname eth17 ip saddr 74 ip daddr 1 qaydaları qəbul et.nft 1.1.1.2:2.2.2.4-6: meta iifname eth17 ip saddr 77 ip daddr 1/1.1.1.2 accept ruleset.nft:2.2.3.0:24-7: meta iifname eth17 ip saddr 83 ip daddr 1-1.1.1.2. ruleset.nft:2.2.4.0:2.2.4.10-8: meta iifname eth17 ip saddr 74 ip daddr 2 qəbul edin: iifname . ip saddr. ip daddr { eth1.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, eth2.2.3.0 . 24. 1-1.1.1.2, et2.2.4.0. 2.2.4.10. 2 } qəbul edin
  • Optimizator həmçinin sadə toplu siyahılarından artıq istifadə edən qaydaları daha yığcam formada birləşdirə bilər, məsələn: # cat ruleset.nft table ip filter { chain input { type filter hook input priority filter; siyasətin azalması; IIFNAME "LO" CT Dövlətini qəbul etdi iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 udp dport 32768-65535 qəbul } -} o paketi işlədikdən sonra "nftc qaydaları" belə olacaq. -"nftc : ruleset.nft:0:31-6: iifname "enp64.59.144.17s64.59.150.133f10.0.0.149" ip saddr { 53, 32768 } ip daddr 65535 udp idman 6 udp22 qaydaları qəbul edin -149 0 : iifname "enp31s6f209.115.181.102" ip saddr { 216.197.228.230, 10.0.0.149 } ip daddr 123 udp sport 32768 udp dport 65535-7 qəbul edin: iifname. ip saddr. ip daddr. udp idman. udp dport {enp22s143f0. 31. 6. 64.59.144.17. 64.59.150.133-10.0.0.149, enp53s32768f65535 . 0. 31. 6. 209.115.181.102-10.0.0.149, enp123s32768f65535 . 0. 31. 6. 216.197.228.230-10.0.0.149, enp123s32768f65535 . 0. 31. 6. 64.59.144.17-10.0.0.149 } qəbul edin
  • IPv4 (şəbəkə endian) və meta işarəsi (sistem endian) kimi müxtəlif endianlığa malik növlərdən istifadə edən intervalları birləşdirmək üçün bayt kodunun yaradılması ilə bağlı problem həll edildi. masa ip x { map w { typeof ip saddr . meta işarəsi: hökm bayraqları interval counter elementləri = {127.0.0.1-127.0.0.4. 0x123434-0xb00122 : qəbul edin, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : qəbul et, } } zəncir k { növü filter qarmaq giriş prioritet filtri; siyasətin azalması; ip saddr. meta işarəsi vmap @w } }
  • Xam ifadələrdən istifadə edərkən təkmilləşdirilmiş nadir protokol xəritələri, məsələn: meta l4proto 91 @th,400,16 0x0 qəbul
  • Qaydaların fasilələrlə aktivləşdirilməsi ilə bağlı sabit problemlər: daxil edin qayda xy tcp sport { 3478-3497, 16384-16387 } sayğac qəbul edin
  • JSON API toplu və xəritə siyahılarındakı ifadələri dəstəkləmək üçün təkmilləşdirilmişdir.
  • Nftables python kitabxanasına əlavələrdə qayda dəstlərinin yoxlama rejimində ("-c") emal üçün yüklənməsinə icazə verilir və xarici dəyişənlərin tərifi üçün dəstək əlavə edilib.
  • Dəst siyahılarının elementlərində şərhlərin əlavə edilməsinə icazə verilir.
  • Bayt dərəcəsi limitində sıfır dəyəri təyin etməyə icazə verilir.

Mənbə: opennet.ru

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