Iptables – How to add a mangle rule to the saved iptables firewall rules file

firewalliptables

I've set up OpenVPN on my Debian server and would like to add a rule to iptables. I already have a file that lists default filter rules that iptables reads from (pre-up). I tried adding the rule to the file like so:

*filter
# Default firewall rules are here
COMMIT

*mangle
-A POSTROUTING -s 10.8.0.0/24 -o wlan0 -j SNAT --to-source 192.168.1.230
COMMIT

I then try to apply the rules with:

sudo iptables-apply /etc/iptables.firewall.rules

and it fails.

For reference, I followed this tutorial but don't want to use the shell script because it also failed to apply the mangle rule.

Best Answer

You have to add the SNAT rule to the nat table and not mangle.

You could also add the rule directly to the active table using:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o wlan0 -j SNAT --to-source 192.168.1.230

And if everything is working save it to a file using:

iptables-save > file