Installation de nftables
Visualisation des règles (rules)
nft list ruleset #Si vous avez le message même en étant root : netlink: Error: cache initialization failed: Operation not permitted #il faut lancer le container avec le flag --privileged docker run --privileged -it <image_docker>
Rien n’apparait, il n’y a pas de règles on va en créer une, d’abord on va créer une table
nft add table inet filter
puis nft list ruleset
table inet filter {
}
C’est vide pour l’instant, on va ajouter une règle pour autoriser les connexion sur le port 22
nft add rule inet filter input tcp dport 22 accept
mais vous risquez d'avoir l'erreur
Error: Could not process rule: No such file or directory
add rule inet filter input tcp dport 22 accept
^^^^^
Comment ajouter une règle
nftable organise les règle en hiérarchie : table (conteneur de niveau supérieur) > chaine (groupe de règle dans une table) > règle (instruction de filtrage)
Types de tables:
- ip : ipv4
- ip6 : ipv6
- inet : ipv4 + ipv6
- arp : ARP
- bridge : bridge
- netdev : interface réseau
Création table puis chaine puis règle
# Créer la table inet filter (on vient de le faire)
nft add table inet filter
# Créer la chaîne input
nft add chain inet filter input { type filter hook input priority 0 \; policy accept \; }
# Maintenant ajouter votre règle SSH
nft add rule inet filter input tcp dport 22 accept
# lister les règles
nft list ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy accept;
tcp dport 22 accept
}
}
Commandes de diagnostic
# voir une table spécifique nft list table inet filter # Voir le contenu d'une table spécifique nft list table inet filter # Voir les chaînes d'une table nft list chains inet filter # Voir une chaîne spécifique nft list chain inet filter input