« Nftables » : différence entre les versions

Aller à la navigation Aller à la recherche
2 249 octets ajoutés ,  1 janvier 2020
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
 
(4 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes
https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains
* iptables legacy : iptables-legacy* ip6tables-legacy*
* iptables legacy : iptables-legacy* ip6tables-legacy*
* iptables nftables : iptables-nft* ip6tables-nft*. Parse la syntaxe iptables, créé les commande nftables correspondantes. Utilises libnftnl (comme nft), ce n'est donc pas un "simple" convertisseur de syntaxe textuelle.
* iptables nftables : iptables-nft* ip6tables-nft*. Parse la syntaxe iptables, créé les commande nftables correspondantes. Utilises libnftnl (comme nft), ce n'est donc pas un "simple" convertisseur de syntaxe textuelle.
* nftables : nft
* nftables : nft


Les règles crées avec iptables-nft ou ip6tables-nft peuvent se retrouver avec nft. Par exemple, pour les règles filter (iptables-nft -t filter, qui est le fonctionnement "par défaut" de iptables-nft (et iptables-legacy)) :
Les règles crées avec iptables-nft ou ip6tables-nft peuvent se retrouver avec nft. Par exemple, pour les règles filter (iptables-nft -t filter, qui est le fonctionnement "par défaut" de iptables-nft (et iptables-legacy)) ou nat :
<pre>
<pre>
nft list table ip filter
nft list table ip filter
nft list table ip6 filter
nft list table ip6 filter
nft list table ip nat
nft list table ip6 nat
</pre>
</pre>


Ligne 30 : Ligne 35 :
nft flush table <type> <name>
nft flush table <type> <name>
nft delete table <type> <name>
nft delete table <type> <name>
</pre>
=Note sur l'ordre de processing=
* Lorsque vous créez une chaîne, vous pouvez la brancher sur un hook. Par exemple, <code>type filter hook input priority 0; policy accept;</code> connecte la chaîne au hook input (paquets entrant sur le serveur), avec une priorité 0, et une policy (action par défaut) d'acceptation
** La priorité permet d'ordonner plusieurs hooks entre elles. (-10 en premier, 0 en second, 10 en dernier, par exemple).
* Sur une règle, un verdict accept provoque l'acceptation du paquet et l'arrêt du processing des règles, mais uniquement à l'intérieur d'une même chaîne lié à un hook. Si il y a plusieurs hook input, un paquet accepté dans un premier hook input sera également évalué dans les hooks input ultérieurs.
* Un verdict drop provoque le drop instantané du paquet et l'arrêt de processing de toutes les règles y compris des hooks de priorité ultérieurs.
* Exemple: si un paquet entrant (hook input) est accepté par une règle (ou une policy) dans une chaîne lié à un hook input de priority 0, mais qu'une autre règle (ou policy) existe dans une autre chaîne lié à un hook input de priorité ultérieure (priority 1 par exemple), le paquet sera évalué une seconde fois par cette deuxième chaîne. Si ce même paquet était matché dans le premier hook input de priority 0 par une règle drop, il serait droppé et non évalué par le deuxième hook de priority 1 (car il est droppé immédiatement).
Exemple :
<pre>
table inet filter {
        # Cette chaîne est évaluée en premier suite à sa priorité de 0
        chain ssh {
                type filter hook input priority 0; policy accept;
                # paquet SSH accepté par cette règle
                tcp dport ssh accept
        }
        # Cette chaîne est évaluée en dernier suite à sa priorité de 1
        chain input {
                type filter hook input priority 1; policy drop;
                # Le même paquet SSH est droppé du fait de la policy par défaut de drop
        }
}
</pre>
</pre>
4 231

modifications

Menu de navigation