====== Automatic load of iptables rules on Ubuntu ====== The fact that iptables is empty on each boot is both beautiful and iritating! You can mess everything up, and just reboot the PC to get a clean start (or just empty the rules - to be faster). But what if you want the rules to apply even after reboot? Here are a few ways to d othis: - Create a save/restore script in the if-up/if-down folder - Create a save/restore script that runs on boot/shutdown - Use iptables-persistent ===== The if-up.d and if-down.d method ===== The simplest way is to add a script called iptables in the /etc/network/if-up.d directory #!/bin/sh iptables-restore < /etc/firewall.conf And another script called iptables in the /etc/network/if-down.d directory #!/bin/sh iptables-save > /etc/firewall.conf Make them both executable (chmod +x iptables) and every time an interface goes up - it will restore all the rules, and when an interface goes down - it will save the rules. Note that /etc/firewall.conf must allready be populated with rules, so make sure to run iptables-save once you configure all the rules. ===== The startup and shutdown method ===== This can be done eather through /etc/rc.local or crontab A=> Place the iptables-restore command before the **exit 0** line\\ B=> run **crontab -e** and create this entry:** @reboot /path/to/script** (the restore script ofcourse) To save the iptables rules, place the iptables-save script inside the /etc/rc6.d directory, and make sure thet the name starts with K99. For example executable file /etc/rc6.d/K99iptables ===== The iptables-persistent method ===== Simply install iptables-persistent by issuing this command sudo apt-get install iptables-persistent and follow the prompts. When asked, hit 'Yes' to save the current rules (on both prompts). Now - upon reboot, iptables will be populated with current rules. If you for any reason want to change the rules - you can do so, but you have to issue theese commends afterwards: sudo su -c 'iptables-save > /etc/iptables/rules.v4' sudo su -c 'ip6tables-save > /etc/iptables/rules.v6' The first one to save the v4 rules, and the second one to save the v6 rules (if used). If you don't do this - the modifications will be lost after reboot (wich could be useful)