Fa alguns dies va ser alliberada la nova versió de l'filtre de paquets nftables 0.9.3, Que es desenvolupa com a reemplaçament d'iptables, ip6table, arptables i ebtables a causa de la unificació de les interfícies de filtrat de paquets per a IPv4, IPv6, ARP i ponts de xarxa.
El paquet nftables usa parts estructurals de la infraestructura Netfilter, Com el connection tracking system (Sistema de seguiment de connexions) o el subsistema de registre. També hi ha prevista una capa de compatibilitat per a la traducció de les ja existents regles de l'tallafocs iptables als seus equivalents en nftables.
sobre Nftables
Nftables inclou components de filtre de paquets que funcionen a l'espai de l'usuari, mentre que a nivell de l'nucli, el subsistema nf_tables proporciona una part de el nucli de Linux des de la versió 3.13.
A nivell de l'nucli, només es proporciona una interfície comuna que és independent d'un protocol específic i proporciona a funcions bàsiques per extreure dades de paquets, realitzar operacions de dades i controlar el flux.
La lògica de filtrat en si i els processadors específics de l'protocol es compilen en un bytecode en l'espai de l'usuari, després de la qual cosa aquest bytecode es carrega en el nucli usant la interfície Netlink i s'executa en una màquina virtual especial que s'assembla a BPF (Berkeley Packet Filters).
Aquest enfocament li permet reduir significativament la mida de el codi de filtrat que s'executa a nivell de nucli i eliminar totes les funcions de les regles d'anàlisi i la lògica de treballar amb protocols en l'espai de l'usuari.
Els principals avantatges d'nftables són:
- Arquitectura que està integrada en el nucli
- Una sintaxi que consolida les eines de IPtables en una única eina de línia d'ordres
- Una capa de compatibilitat que permet l'ús de la sintaxi de regles de IPtables.
- Una nova sintaxi fàcil d'aprendre.
- Procés simplificat d'agregar regles de tallafocs.
- Informe d'errors millorat.
- Reducció en la replicació de codi.
- Millor rendiment general, retenció i canvis graduals en el filtrat de regles.
Què hi ha de nou en nftables 0.9.3?
En aquesta nova versió de nftables 0.9.3 es va afegir el suport per a paquets coincidents al llarg del temps. Amb això es pot definir els intervals de temps i data en què s'activarà la regla i configurar l'activació en dies individuals de la setmana. També es va agregar una nova opció «T» per mostrar el temps de l'època en segons.
Un altre dels canvis que es destaquen és el suport per restaurar i guardar etiquetes SELinux (Secmark), si com també el suport per a llistes de mapes synproxy, El que li permet definir més d'una regla per backend.
Dels altres canvis que es destaquen d'aquesta nova versió:
- Possibilitat d'eliminar dinàmicament elements set-set de les regles de processament de paquets.
- Suport per mapatge de VLAN per identificador i protocol definit en les metadades de la interfície de el pont de xarxa
- Opció «-t» ( «-terse») per excloure elements set-set a l'mostrar regles. A l'executar «NFT -t list ruleset», es mostrarà:
- Conjunt de regles NFT list.
- La capacitat d'especificar més d'un dispositiu en cadenes netdev (funciona només amb el nucli 5.5) per combinar regles de filtrat comuns.
- Possibilitat d'afegir descripcions de tipus de dades.
- Capacitat per construir una interfície CLI amb la biblioteca linenoise en lloc de libreadline.
Com instal·lar la nova versió de nftables 0.9.3?
Per obtenir la nova versió de moment només es pot compilar el codi font en el seu sistema. Encara que en qüestió de dies estaran disponibles els paquets binaris ja compilats dins de les diferents distribucions de Linux.
A més de que els canvis necessaris perquè funcioni la versió nftables 0.9.3 estan inclosos en la futura branca de el nucli de Linux 5.5. Pel que per realitzar la compilació has de comptar amb les següents dependències instal·lades:
Aquestes les pots compilar amb:
./autogen.sh
./configure
make
make install
I per nftables 0.9.3 aquest el descarreguem des el següent enllaç. I la compilació es realitza amb les següents comandes:
cd nftables
./autogen.sh
./configure
make
make install