SNAT (Source NAT)
a. 当一个数据包由企业内网主机(ipA)发往一个互联网主机地址(ipC)的时候,被路由到防火墙所在的主机B(外网出口为ipB)
b. 防火墙在【nat· POSTROUTING】 部分修改数据包的源地址(改为src:ipB,dst:ipC),然后经过互联网发往ipC。
c. C在收到数据包后,生成响应包(src:ipC,dst:ipB),经过互联网响应给ipB。
d. 防火墙在【nat· POSTROUTING】 部分修改响应包的目的地址(改为src:ipB,dst:ipA),然后经过企业内网发往ipA。
上述过程,通过iptable的方式修改nat· POSTROUTING的映射,改变数据包的source地址来
SNAT中,将请求数据包的源地址替换时,端口一般不替换,即A用什么端口B就用什么端口,但若产生冲突,即C、D使用同一随机端口,B可以将端口替换为其他空闲端口,否则当C或D的响应包到达时,B就不知道替换为C还是D了,端口和IP都进行修改,称为PNAT。
DNAT (Destination NAT)
a. 互联网主机(ipC)想访问处于企业内网服务器A的时候,A的地址ipA是私有地址,无法直接访问。此时C可以访问处于公网的防火墙地址ipB
b. C的请求包(src:ipC, dst:ipB )被路由到防火墙B
c. 防火墙在【nat·PREROUTING】的部分修改目的地址(改为src:ipC,dst:ipA),然后发送给A
d. 服务器A收到收到请求包后生成响应包(src:ipA , dst:ipC),然后路由到防火墙B
e. 防火墙在【nat·PREROUTING】的部分修改源地址(改为src:ipB,dst:ipC)