наскоро стартирането на новата версия на филтъра за пакети nftables 1.0.5, версия, в която са направени повечето корекции на грешки, но също така идва с няколко нови функции, подобрения в поддръжката и др.
За тези, които не са запознати с nftables, трябва да знаете, че това обединява интерфейсите за филтриране на пакети за IPv4, IPv6, ARP и мрежово свързване (предназначени да заменят iptables, ip6table, arptables и ebtables). В същото време беше пусната придружаващата библиотека libnftnl 1.2.3, която предоставя API на ниско ниво за взаимодействие с подсистемата nf_tables.
Пакетът nftables включва компоненти за филтриране на пакети, които работят в потребителско пространство, докато на ниво ядро, подсистемата nf_tables предоставя част от ядрото на Linux от версия 3.13.
Само на основно ниво осигурява общ интерфейс, който е независим от протокол специфични и осигурява основни функции за извличане на данни от пакети, извършване на операции с данни и контрол на потока.
на правила за директно филтриране и специфични за протокола драйвери те се компилират в байт код в потребителското пространство, след което този байт код се зарежда в ядрото с помощта на интерфейса Netlink и се изпълнява в ядрото в специална виртуална машина, която прилича на BPF (Berkeley Packet Filters).
Такъв подход може значително да намали размера на филтриращия код, който работи на ниво ядро, и да елиминира всички функции за анализиране на правилата и логиката на работа с протоколи в потребителското пространство.
Основни нови функции на Nftables 1.0.5
В тази нова версия, която е представена, е подчертано, че оптимизаторът на правилата извиква се чрез указване на опцията „-o/–optimize“, проблемите се решават с комбинация от правила, карти и списъци с конфигурация.
Друга промяна, която се откроява в новата версия, е тази чрез комбиниране на елементите на ethernet и vlanЕ предоставя дефиницията на списък с динамична конфигурация, който се попълва въз основа на параметрите на пътя на пакета.
Освен, че, показването на линийката е коригирано със списъци с карти, съдържащи маски в имената на интерфейсите, както и обратни превключватели, които водят до неправилно лексикално анализиране на правилни правила, са премахнати.
От друга страна се споменава, че коригирани проблеми с бавно изобразяване и автоматично сливане на големи списъци с елементи, дефиниращи диапазони от стойности, както и срив при добавяне на елементи към неправилен списък с набори, поправени са няколко регресии във входния лексер, които нарушават валидни набори от правила, и е поправено забавянето с големи списъци с елементи с единични диапазони.
От останалите промени които се открояват от тази нова версия:
- Поправка за фалшиво отчитане на грешки за точни наслагвания.
- Коригиране на грешка при сегментиране при добавяне на елементи към невалиден набор.
- Коригирайте синтактичния анализ на устройството в семейството на netdev в json.
- Коригиран срив при опит за изтриване на елемент в празен набор
- Добавена е поддръжка за DF, LE PHB, VA за DSCP
- Добавена е поддръжка за osf израз, xfrm израз, fib израз, binop израз, numgen израз и хеш израз.
- Добавено липсващо затваряне на обхвата на synproxy
Накрая за тези, които се интересуват да знаят повече за това За тази нова версия можете да проверите подробностите В следващия линк.
Как да инсталирам новата версия на nftables 1.0.5?
За тези, които се интересуват от възможността да получат новата версия на nftables 1.0.5 в момента може да се компилира само изходният код на вашата система. Въпреки че след броени дни вече съставените двоични пакети ще бъдат налични в различните дистрибуции на Linux.
За да компилирате, трябва да имате инсталирани следните зависимости:
Те могат да се компилират с:
./autogen.sh ./configure make make install
А за nftables 1.0.5 го изтегляме от следната връзка. И компилацията се извършва със следните команди:
cd nftables ./autogen.sh ./configure make make install