iptables at boot
Om een iptables uit te voeren bij startup van een server
kunnen we gebruik maken van iptables-persistent
https://linuxconfig.org/how-to-make-iptables-rules-persistent-after-reboot-on-linux
... maar er is een probleem met iptables-persistent
deze software kijkt alleen naar de huidige draaiende iptables-regels
en start ze op na boot. Als je echter een script schrijft in BASH met een aantal zaken die weinig te maken hebben met de iptables zelf, bijvoorbeeld: echo 1 > /proc/sys/net/ipv4/ip_forward
, dan worden deze bash-only commands helemaal niet bewaard. ... en dus ook niet uitgevoerd door iptables persistent.
Een oplossing bestaat erin systemd
jouw iptables-script als een service te draaien ...
-
cre-eer een systemd-service-entry
$ sudo vim /etc/systemd/system/thisiptables.service
[Unit] After=network.target [Service] ExecStart=/etc/iptables/iptables.sh [Install] WantedBy=default.target
(het bovenstaande is hoofdlettergevoeling)
ExecStart
verwijst naar je correcte (laatste) iptables-script ...
enable
de thisiptables.service
$ sudo systemctl daemon-reload
(om systemd te informeren van een nieuwe daemon)
$ sudo systemctl enable thisiptables.service
start
de thisiptables.service
$ sudo systemctl start thisiptables.service
- doe een reboot en controleer of je script werd uitgevoerd ...