nftables: linuxový firewall s moderními vlastnostmi - Root.cz (2024)

Co je to nftables?

Jedná se osubsystém linuxového jádra, který má za úkol filtrovat síťový provoz. Vývoj byl poprvé prezentován už vroce 2008a první verze se do Linuxu dostala vlednu roku 2014svydáním jádra 3.13. Nutno říct, že nftables není konkurenční projekt vytvořený na truc projektu netfilter/iptables. Za vývojem stojí stejní vývojáři, takže jde opřirozenou evoluci: nftables je následovníkem iptables.


Cílem projektu je vytvoření jednoduššího a univerzálnějšího řešení, které bude vjádře potřebovat výrazně méně kódu. Zároveň by mělo usnadnit život uživatelům (správcům), kteří dostanou do ruky jeden univerzální švýcarský nůž, namísto celé dílny plné různých nástrojů vpodobě iptables.

Virtuální stroj vjádře

Základem nftables je virtuální stroj vjádře, který je schopen zpracovávat jednoduchý bytekód. Ten je schopen provádět porovnání, aritmetiku či bitové operace. Dostane kdispozici samotná data (například paket), přístup kmetadatům (třeba příchozí rozhraní) a ke connection trackingu (sledování spojení). Na základě těchto informací je schopen provést rozhodnutí, co sdaty provéstdále.

Taková implementace je výrazně odlišná od přístupu iptables, který staví na principu modulů schopných pracovat sjednotlivými protokoly. Integrovaná znalost protokolů je pevnou součástí iptables a je natolik svázaná sfunkcí jednotlivých modulů, že bylo potřeba kód napsat čtyřikrát: zvlášť pro IPv4, IPv6, ARP a ethernetové rámce (bridging). Pro každý protokol je navíc nutné napsat samostatný modul, který je napsán se znalostí obsahu určitého typu provozu.

Proti tomu je virtuální stroj nftables napsán naprosto obecně, nezajímají ho konkrétní protokoly, formáty hlaviček a podobné vysokoúrovňové informace. Umí jen postupovat podle jednoduchého programu a provádět jednoduchá porovnávání a rozhodování. Řešení nftables je tedy „hloupější“, ale vtom je jehosíla.

Chytrost vjedné utilitě

Dramaticky se tak snižuje množství kódu vjádře ivuživatelském prostoru. Tradiční utility iptables, ip6tables, arptables a ebtables nahrazuje jediná utilita nft. Ta implementuje celý firewall nad jednoduchým virtuálním strojem vjádře. Ona je zodpovědná za to, že zpravidel zadaných správcem vytvoří kód pro virtuálnístroj.

Výhodou je, že se znalost protokolů přesouvá do uživatelského prostoru, takže přidání podpory pro nový typ filtrování znamená jen aktualizaci jedné utility. Není potřeba kompilovat nový modul do jádra a zavádět ho, nebo dokonce překompilovat celé jádro a restartovat. Nová utilita jednoduše vytvoří nový bytekód a nakrmí jím starý virtuálnístroj.

Příjemné je také nové jednoduché API, které dokáže provádět atomické operace vjaderném rozhraní Netlink. Změna pravidla ve firewallu tak znamená jednu jedinou transakci, což drasticky zrychluje úpravy velkých a komplikovaných sad pravidel a předchází to problémům při souběhu, když probíhají změny vjádře.

Současnost jménem nftables

Pokud vám tohle všechno připadá jako hudba budoucnosti, tak vězte, že je to vlastně už naše současnost. Možná nftables používáte a ani jste si toho nevšimli. Součástí projektu je totiž také vrstva kompatibility (iptables-nft), která dokáže načítat pravidla původně napsaná pro iptables.

Současný stav (například vDebianu 10Buster) je takový, že známá utilita iptables je nahrazena novou verzí, která na pozadí provádí překlad do nftables. Uživatel má stále pocit, že používá staré známé rozhraní, ve skutečnosti už ale pracuje snftables.

Vbalíčku iptables jsou stále ještě binárky končící na -legacy, na které je možné přepnout pomocí příkazu update-alternatives. Ve výchozím stavu ale zmíněné čtyři příkazy ve skutečnosti volají binárky končící na -nft. Tabulky iptables tak zůstávají prázdné a uživatel plní nftables. Příští verze Debianu také pravděpodobně za dva rokyvyhodí iptables zvýchozí instalace.

Rozdíly proti iptables

Pokud jste zvyklí na iptables, budou vás pravděpodobně zajímat rozdíly proti nftables. Vprvní řadě se liší syntaxe, která více připomíná ovládání utility ipči příkazu tcpdump. Přepínače se neuvozují pomlčkami, ale je možné je přirozeně zapisovat za sebou vrelativně volném pořadí.

Další změnou je, že všechny tabulky a řetězce jsou zcela volně konfigurovatelné. Zatímco iptables uživateli nabízejí připravené tabulky svestavěnými řetězci, nic takového vnftables nenajdete. Nepoužívané prázdné řetězce vás tak nestojí výkon a je na vás, abyste si je zaregistrovali do jádra, až když je budete potřebovat.

Tvorba pravidel je výrazně volnější a dává širší možnosti než uiptables. Jedno pravidlo může obsahovat více výrazů, které se postupně procházejí zleva doprava, pokud byl předcházející výraz vyhodnocen kladně. Padá tak omezení na jedno pravidlo– jedencíl.

Stejně tak je možné vrámci jednoho pravidla definovat více akcí (cílů). To vpraxi velmi usnadňuje správcům život, protože je možné vrámci jednoho rozhodnutí provést několik úkonů: započítat, zalogovat a pak třeba přejít do jiného řetězce. Zvyšuje se tím přehlednost a snižuje komplexita pravidel.

Firewall snftables také automaticky nemá počítadla na řetězcích a pravidlech. Pokud chcete nějaký provoz počítat, musíte si oto výslovně říct při zápisu nového pravidla.

Vdnešní době nasazování dual-stacku potěší fakt, že nftables mají podporu pro jednotné rozhraní filtrující zároveň IPv4 a IPv6. Nemusíte tak udržovat dva samostatné firewally, ale jednotná pravidla se mohou aplikovat na oba jinak nezávislé světy. Zjednodušuje se vám tím život a vyhnete se častým chybám, při kterých je nové pravidlo přidáno jen do jednoho ze dvou firewallů.

Nový firewall také integruje složitější datové struktury, které byly do toho původního buď doplněny dodatečně nebo neexistují vůbec. Vnftables tak můžete přímo používat infrastrukturu setů, které umožňují vytvářet rozsáhlé sady pravidel využívající libovolný dostupný selektor. Můžete tak vytvářet slovníky, mapy a rozsahy, které se snadno spravují a nabízejí vysoký výkon při prohledávání.

Nad tím vším je navíc možné od jádra 4.1provádět řetězení (concatenation) pomocí uspořádaných n-tic (tuple) selektorů. Můžete tak vjednom kroku provést porovnání nad celou skupinou selektorů, což opět zvyšuje přehlednost a výkon. Příklad: Je tento paket zvyjmenovaných zdrojových IP adres a zároveň používá protokolUDP?

Co zůstalo stejné

Pokud jste zvyklí na Netfilter, pak vás potěší to, že nftables vsíťovém stacku využívá stejnou infrastrukturu. Stejně tak používá stávající connection tracking, funkce pro NAT, logování a další součásti. Změnil se tedy jen nástroj pro rozhodování, zbytek funkcí jádra zůstává nezměněný.

nftables: linuxový firewall smoderními vlastnostmi - Root.cz (1)

Stále jsou tedy ve hře jaderné hooky, na které se umí nftables zavěsit a rozhodovat oosudu procházejícího provozu. Data směřující do našeho stroje procházejí přes prerouting a input, odchozí provoz pak analogicky míří přes output a postrouting. Pokud je vjádře zapnutá funkce směrovače (forwarding), pak procházející pakety jdou přes prerouting, forward a postrouting. Tenhle princip se snftables nemění.

Příště už prakticky

Vpříštím článku začneme spraktickými ukázkami a ukážeme si, jak se nftables ovládají pomocí utility nft. Vytvoříme si tabulky, přidáme do nich řetězce a některé znich připojíme na správná místa vsíťovém stacku. Také si ukážeme, jak spravovat jednotlivá pravidla vřetězcích.

nftables: linuxový firewall s moderními vlastnostmi - Root.cz (2024)

FAQs

What is the difference between Firewalld and nftables? ›

While Firewalld is user-friendly and ideal for those new to Linux firewall management, nftables offers advanced functionalities and greater control, preferred by experienced administrators. The choice depends on specific needs and comfort level with Linux firewall concepts.

Why is nftables better than iptables? ›

nftables provides a simpler, more efficient alternative to iptables, with unified IPv4/IPv6 handling. Features like rule tracing and multi-action rules in nftables enhance network management. Transitioning to nftables offers better performance and simplicity, supported by tools like iptables-translate.

Is it safe to disable firewalld? ›

Though it is not recommended to disable firewalld, there are times when troubleshooting specific issues calls for disabling it.

What is the use of nftables? ›

nftables is a subsystem of the Linux kernel providing filtering and classification of network packets/datagrams/frames.

What are the advantages of nftables? ›

nftables offers several advantages over iptables, including a more intuitive syntax, better performance, and more advanced packet handling capabilities. In addition, nftables is the future approach to packet filtering in Linux, making it a more sustainable option in the long run.

Did nftables replace iptables? ›

nftables is the successor to iptables. It replaces the existing iptables, ip6tables, arptables, and ebtables framework. It uses the Linux kernel and a new userspace utility called nft.

Should I disable iptables? ›

Disabling iptables ensures that all the required ports are open and that the iptables firewall does not impact performance adversely. Note: If your enterprise requires the use of iptables, make sure that you open all of the applicable firewall ports in the Firewall Requirements list.

Are iptables and firewalld the same? ›

The firewall

A firewall can filter requests based on protocol or target-based rules. On the one hand, iptables is a tool for managing firewall rules on a Linux machine. On the other hand, firewalld is also a tool for managing firewall rules on a Linux machine. You got a problem with that?

What type of firewall is iptables? ›

Implemented as Netfilter modules, iptables is a user-space utility program that allows a system administrator to configure the IP packet filter rules of the Linux kernel firewall. The filters are organized into tables containing chains of rules which govern how to treat network traffic packets.

What is the nft equivalent of iptables? ›

nftables is the successor to iptables. It replaces the existing iptables, ip6tables, arptables, and ebtables framework. It uses the Linux kernel and a new userspace utility called nft. nftables provides a compatibility layer for the iptables/ip6tables and framework.

Top Articles
Puzzle Effect - Denver Photos
2156 W Foster
Fat Hog Prices Today
What Are Romance Scams and How to Avoid Them
Housing near Juneau, WI - craigslist
Www.fresno.courts.ca.gov
Froedtert Billing Phone Number
Windcrest Little League Baseball
Phenix Food Locker Weekly Ad
Walgreens Alma School And Dynamite
Nwi Police Blotter
City Of Spokane Code Enforcement
Katie Boyle Dancer Biography
Aries Auhsd
fltimes.com | Finger Lakes Times
Ella Eats
Shooting Games Multiplayer Unblocked
Busted Newspaper S Randolph County Dirt The Press As Pawns
Char-Em Isd
Boston Gang Map
R Cwbt
Craigslist Mt Pleasant Sc
Vandymania Com Forums
Selfservice Bright Lending
O'Reilly Auto Parts - Mathis, TX - Nextdoor
Providence Medical Group-West Hills Primary Care
Pocono Recird Obits
Craigslist Roseburg Oregon Free Stuff
T Mobile Rival Crossword Clue
Boise Craigslist Cars And Trucks - By Owner
Wonder Film Wiki
Safeway Aciu
Marlene2295
Abga Gestation Calculator
Wake County Court Records | NorthCarolinaCourtRecords.us
Golden Tickets
Shnvme Com
Jennifer Reimold Ex Husband Scott Porter
Tal 3L Zeus Replacement Lid
The Syracuse Journal-Democrat from Syracuse, Nebraska
Academic important dates - University of Victoria
National Weather Service Richmond Va
Peace Sign Drawing Reference
Random Animal Hybrid Generator Wheel
Mother Cabrini, the First American Saint of the Catholic Church
3367164101
Dineren en overnachten in Boutique Hotel The Church in Arnhem - Priya Loves Food & Travel
Kushfly Promo Code
The 13 best home gym equipment and machines of 2023
Vt Craiglist
Factorio Green Circuit Setup
Latest Posts
Article information

Author: Catherine Tremblay

Last Updated:

Views: 5639

Rating: 4.7 / 5 (47 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Catherine Tremblay

Birthday: 1999-09-23

Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

Phone: +2678139151039

Job: International Administration Supervisor

Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.