nftables پیکٹ فلٹر 1.0.1 ریلیز

Опубликован выпуск пакетного фильтра nftables 1.0.1, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Необходимые для работы выпуска nftables 1.0.1 изменения включены в состав ядра Linux 5.16-rc1.

nftables پیکج میں پیکٹ فلٹر کے اجزاء شامل ہیں جو صارف کی جگہ پر چلتے ہیں، جبکہ کرنل لیول کا کام nf_tables سب سسٹم کے ذریعے فراہم کیا جاتا ہے، جو کہ ریلیز 3.13 کے بعد سے لینکس کرنل کا حصہ ہے۔ کرنل لیول صرف ایک عام پروٹوکول سے آزاد انٹرفیس فراہم کرتا ہے جو پیکٹوں سے ڈیٹا نکالنے، ڈیٹا آپریشنز کرنے، اور فلو کنٹرول کے لیے بنیادی کام فراہم کرتا ہے۔

فلٹرنگ کے قواعد اور پروٹوکول سے متعلق مخصوص ہینڈلرز کو صارف کی جگہ میں بائٹ کوڈ میں مرتب کیا جاتا ہے، جس کے بعد اس بائی کوڈ کو نیٹ لنک انٹرفیس کا استعمال کرتے ہوئے کرنل میں لوڈ کیا جاتا ہے اور BPF (برکلے پیکٹ فلٹرز) کی یاد دلانے والی خصوصی ورچوئل مشین میں کرنل میں عمل میں لایا جاتا ہے۔ یہ نقطہ نظر آپ کو کرنل کی سطح پر چلنے والے فلٹرنگ کوڈ کے سائز کو نمایاں طور پر کم کرنے اور پروٹوکول کے ساتھ کام کرنے کے لیے اصولوں اور منطق کو پارس کرنے کے تمام افعال کو صارف کی جگہ میں منتقل کرنے کی اجازت دیتا ہے۔

اہم اختراعات:

  • Сокращено потребление памяти при загрузке больших set- и map-списков.
  • Ускорена перезагрузка set- и map-списков.
  • Ускорен вывод избранных таблиц и цепочек в больших наборах правил. Например, время выполнения команды «nft list ruleset» для вывода набора правил, насчитывающего 100 тысяч строк, составляет 3.049 секунды, а при выводе только таблиц nat и filter («nft list table nat», «nft list table filter») сокращается до 1.969 и 0.697 секунд.
  • Ускорено выполнение запросов с опцией «—terse» при обработке правил с большими set- и map-списками.
  • Предоставлена возможность фильтрации трафика из цепочки «egress», обрабатываемой на том же уровне, что egress-обработчик в цепочке netdev (hook egress), т.е. на стадии когда драйвер получает пакет от сетевого стека ядра. table netdev filter { chain egress { type filter hook egress devices = { eth0, eth1 } priority 0; meta priority set ip saddr map { 192.168.10.2 : abcd:2, 192.168.10.3 : abcd:3 } } }
  • Разрешено сопоставление и изменение байтов в заголовке и содержимом пакета по заданному смещению. # nft add rule x y @ih,32,32 0x14000000 counter # nft add rule x y @ih,32,32 set 0x14000000 counter

ماخذ: opennet.ru

نیا تبصرہ شامل کریں