Everytime my server reboots it seems I have to reset my iptables to default, I used to use firestarter but removed it a while ago. Is there any settings that are making iptables change when the server reboots?
This is the default behavior.
You may want to take a look at the package
iptables-persistent to automatically set iptables rules at startup from a configuration file.
On Ubuntu 16.04:
sudo apt-get install iptables-persistent
After that, run next commands every time you want save iptables changes permanently:
sudo netfilter-persistent save
sudo netfilter-persistent reload
iptables-persistent by default does NOT automatically save the system's iptables when rebooting.
However, I modified the source code of the package in Ubuntu 14.04 to automatically save the rules on reboot, shutdown (halt), or runlevel 1. When the system boots to runlevels 2-5, the rules are restored. This way, saving and loading the rules happens automatically without user intervention.
To use this version, please use the following commands:
sudo apt-get remove iptables-persistent sudo dpkg -r iptables-persistent wget http://dinofly.com/files/linux/iptables-persistent_0.5.8_all.deb sudo dpkg --install iptables-persistent_0.5.8_all.deb
See my full blog post here:
Use at your own risk. All that was modified is the init script stop function calls the save rules function so that when the system is shutdown, rebooted, or in level1, the rules are automatically saved.
I've tested this updated deb package on Ubuntu 12.04, Ubuntu 14.04, and Ubuntu 15.04. It should work on any version of debian as well.
Save the rules in a file
iptables-save > /etc/iptables/rules.v4
Then restore the file by following commands by including in rc.local file
#vim /etc/rc.local /sbin/iptables-restore < /etc/iptables.rules
This works fine for me