нфтаблес пакетни филтер 0.9.9 издање

Објављено је издање пакетног филтера нфтаблес 0.9.9 које обједињује интерфејсе за филтрирање пакета за ИПв4, ИПв6, АРП и мрежне мостове (са циљем замене иптаблес, ип6табле, арптаблес и ебтаблес). Истовремено, објављено је издање пратеће библиотеке либнфтнл 1.2.0, пружајући АПИ ниског нивоа за интеракцију са подсистемом нф_таблес. Промене потребне да би нфтаблес 0.9.9 издање радило укључене су у Линук кернел 5.13-рц1.

Пакет нфтаблес укључује компоненте филтера пакета које се покрећу у корисничком простору, док рад на нивоу кернела обезбеђује подсистем нф_таблес, који је део Линук кернела од издања 3.13. Ниво кернела обезбеђује само генерички интерфејс независан од протокола који обезбеђује основне функције за издвајање података из пакета, извођење операција са подацима и контролу тока.

Правила филтрирања и руковаоци специфични за протокол се компајлирају у бајткод у корисничком простору, након чега се овај бајт код учитава у језгро помоћу Нетлинк интерфејса и извршава у кернелу у специјалној виртуелној машини која подсећа на БПФ (Беркелеи Пацкет Филтерс). Овај приступ вам омогућава да значајно смањите величину кода за филтрирање који ради на нивоу кернела и преместите све функције рашчлањивања правила и логике за рад са протоколима у кориснички простор.

Главне иновације:

  • Имплементирана је могућност премештања обраде табеле протока на страну мрежног адаптера, омогућена коришћењем ознаке 'оффлоад'. Фловтабле је механизам за оптимизацију путање преусмеравања пакета, у коме се комплетан пролаз свих ланаца обраде правила примењује само на први пакет, а сви остали пакети у току се директно прослеђују. табле ип глобал { фловтабле ф { филтер приоритета уласка у закачицу + 1 уређаји = { лан3, лан0, ван } заставице истоварити } ланац унапред { тип филтер закачити филтер приоритета унапред; политика прихватити; ип протокол { тцп, удп } ток адд @ф } ланац пост { типе нат хоок приоритетни филтер за построутинг; политика прихватити; оифнаме "ван" маскенбал } }
  • Додата подршка за причвршћивање заставице власника на табелу како би се осигурало ексклузивно коришћење табеле од стране процеса. Када се процес заврши, табела повезана са њим се аутоматски брише. Информације о процесу се приказују у думпу правила у облику коментара: табела ип к { # име програма нфт заставице ланац власника и { тип филтер кука улазни приоритетни филтер; политика прихватити; бројач пакета 1 бајт 309 } }
  • Додата подршка за ИЕЕЕ 802.1ад спецификацију (ВЛАН стацкинг или КинК), која дефинише средство за замену више ВЛАН ознака у један Етхернет оквир. На пример, да бисте проверили тип спољног Етернет оквира 8021ад и влан ид=342, можете користити конструкцију ... етер типа 802.1ад влан ид 342 да проверите спољни тип Етернет оквира 8021ад/влан ид=1, угнежђени 802.1 к/влан ид=2 и даље енкапсулација ИП пакета: ... етер тип 8021ад влан ид 1 влан тип 8021к влан ид 2 влан тип ип бројач
  • Додата подршка за управљање ресурсима помоћу обједињене хијерархије цгроупс в2. Кључна разлика између цгроупс в2 и в1 је употреба заједничке хијерархије цгроупс за све типове ресурса, уместо засебних хијерархија за доделу ЦПУ ресурса, за регулисање потрошње меморије и за И/О. На пример, да бисте проверили да ли предак сокета на првом нивоу цгроупв2 одговара маски „систем.слице“, можете користити конструкцију: ... соцкет цгроупв2 ниво 1 „систем.слице“
  • Додата је могућност провере компоненти СЦТП пакета (потребна функционалност за ово ће се појавити у Линук кернелу 5.14). На пример, да бисте проверили да ли пакет садржи комад са типом 'дата' и пољем 'типе': ... постоји сцтп цхунк дата ... сцтп цхунк тип података 0
  • Извршење операције учитавања правила је убрзано приближно два пута коришћењем ознаке „-ф“. Излаз листе правила је такође убрзан.
  • Обезбеђен је компактни образац за проверу да ли су битови заставице постављени. На пример, да бисте проверили да битови статуса снат и днат нису подешени, можете навести: ... цт статус ! снат,днат да проверите да ли је син бит постављен у битмаск син,ацк: ... тцп заставице син / син,ацк да проверите да фин и рст бит нису постављени у битмаск син,ацк,фин,рст: ... тцп заставице = фин,рст / син,ацк,фин,рст!
  • Дозволите кључну реч "вердицт" у дефиницијама типа скупа/мапе: додајте мапу км { типеоф иифнаме . ип протокол тх дпорт : пресуда ;}

Извор: опеннет.ру

Додај коментар