[RESOLU] Regles iptables qui saute à chaque reboot

Tags: #<Tag:0x00007fc9dc4a5328>

Bonjour,

j’ai récemment monté un serveur sous debian strech

mais lorsque je fais mon script iptables il ne reste pas actif lors des reboot

mon script est : /etc/init.d/firewall
j’ai fais un sudo chmod +x /etc/init.d/firewall
puis sudo /etc/init.d/firewall
puis sudo iptables -S pour verifier que les regles sont bien en place
et c’est le cas :slight_smile:
et pour finir sudo update-rc.d firewall defaults

je faisait la mème chose sous Ubuntu et ca fonctionnais
je ne comprend pas pourquoi ca ne marche pas sous debian

si qqun peut éclairé ma lanterne

merci :slight_smile:

Ahote

Salut
C’était quelle version d’Ubuntu ?

Parce que sudo update-rc.d c’est pour des systèmes qui ont le système de démarrage System V.
Depuis Debian Jessie, c’est systemd qui a pris le gouvernail

En bref il faut modifier ton script pour l’adapter à systemd

Et voilà un tuto qui pourra t’aider :slight_smile:
https://blog.cedricbonhomme.org/2015/05/12/iptables-et-systemd/

déja merci @TheJeje20 pour ta réponse rapide :slight_smile:

c’était sous ubuntu 16.04 serveur
il me semble que c’est une version “bâtarde” avec systemd et systemv en paralelle

merci je vais regardé ton tuto plus en détails dans la soirée
je l’ai seulement survolé pour le moment et donc si je comprend bien il faut créé 2 script :
mon script avec mes règles
et un autre qui “appelle” le premiers lors du boot

je me répond a moi mème lol

je me suis inspiré ton tuto et ca marche impec :slight_smile:
j’ai simplement créé un script /etc/systemd/system/iptables.service

[Unit]
Description=par-feu
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/firewall
 
[Install]
WantedBy=multi-user.target 

ensuite

chmod +x /etc/systemd/system/iptables.service
sudo systemctl enable iptables.service
sudo  systemctl restart iptables.service

Parfait si ça marche, mais plutôt que de mélanger des services persos sous /etc/, il est plutôt d’usage de placer/regrouper ses services sous ~/.config/systemd/user/ , puis,

sudo systemctl link /home/xxx/.config/systemd/user/iptables.service

# Created symlink /etc/systemd/system/iptables.service → /home/xxx/.config/systemd/user/iptables.service.

L’intérêt est aussi de ne pas risquer de se mélanger les pinceaux plus tard entre services système ou persos, et de les garder au chaud, à l’abri d’une réinstallation.

Oui c’est vrai que c’est pas hyper propre de mélanger les deux systèmes j’ai simplement laisser le script la ou il était par flemme lol je réorganiserai ca plus tard :slight_smile:

Si je ne m’abuse, un fichier d’unité de systemd n’est pas un script exécutable et n’a pas besoin d’avoir de permission d’exécution.

A mon avis un pare-feu n’est pas un service “perso” et n’a pas à être sous le contrôle d’un utilisateur normal.