There’s a few ways that custom iptables rules can be re-loaded when your Ubuntu server reboots. I’ve chosen to reload mine using the /etc/network/interfaces file. Here’s what I’ve included in that file:
auto lo iface lo inet loopback pre-up iptables-restore < /etc/iptables.firewall.rules auto eth0 iface eth0 inet dhcp
The key line here is the line starting with pre-up. This directs the iptables-restore to reload my rules from the /etc/iptables.firewall.rules file.
Another way of accomplishing the same thing is to create a script file in the /etc/network/if-pre-up.d/ directory and put the following in it:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.firewall.rules
Then set the permissions on the script file with:
sudo chmod +x /etc/network/if-pre-up.d/your-filename