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