iptables: Applying firewall rules: iptables-restore FAILED

VPS OS: CentOS 6

I added below lines in the "/etc/sysconfig/iptables"

-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p udp --dport 4500 -j ACCEPT
-t nat -A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE
-A FORWARD -s 10.12.0.0/24 -j ACCEPT

Then the command "service iptables restart" said:

iptables: Setting chains to policy ACCEPT: security raw nat[ OK ]filter

iptables: Flushing firewall rules: [ OK ]

iptables: Unloading modules: [ OK ]

iptables: Applying firewall rules: iptables-restore: line 3 failed

[FAILED]

It seem that the POSTROUTING line encountered errors.

Would you please help me check this issue and give me some suggestion on it?

1 Reply

-t nat is not valid syntax for iptables-restore. You need to find the *nat section in /etc/sysconfig/iptables and add your rule there. Something like this:

...
# Completed on Fri Aug 29 13:05:29 2014
# Generated by iptables-save v1.3.5 on Fri Aug 29 13:05:29 2014
*nat
:PREROUTING ACCEPT [22068:3016900]
:POSTROUTING ACCEPT [38126:2628174]
:OUTPUT ACCEPT [38390:2644260]
-A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE
COMMIT
...

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct