Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
130netfilter:30-nftables [le 03/04/2025 à 09:10] – [Sauvegarde des règles iptables] prof | 130netfilter:30-nftables [le 04/10/2025 à 16:00] (Version actuelle) – [Nftables] prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Nftables ====== | ====== Nftables ====== | ||
- | Le couple Netfilter/ | + | Le couple Netfilter/ |
Nftables, apparu depuis le kernel 3.13 en 2014, reprend toutes les idées accumulées dans le projet iptables, en les organisant de façon plus cohérente, avec un code entièrement revu. | Nftables, apparu depuis le kernel 3.13 en 2014, reprend toutes les idées accumulées dans le projet iptables, en les organisant de façon plus cohérente, avec un code entièrement revu. | ||
Ligne 123: | Ligne 123: | ||
< | < | ||
iptables -A INPUT -p tcp --dport 23 -j ACCEPT | iptables -A INPUT -p tcp --dport 23 -j ACCEPT | ||
+ | iptables -A INPUT -p udp --dport 68 -j ACCEPT | ||
iptables -A INPUT -m state --state RELATED, | iptables -A INPUT -m state --state RELATED, | ||
iptables -P INPUT DROP | iptables -P INPUT DROP | ||
Ligne 128: | Ligne 129: | ||
En français: | En français: | ||
< | < | ||
- | laisser entrer les connexions TCP sur le port 23 | + | laisser entrer les connexions TCP sur le port 23 (Telnet) |
+ | laisser entrer les datagrammes | ||
laisser entrer toutes les connexions déjà établies ou relatives à une connexion déjà établie | laisser entrer toutes les connexions déjà établies ou relatives à une connexion déjà établie | ||
mettre tout le reste à la poubelle | mettre tout le reste à la poubelle | ||
Ligne 135: | Ligne 137: | ||
< | < | ||
ip6tables -A INPUT -m state --state RELATED, | ip6tables -A INPUT -m state --state RELATED, | ||
- | ip6tables -A INPUT -p icmp6 -j ACCEPT | + | ip6tables -A INPUT -p ipv6-icmp |
ip6tables -A INPUT -s fe80::/64 -j ACCEPT | ip6tables -A INPUT -s fe80::/64 -j ACCEPT | ||
ip6tables -P INPUT DROP | ip6tables -P INPUT DROP | ||
Ligne 145: | Ligne 147: | ||
Chain INPUT (policy DROP) | Chain INPUT (policy DROP) | ||
target | target | ||
- | ACCEPT | ||
ACCEPT | ACCEPT | ||
+ | ACCEPT | ||
+ | ACCEPT | ||
Chain FORWARD (policy ACCEPT) | Chain FORWARD (policy ACCEPT) | ||
Ligne 185: | Ligne 188: | ||
<span class=" | <span class=" | ||
<span class=" | <span class=" | ||
+ | <span class=" | ||
<span class=" | <span class=" | ||
} | } | ||
Ligne 211: | Ligne 215: | ||
type filter hook input priority filter; policy drop; | type filter hook input priority filter; policy drop; | ||
tcp dport 23 counter packets 496 bytes 26436 accept | tcp dport 23 counter packets 496 bytes 26436 accept | ||
+ | udp dport 68 counter packets 0 bytes 0 accept | ||
ct state related, | ct state related, | ||
} | } | ||
Ligne 246: | Ligne 251: | ||
add chain ip filter OUTPUT { type filter hook output priority 0; policy accept; } | add chain ip filter OUTPUT { type filter hook output priority 0; policy accept; } | ||
add rule ip filter INPUT tcp dport 23 counter accept | add rule ip filter INPUT tcp dport 23 counter accept | ||
+ | add rule ip filter INPUT udp dport 68 counter accept | ||
add rule ip filter INPUT ct state related, | add rule ip filter INPUT ct state related, | ||
# Completed on Thu Mar 27 11:32:55 2025</ | # Completed on Thu Mar 27 11:32:55 2025</ | ||
Ligne 258: | Ligne 264: | ||
# Completed on Thu Mar 27 11:33:15 2025</ | # Completed on Thu Mar 27 11:33:15 2025</ | ||
</ | </ | ||
+ | ==== Création du fichier de configuration nftables ==== | ||
+ | Très simple. On commence par virer les éventuels parasites, puis on injecte notre fichier de traduction: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | Et l'on admire le résultat: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <span class=" | ||
+ | chain INPUT { | ||
+ | type filter hook input priority filter; policy drop; | ||
+ | tcp dport 23 counter packets 35 bytes 1837 accept | ||
+ | UDP DPORT 68 counter packets 0 bytes 0 accept | ||
+ | ct state established, | ||
+ | }</ | ||
+ | |||
+ | chain FORWARD { | ||
+ | type filter hook forward priority filter; policy accept; | ||
+ | } | ||
+ | |||
+ | chain OUTPUT { | ||
+ | type filter hook output priority filter; policy accept; | ||
+ | } | ||
+ | } | ||
+ | <span class=" | ||
+ | chain INPUT { | ||
+ | type filter hook input priority filter; policy drop; | ||
+ | ct state established, | ||
+ | meta l4proto ipv6-icmp counter packets 2 bytes 200 accept | ||
+ | ip6 saddr fe80::/64 counter packets 0 bytes 0 accept | ||
+ | }</ | ||
+ | |||
+ | chain FORWARD { | ||
+ | type filter hook forward priority filter; policy accept; | ||
+ | } | ||
+ | |||
+ | chain OUTPUT { | ||
+ | type filter hook output priority filter; policy accept; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Le système a rajouté les chaînes INPUT et FORWARD qui restent vides dans notre cas (trop) simple. En effet, il a été omis d' | ||
+ |
Nftables: Dernière modification le: 03/04/2025 à 09:10 par prof