Ceci est une ancienne révision du document !
Premièrement il faut vérifier que le script iptables s'exécute bien manuellement. Pour cela, placez-vous dans le répertoire contenant ce dernier et exécutez-le :
./nom_du_script.sh
N'oubliez pas non-plus de donner les droits d'exécution
chmod +x nom_du_script.sh
La première ligne du script doit être
#!/bin/sh
Pour la suite on suppose que le script se trouve dans /root/Documents
root@debian:~/Documents# pwd /root/Documents
On crée un fichier .service
cd /etc/systemd/system/ nano iptables.service
Qui contient les lignes suivantes :
[Unit] Description=Setup firewall After=network.target local-fs.target [Service] RemainAfterExit=true ExecStart=/root/iptables.sh [Install] WantedBy=multi-user.target
Veillez bien à ce que ExecStart mène à votre fichier
iptables.sh étant le nom que vous lui avez donné
On active le service
systemctl enable iptables.service
On redémarre
reboot
Le fichier contenant des commandes iptables, on vérifie avec la commande :
iptables -L
Et on constate que le script a bien été exécuté au démarrage.
Éditez la crontab
crontab -e
Choisissez l'éditeur que vous souhaitez utiliser (nano étant le plus simple). Placez-vous tout en bas du fichier (ctrl +v). Ajoutez la ligne suivante :
@reboot /chemin/vers/le/script.sh
Ce qui donne dans notre cas :
@reboot /root/Documents/iptables.sh
On copie le fichier dans /etc/init.d/
cp /root/Documents/iptables.sh /etc/init.d/
On crée un lien symbolique
ln -s /etc/init.d/iptables.sh /etc/rc.d/