曲径通幽论坛

标题: PREROUTING 和 POSTROUTING, SNAT 和 DNAT [打印本页]

作者: beyes    时间: 2012-5-16 11:43
标题: PREROUTING 和 POSTROUTING, SNAT 和 DNAT
NAT (网络地址转换) 技术在平时是很多见的,如家庭中在使用路由器共享上网时,一般用的就是 NAT 技术,它可以实现众多内网 IP 共享一个公网 IP 上网。NAT 的原理 简单的说就是当内网主机访问外网时,当内网主机的数据包要通过路由器时,路由器将数据包中的源内网 IP 地址改为路由器上的公网 IP 地址,同时记录下该数据包的消息;当外网服务器响应这次由内而外发出的请求或数据交换时,当外网服务器发出的数据包经过路由器时,原本是路由器上的公网 IP 地址被路由器改为内网 IP 。工作原理如下图所示:
[attach]446[/attach][attach]447[/attach]

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

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

PREROUTING
当外网的数据包进入到内网时,我们需要修改数据包中的公网 IP 为内网的主机 IP,这种 SNAT 的行为规则就要在 PREROUTING 链里添加。

POSTROUTING
和 PREROUTING 不同,在执行 DNAT 任务时的行为规则就添加在 POSTROUTING 链中。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2