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

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

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

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

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

  • Подршка за елемент маске „*“ је додата на листе скупова, која се покреће за све пакете који не потпадају под друге елементе дефинисане у скупу. табле к { мап блоцклист { типе ипв4_аддр : вердицт флагс интервал елементс = { 192.168.0.0/16 : прихватити, 10.0.0.0/8 : прихватити, * : испустити } } ланац и { тип филтер кука приоритет преусмеравања 0; политика прихватити; ип саддр вмап @блоцклист } }
  • Могуће је дефинисати променљиве из командне линије користећи опцију “--дефине”. # цат тест.нфт табле нетдев к { цхаин и { типе филтер хоок ингресс девицес = $дев приорити 0; пад политике; } } # нфт —дефине дев="{ етх0, етх1 }" -ф тест.нфт
  • У листама мапа је дозвољена употреба константних (статефул) израза: табле инет филтер { мап портмап { типе инет_сервице : вердицт цоунтер елементс = { 22 бројач пакета 0 бајтова 0 : скок ссх_инпут, * бројач пакета 0 бајтова 0 : испуштање } } ланац ссх_инпут { } ланац ван_инпут { тцп дпорт вмап @портмап } ланац претходног рутирања { тип филтер кука приоритет пре рутирања необрађен; политика прихватити; ииф вмап { "ло" : скок ван_инпут } } }
  • Додата команда „лист хоокс“ за приказ листе руковалаца за дату породицу пакета: # нфт листа куке ип уређај етх0 породица ип { хоок ингресс { +0000000010 ланац нетдев ки [нф_таблес] +0000000300 ланац инет мв [нф_таблес] { -0000000100 цхаин ип аб [нф_таблес] +0000000300 ланац инет мз [нф_таблес] } хоок форвард { -0000000225 селинук_ипв4_форвард 0000000000 ланац ип ац [нф_таблес] -0000000225} хоокс4 0000000225_оутпут } хоок построутинг { +4 XNUMX селинук_ипвXNUMX_построуте } }
  • Блокови реда омогућавају комбиновање јхасх, симхасх и нумген израза за дистрибуцију пакета у редове у корисничком простору. … ред на симхасх мод 65536 … ред за заставице заобиђи на нумген инц мод 65536 … ред на јхасх оиф . мета марк мод 32 "ред" се такође може комбиновати са листама мапа за одабир реда у корисничком простору на основу произвољних кључева. ... куеуе флагс заобићи на оифнаме мапу { "етх0" : 0, "ппп0" : 2, "етх1" : 2 }
  • Могуће је проширити варијабле које укључују сет листу на неколико мапа. дефине интерфацес = { етх0, етх1 } табле ип к { цхаин и { типе филтер хоок инпут приорити 0; политика прихватити; иифнаме вмап { ло : прихвати, $интерфацес : испусти } } } # нфт -ф к.нфт # нфт листа скуп правила табела ип к { ланац и { тип филтер кука приоритет уноса 0; политика прихватити; иифнаме вмап { "ло" : прихвати, "етх0" : испусти, "етх1" : испусти} } }
  • Дозвољено је комбиновање вмап-ова (мапа пресуде) у интервалима: # нфт додај правило ки тцп дпорт . ип саддр вмап { 1025-65535 . 192.168.10.2 : прихвати }
  • Поједностављена синтакса за НАТ мапирања. Дозвољено да се наведу распони адреса: ... снат у мапу ип саддр { 10.141.11.4 : 192.168.2.2-192.168.2.4 } или експлицитне ИП адресе и портови: ... днат у мапу ип саддр { 10.141.11.4. . 192.168.2.3 } или комбинације ИП опсега и портова: ... днат у ип саддр . тцп дпорт мап { 80 . 192.168.1.2: 80-10.141.10.2. 10.141.10.5-8888 }

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

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