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 05/04/2025 à 12:54] – [Premier pas] 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 251: | 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 278: | 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 307: | 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' | ||
- | ===== Vérification ===== | ||
- | Il reste à confirmer que tout ceci fonctionne comme prévu. Après redémarrage du prototype: | ||
- | < | ||
- | < | ||
- | ● nftables.service - nftables | ||
- | < | ||
- | | ||
- | ... | ||
- | < | ||
- | table inet filter { | ||
- | chain input { | ||
- | type filter hook input priority filter; policy accept; | ||
- | } | ||
- | |||
- | chain forward { | ||
- | type filter hook forward priority filter; policy accept; | ||
- | } | ||
- | |||
- | chain output { | ||
- | type filter hook output priority filter; policy accept; | ||
- | } | ||
- | } | ||
- | table ip filter { | ||
- | chain INPUT { | ||
- | type filter hook input priority filter; policy drop; | ||
- | tcp dport 23 counter packets 661 bytes 35402 accept | ||
- | ct state established, | ||
- | } | ||
- | |||
- | chain FORWARD { | ||
- | type filter hook forward priority filter; policy accept; | ||
- | } | ||
- | |||
- | chain OUTPUT { | ||
- | type filter hook output priority filter; policy accept; | ||
- | } | ||
- | } | ||
- | table ip6 filter { | ||
- | chain INPUT { | ||
- | type filter hook input priority filter; policy drop; | ||
- | tcp dport 23 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; | ||
- | } | ||
- | } | ||
- | </ | ||
- | Reste à étudier la nouvelle syntaxe de manière à oublier Iptables. |
Nftables: Dernière modification le: 05/04/2025 à 12:54 par prof