Aller au contenu principal
~$ guillaume.putier.fr

notes/nftables-reload-vide-le-pare-feu

Recharger nftables sur cPanel détruit les règles des autres

Sur EL8, le reload de nftables vide toutes les tables, y compris celles de cPHulk et des restrictions SMTP de cPanel. Un fichier de table à part évite le vidage.

  • nftables
  • cpanel
  • pare-feu

Tu ajoutes une règle à nftables sur un serveur AlmaLinux 8.10 qui porte cPanel, tu fais un systemctl reload nftables, et les tables de cPHulk et les restrictions SMTP de cPanel ont disparu. L'unité livrée par le paquet fait exactement ça.

Elle vide tout. ExecReload lance un flush ruleset, puis recharge /etc/sysconfig/nftables.conf. ExecStop ne fait que le flush. Le fichier /etc/nftables.conf n'est jamais lu, donc ce que tu y écris n'est jamais chargé.

Le flush détruit la table inet filter, où le démon cPHulk tient son jeu cphulk-TempBan, et les tables ip filter et ip6 filter d'iptables-nft, celles qui portent les restrictions SMTP de cPanel.

firewalld.service déclare Conflicts=nftables.service. Sur les trois serveurs que j'ai relevés, il tournait sur deux et était arrêté sur le troisième. Première étape : l'arrêter, le désactiver et le masquer.

Derrière une politique drop, le journal consigne comme refusées les réponses DHCPv4 envoyées au port 68. dhclient lit ces réponses sur une prise brute, avant netfilter, et renouvelle son bail malgré le refus. Sur le serveur en DHCP, deux renouvellements de bail, en DHCP et en DHCPv6, ont réussi après la pose. DHCPv6 n'a pas ce passe-droit : le port 546 côté client s'ouvre par ip6 saddr fe80::/10 udp dport 546 accept.

Les règles sortent ensuite dans un fichier à part, qui ne porte qu'une table. Ce fichier commence par table inet <nom>, puis delete table inet <nom>, puis la table complète. Tu ajoutes une ligne include de ce fichier dans /etc/sysconfig/nftables.conf. Tu charges ensuite ce seul fichier avec nft -f, qui ne recrée que sa table. Avant chargement, nft -c -f valide la syntaxe. Tu ne fais plus de reload ni de restart de nftables.

J'ai posé cette méthode le 12 octobre 2026 sur trois serveurs DNS sous cPanel, à quelques minutes d'écart. Après la pose, cPHulk et les restrictions d'envoi de courrier de cPanel étaient toujours là, le DNS répondait en IPv4 et en IPv6, en UDP et en TCP, et aucun service n'était en échec.

retour aux notes