How to save rules of the iptables?

Saving iptables rules for reboot
On a server, iptables rules don’t reload automatically at reboot. You need to reload the rules using ax executable shell scripture a dedicated utility that will load them at the same time as the program itself, i.e. with the kernel.
Depending of the version of Linux you use, you can select different methods:
sudo su iptables-save > /etc/iptables.rules
In /etc/network/if-pre-up.d/iptables
, put:
#!/bin/sh iptables-restore < /etc/iptables.rules exit 0
After, in /etc/network/if-post-down.d/iptables
, put:
#!/bin/sh iptables-save -c > /etc/iptables.rules if [ -f /etc/iptables.rules ]; then iptables-restore < /etc/iptables.rules fi exit 0
After, give permission to the scripts:
sudo chmod +x /etc/network/if-post-down.d/iptables sudo chmod +x /etc/network/if-pre-up.d/iptables
Another scenario is to is to install iptables-persistent
:
sudo apt-get install iptables-persistent
After it’s installed, you can save/reload iptables rules anytime:
sudo /etc/init.d/iptables-persistent save sudo /etc/init.d/iptables-persistent reload
Or if you use Ubuntu server 16.04, things are simpler:
The installation as described above works without a problem, but the two commands for saving and reloading above do not seem to work with a 16.04 server. The following commands work with that version:
sudo netfilter-persistent save sudo netfilter-persistent reload