Erreur nftable

Bonjour,

J’ai décidé de passer de iptable à nftable mais j’ai un petit soucis avec mon fichier de règles nftable que voici .

flush ruleset


table inet filter {
	chain input {
			type filter hook input priority 0;


			iif lo accept


			ct state established, related accept


			tcp dport http accept
			tcp dport https accept


			tcp flag & (fin | syn | rst | psh | ack | urg) > urg counter packets 0 bytes 0
			tcp flag & (fin | syn | rst | psh | ack | urg) < fin counter packets 0 bytes 0


			icmp type echo-reply accept
			icmpv6 type echo-reply accept


			drop
		}

    	chain forward {
            		type filter hook forward priority 0;
            	

			drop
    		}

	chain output {
			type filter hook output priority 0;
			

			iif lo accept


			ct state established, related accept


			tcp dport https accept


			udp dport domain accept


			udp dport ntp accept


			icmp type echo-request accept
			icmpv6 type echo-request accept


			drop
		}
}

Or lorsque je fais /usr/sbin/nft -f nftables.txt

Voici toutes les erreurs que j’obtiens
nftables.rules:1:14-14: Error: syntax error, unexpected junk, expecting end of file or newline or semicolon
flush ruleset
^
nftables.rules:2:1-1: Error: syntax error, unexpected junk

^
nftables.rules:3:1-1: Error: syntax error, unexpected junk

^
nftables.rules:4:20-20: Error: syntax error, unexpected junk
table inet filter {
^
nftables.rules:5:16-16: Error: syntax error, unexpected junk
chain input {

Je suis sous debian 11

Merci de votre aide

j’utilise nftables comme ça

Hello, je ne connais pas trop nftables mais tes lignes doivent peut-être se terminer par un caractère?

Genre comme un « ; » en css

Certaines lignes oui (comme la déclaration type) les autres non, une règle une ligne.

Comment as-tu créé/édité/transféré ce fichier ?
Il a peut-être des fins de ligne au format DOS/Windows (CR+LF) au lieu du format Unix (LF). A vérifier avec

hd -n 32 nftables.txt

(oui, file afficherait le type de fin de ligne plus convivialement, mais l’affichage en hexa permet de voir d’autres anomalies comme des caractères non imprimables)

2 J'aime

ou meme un cat -A :slight_smile:

C’est ça, le fichier a été fait sous windows et pb avec le retour à la ligne, j’ai refais le fichier sous debian et plus de pb. Merci à tous pour vos réponses.

1 J'aime

tr -d ‹ \r › < /mon_fichier_source > /mon_fichier_destination