[转]Iptables 指南 1.1.19
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
在这个例子中,我们假设一个包的目的是另一个网络中的一台机子。让我们来看看这个包的旅程:
Table 3-3. 被转发的包
| Step | Table | Chain | Comment |
|---|---|---|---|
| 1 | 在线路上传输(比如,Internet) | ||
| 2 | 进入接口(比如, eth0) | ||
| 3 | mangle | PREROUTING | mangle数据包,,比如改变TOS等。 |
| 4 | nat | PREROUTING | 这个链主要用来做DNAT。不要在这个链做过虑操作,因为某些情况下包会溜过去。稍后会做SNAT。 |
| 5 | 路由判断,比如,包是发往本地的,还是要转发的。 | ||
| 6 | mangle | FORWARD | 包继续被发送至mangle表的FORWARD链,这是很特别的情况才会用到的。在这里,包被mangle(还记得mangle的意思吗)。这次mangle发生在最初的路由判断之后,在最后一次更改包的目的之前(译者注:就是下面的FORWARD链所做的,因其过滤功能,可能会改变一些包的目的地,如丢弃包)。 |
| 7 | filter | FORWARD | 包继续被发送至这条FORWARD链。只有需要转发的包才会走到这里,并且针对这些包的任何过滤也在这里进行。注意,任何要转发的包都要经过这里,不管是外网到内网的还是内网到外网的。在您自己书写规则时,要考虑到这一点。 |
| 8 | mangle | POSTROUTING | 这个链也是针对一些特别类型的包(译者注:参考第6步,我们能够发现,在转发包时,mangle表的两个链都用在特别的应用上)。这一步mangle是在任何更改包的目的地址的操作完成之后做的,但这时包还在本地上。 |
| 9 | nat | POSTROUTING | 这个链就是用来做SNAT的,当然也包括Masquerade(伪装)。但不要在这儿做过滤,因为某些包即使不满足条件也会通过。 |
| 10 | 离开接口(比如: eth0) | ||
| 11 | 又在线路上传输了(比如,LAN) |
就如您所见的,包要经历很多步骤,而且他们能够被阻拦在任何一条链上,或是任何有问题的地方。我们的主要兴趣是iptables的概貌。注意,对不同的接口,是没有什么特别的链和表的。任何要经防火墙/ 路由器转发的包都要经过FORWARD链。
![]() | 在上面的情况里,不要在INPUT链上做过滤。INPUT是专门用来操作那些以我们的机子为目的地址的包的,他们不会被路由到其他地方的。 |
现在,我们来看看在以上三种情况下,用到了哪些不同的链。图示如下:

要弄清楚上面的图,能够这样考虑。在第一个路由判断处,不是发往本地的包,我们会发送他穿过 FORWARD链。若包的目的地是本地监听的IP地址,我们就会发送这个包穿过INPUT链,最后到达本地。
值得注意的是,在做NAT的过程中,发往本机的包的目的地址可能会在PREROUTING链里被改变。这个操作发生在第一次路由之前,所以在地址被改变之后,才能对包进行路由。注意,任何的包都会经过上图中的某一条路径。假如您把一个包DNAT回他原来的网络,这个包会继续走完相应路径上剩下的链,直到他被发送回原来的网络。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




