problème avec wiki.nftables.org/ Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

bonjour ,

je viens de rencontrer un problème avec cette page :
https://wiki.nftables.org/wiki-nftable ... ing_rules

qui indique ceci :
You can delete the rule whose handle is 5 with the following command:

% nft delete rule filter output handle 5
mais ça ne fonctionne pas . Je suis allé voir archwiki qui m'a donné la bonne syntaxe :

Code : Tout sélectionner

 nft delete rule inet filter output handle 5 
la dernière intervention sur cette page de wiki.nftables.org/ date du 18/10/2022 : la syntaxe aurait-elle changée sans que le wiki ne soit corrigé ? En regardant les différentes commandes pour intervenir sur les règles je vois que la famille ( inet ou ip ) n'y figure pas : cette page serait-elle obsolète ? En tout cas j'en déduis qu' en cas de problème avec un wiki mieux vaut en regarder un autre .

Edit : j'ai peut-être bien trouvé le pourquoi par un pur hasard :
https://www.linuxembedded.fr/2022/06/in ... -nftables
#Remplacer une règle
#nft replace rule [family] table_name chain_name handle <index> statement
#Si la famille n'est pas renseignée, la règle de la table de la famille ip sera remplacée


Cette page du wiki a été écrite pour la famille ip uniquement et comme j'ai utilisé la famille inet ça n'a pas marché , mais avant de mettre résolu je vais attendre une confirmation .
Debian 12/ Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut!

Il n'y a pas très longtemps, je t'ai répondu par cet exemple :

Code : Tout sélectionner

table inet test_table {
	chain test_chain {
		type filter hook output priority filter; policy accept;
		ip daddr 144.76.60.126 drop;
	}
}

Lors du test j'ai commencé par écrire la règle de cette manière :

inet daddr 144.76.60.126 drop;

et nft m'a retourné une erreur, j'ai donc modifié en remplaçant inet par ip et là ça fonctionne.

La moralité (que j'en déduis) est que nft est pointilleux et n'admet pas inet pour : "ip ou ip6"
**Simple Utilisateur** -- Debian stable - XFCE
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dezix a écrit : 09 sept. 2023, 14:25 La moralité (que j'en déduis) est que nft est pointilleux et n'admet pas inet pour : "ip ou ip6"
c'est avec ça que j'ai un problème car lorsque j'ai écrit mes règles je m'étais basé sur ce qu'écrit archwiki dans https://wiki.archlinux.org/title/Nftables :
To create one rule that applies to both IPv4 and IPv6, use inet. inet allows for the unification of the ip and ip6 families to make defining rules for both easier.
et donc je m'étais dit que les syntaxes des familles ipv4 et ipv6 devaient être comprises par celle de inet . En fait je m'aperçois que j'ai tiré de mauvaises conclusions de ce que j'ai lu sur archwiki ( qui m'a servi à passer à nftables ) . Au temps pour moi donc même si je ne comprends toujours pas pourquoi wiki.nftables.org/ n'a nulle part précisé que ses commandes n'étaient valables que pour la famille ip , son omission dans ces commandes sous-entendant qu'elle serait sélectionnée par défaut . Il n'est probablement pas écrit pour les débutants dans l'élaboration d'un parefeu .
Debian 12/ Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 271
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

En fait, inet n'est valable QUE pour des règles qui concernent les deux protocoles ip (par exemple, des règles concernant des ports tcp ou des flags tcp, et seulement ça, qui sont valables pour les deux protocoles ip).

Par contre, une règle comportant une adresse ipv4 n'est à l'évidence pas applicable pour ipv6 et doit donc être ip et non inet. On peut donner un exemple similaire avec une règle comportant une adresse ipv6 qui, pour le coup sera précédée de ip6.

Tout cela est très logique (et précis).

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 09 sept. 2023, 16:07 En fait, inet n'est valable QUE pour des règles qui concernent les deux protocoles ip (par exemple, des règles concernant des ports tcp ou des flags tcp, et seulement ça, qui sont valables pour les deux protocoles ip).

Par contre, une règle comportant une adresse ipv4 n'est à l'évidence pas applicable pour ipv6 et doit donc être ip et non inet. On peut donner un exemple similaire avec une règle comportant une adresse ipv6 qui, pour le coup sera précédée de ip6.
je pensais avoir pris un coup d'avance avec cet inet , c'est raté . Je vais donc redéfinir mes tables pour qu'elles soient uniquement ip-compatibles .

merci pour ces précisions .
Debian 12/ Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 271
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

tony a écrit : 09 sept. 2023, 18:02merci pour ces précisions .
De rien.

Amicalement.

Jean-Marie
Répondre