postrouting 和protrouting 的使用、区别

SNAT 和 DNAT 是 iptables 中使用 NAT 规则相关的的两个重要概念。如上图所示,如果内网主机访问外网而经过路由时,源 IP 会发生改变,这种变更行为就是 SNAT;反之,当外网的数据经过路由发往内网主机时,数据包中的目的 IP (路由器上的公网 IP) 将修改为内网 IP,这种变更行为就是 DNAT 。

与 SNAT 和 DNAT所对应的两个链分别是  POSTROUTING和PREROUTING  。

postrouting一般指的是发往公网的数据包;

prerouting一般指来自公网的数据包!

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

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

例子

-A PREROUTING -d 高防电信IP/32 -p tcp -m tcp –dport 80 -j DNAT –to-destination 源站IP:源站web端口

-A PREROUTING -d 高防联通IP/32 -p tcp -m tcp –dport 80 -j DNAT –to-destination 源站IP:源站web端口

-A POSTROUTING -p tcp -m tcp –dport 源站web端口 -j SNAT –to-source 高防电信IP

-A POSTROUTING -p tcp -m tcp –dport 源站web端口 -j SNAT –to-source 高防联通IP

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注