SNAT: Source Network Address Translation,是修改网络包源ip地址的。
DNAT: Destination Network Address Translation,是修改网络包目的ip地址的。
SNAT 和 DNAT 是 iptables 中使用 NAT 规则相关的的两个重要概念。如果内网主机访问外网而经过路由时,源 IP 会发生改变,这种变更行为就是 SNAT;反之,当外网的数据经过路由发往内网主机时,数据包中的目的 IP (路由器上的公网 IP) 将修改为内网 IP,这种变更行为就是 DNAT 。
与 SNAT 和 DNAT所对应的两个链分别是 POSTROUTING和PREROUTING 。
SNAT 对应POSTROUTING
DNAT 对应PREROUTING
POSTROUTING是源地址转换,要把你的内网地址转换成公网地址才能让你上网。
PREROUTING是目的地址转换,要把别人的公网IP换成你们内部的IP,才让访问到你们内部受防火墙保护的机器,
记住PREROUTING是“路由规则”之前的动作,POSTROUTING是“路由规则”之后的动作