I add this rule:
sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \ --dport 1723 -j DNAT --to-destination a.b.c.d:10000
- When restart computer rules are deleted. Why?
- What I can do to make the rules persist?
There is no option in iptables which will make your rules permanent. But you can use
iptables-restore to fulfill your task.
First add the iptable rule using the command you gave.
Then save iptables rules to some file like
/etc/iptables.conf using following command:
$ iptables-save > /etc/iptables.conf
Add the following command in
/etc/rc.local to reload the rules in every reboot.
$ iptables-restore < /etc/iptables.conf
(Because it was suggested to make this an answer of its own...)
On debian install
The package will automatically load
/etc/iptables/rules for you during boot.
Any time you modify your rules, run
/sbin/iptables-save > /etc/iptables/rules to save them. You can also add that to the shutdown sequence if you like.
iptables-persistent above you can also save rules with the following shorter command on Ubuntu 16.04+:
sudo netfilter-persistent save
And they can also be restored back to how they were last time you saved them with:
sudo netfilter-persistent reload