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

एक टिप्पणी थप्न