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:31] – [Traduire ces règles en syntaxe nft] 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 273: | Ligne 279: | ||
type filter hook input priority filter; policy drop; | type filter hook input priority filter; policy drop; | ||
tcp dport 23 counter packets 35 bytes 1837 accept | tcp dport 23 counter packets 35 bytes 1837 accept | ||
+ | UDP DPORT 68 counter packets 0 bytes 0 accept | ||
ct state established, | ct state established, | ||
}</ | }</ | ||
Ligne 302: | Ligne 309: | ||
</ | </ | ||
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' | 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' | ||
- | ==== Franchir le Rubicon ==== | ||
- | Il faut maintenant activer le service '' | ||
- | systemctl enable nftables.service | ||
- | systemctl start nftables.service | ||
- | apt purge iptables | ||
- | En français: | ||
- | * activer le service nftables sur systemd, | ||
- | * démarrer ce service, | ||
- | * virer tout ce qu' | ||
- | Autrement-dit, | ||
- | ==== Ajustement utile ==== | ||
- | Par curiosité, regardons ce que fait le service «nftables» de systemd. Le script se trouve dans ''/ | ||
- | < | ||
- | < | ||
- | [Unit] | ||
- | Description=nftables | ||
- | Documentation=man: | ||
- | Wants=network-pre.target | ||
- | Before=network-pre.target shutdown.target | ||
- | Conflicts=shutdown.target | ||
- | DefaultDependencies=no | ||
- | [Service] | ||
- | Type=oneshot | ||
- | RemainAfterExit=yes | ||
- | StandardInput=null | ||
- | ProtectSystem=full | ||
- | ProtectHome=true | ||
- | <span class=" | ||
- | ExecReload=/ | ||
- | <span class=" | ||
- | |||
- | [Install] | ||
- | WantedBy=sysinit.target | ||
- | </ | ||
- | |||
- | * au démarrage (//ou au re-démarrage// | ||
- | * à l' | ||
- | Il revient donc à l' | ||
- | |||
- | Si l'on recharge le fichier de configuration, | ||
- | - copier le fichier original dans ''/ | ||
- | - modifier cette copie en fonction des besoins. Ainsi | ||
- | < | ||
- | <b>cp / | ||
- | </ | ||
- | puis modifier cette copie comme ceci: | ||
- | < | ||
- | [Unit] | ||
- | Description=nftables | ||
- | Documentation=man: | ||
- | Wants=network-pre.target | ||
- | Before=network-pre.target shutdown.target | ||
- | Conflicts=shutdown.target | ||
- | DefaultDependencies=no | ||
- | |||
- | [Service] | ||
- | Type=oneshot | ||
- | RemainAfterExit=yes | ||
- | StandardInput=null | ||
- | ProtectSystem=full | ||
- | ProtectHome=true | ||
- | <span class=" | ||
- | ExecStart=/ | ||
- | < | ||
- | ExecReload=/ | ||
- | ExecStop=/ | ||
- | |||
- | [Install] | ||
- | WantedBy=sysinit.target | ||
- | </ | ||
- | De cette manière, lorsque l' |
Nftables: Dernière modification le: 03/04/2025 à 09:31 par prof