Migrer de iptables à nftables


#1

Salut
A partir de Buster c’est nftables qui sera utilisé par défaut:
https://wiki.debian.org/nftables

Il y a des outils pour migrer les tables
https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables

Mon problème est que j’utilse ufw et gufw pour gérer graphiquement le firewall. Mais ils fonctionnent avec iptables https://packages.debian.org/buster/ufw , https://packages.debian.org/buster/gufw

Comment faire pour passer en nftables et avoir un outil graphique qui fonctionne sur nftables? D’ailleurs existe-t-il un outil graphique pour nftables?

Y a t il une urgence à quitter iptables?


Debian 10 et nftables
Volontaires pour installer un Pare Feu
Créer un hotspot wifi
#2

Bonjour grandtoutab, cela dépend ( si tu n’as qu’un ordinateur de bureau et non un serveur ) de ton modem ( box ), chez ovh et peut-être chez d’autres opérateurs, iptables et nftables sont superflus par rapport aux filtres présents dans le modem.


#3

comme on ne sait pas trop ce que filtrent les box je m’installe quand même un firewall sur le PC :grinning:
Toujours est il que j’ai suivi le wiki archlinux https://wiki.archlinux.org/index.php/nftables#Installation

j’ai migré mes règles , sauvegardées dans /etc/nftables.conf et activé le service

systemctl status nftables.service
● nftables.service - nftables
   Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2019-02-19 13:24:50 CET; 2min 21s ago
     Docs: man:nft(8)
           http://wiki.nftables.org
  Process: 231 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=0/SUCCESS)
 Main PID: 231 (code=exited, status=0/SUCCESS)

févr. 19 13:24:50 debian systemd[1]: Started nftables.

Par contre pas trouvé d’interfaces graphique, ils sont tous liés à iptables et je ne veux pas réinstaller iptables.
ça fonctionne uniquement avec ça

apt list --installed | grep tables

libnftables0/testing,unstable,now 0.9.0-2 amd64  [installé, automatique]
libxtables12/testing,unstable,now 1.8.2-3 amd64  [installé, automatique]
nftables/testing,unstable,now 0.9.0-2 amd64  [installé]

On peut aussi simplement utiliser un exemple de règles fourni par Debian

cp /usr/share/doc/nftables/examples/workstation.nft /etc/nftables.conf

Avec ouverture du port tcp/8200 pour minidlna entre le pc et le mediacenter de la box

nft list ruleset
table inet filter {
	chain input {
		type filter hook input priority 0; policy accept;
		iif "lo" accept
		ct state established,related accept
		tcp dport { ssh, http, https, 8200 } ct state new accept
		ip6 nexthdr ipv6-icmp icmpv6 type { nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
		counter packets 0 bytes 0 drop

#4

Sachant que nombre d’applications n’utilise encore que iptables, cela m’étonnerai pas qu’un grand nombre de gens ne s’embarrasse pas de nftables et le remplace par iptables.

L’exemple le plus notable, docker a pour dépendance iptables, il peu fonctionner avec nftables mais ne le pilotera pas …

En gros nftables et vraiment pas mal mais ne remplacera certainement pas dans les entreprises iptables dès la sortie de Buster.


#5

comprends pas :face_with_raised_eyebrow:

pour moi nftables n’est qu’une façon d’écrire des règles que le noyau applique par netfilter.

je ne vois pas ce que les applis ont à voir la dedans, les applis passent au filtre netfilter “sans le savoir”


#6
root@debian:~# nft list ruleset; date
table inet filter {
	chain input {
		type filter hook input priority 0; policy accept;
		iif "lo" accept
		ct state established,related accept
		tcp dport { ssh, http, https, 8200 } ct state new accept
		counter packets 1262 bytes 310537 drop
	}
}
mercredi 20 février 2019, 16:54:57 (UTC+0100)
root@debian:~# nft list ruleset; date
table inet filter {
	chain input {
		type filter hook input priority 0; policy accept;
		iif "lo" accept
		ct state established,related accept
		tcp dport { ssh, http, https, 8200 } ct state new accept
		counter packets 1270 bytes 311311 drop
	}
}
mercredi 20 février 2019, 16:56:23 (UTC+0100)

Des paquets sont rejetés, comme quoi c’est pas inutile…


#7

Un petit effort que diable …

En voilà déjà un, pas mal de solution d’orchestration sont dans le même cas.

Ai-je dit inutile ? non j’ai précisé qu’il lui reste du chemin pour s’assoir dans le fauteuil de Iptables pour l’instant.

Maintenant je préfère nettement le travail des règles sur Nftables que sur Iptables, et son aptitude à gérer IPV6 et IPV4 avec le même jeux de règles est un gros plus … mais tout n’est pas rose.

Un projet qui retient bien plus mon attention est bpfilter : https://cilium.io/blog/2018/04/17/why-is-the-kernel-community-replacing-iptables/


#8

info officielle
https://www.debian.org/releases/buster/amd64/release-notes/ch-whats-new.fr.html#nftables