1.如何区分iptables的PREROUTING和POSTROUTING链

(引自http://jingyan.baidu.com/article/aa6a2c143d84470d4c19c4cf.html)

*mangle
#-A PREROUTING -i wlan0 -j TTL --ttl-inc 1
#-A POSTROUTING -o wlan0  -j TTL --ttl-dec 1
COMMIT

上面的两条命令来自iptables配置文件/etc/sysconfig/iptables的mangle表部分,被我注释掉了,这两条命令都是正确的,但是不可以同时开启,同一时间只能使用一个。

prerouting 后面必须是 -i (进站),如果用ttl的话必须是 increase

postrouting 后面必须是 -o (出站),如果是ttl的话必须是decrease

此外,prerouting 和postrouting 也经常用于NAT配置网关机进行网络地址转换使用,这时候有一下规律:

PREROUTING是目的地址转换(DNAT),要把别人的公网IP换成你们内部的IP,才让访问到你们内部受防火墙保护的服务器。

POSTROUTING是源地址转换(SNAT),要把你内部网络上受防火墙保护的ip地址转换成你本地的公网地址才能让它们上网。