手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Iptables 指南 1.1.19(中文版)(三)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
Match--ttlExampleiptables -A OUTPUT -m ttl --ttl 60Explanation根据TTL的值来匹配包,参数的形式只有一种,就是十进制数值。他能够被用来调试您的局域网,比如解决LAN内的主机到Internet上的主机的连接问题,或找出 Trojan(Trojan)可能的入口。这个match的用处相对有限,但他其实是很有用的,这就看您的想象力如何了。比如能够用他来发现那些TTL具备错误缺省值的机子(这可能是实现TCP/IP栈功能的那个程式本身的错误,或是配置有问题)。

6.4.4. 针对非正常包的匹配

这个匹配没有任何参数,也无需显式地装载。注意这应该被看作是个实验性的匹配,他不总是能正常工作的,对有些不正常的包(unclean package,就是所谓的脏包)或问题,他是视而不见的。这个match 试图匹配那些好象畸形或不正常的包,比如包头错或校验和错,等等。他可能常用来DROP错误的连接、检查有错的流,但要知道这样做也可能会中断合法的连接。


6.5. Targets/Jumps

target/jump决定符合条件的包到何处去,语法是--jump target-j target。(译者注:本文中,原作者把target细分为两类,即Target和Jump。他们唯一的区别是jump的目标是个在同一个表内的链,而target的目标是具体的操作。)我们会先接触到两个基本的target,就是ACCEPT和DROP。

前面提到过用户自定义链要用到-N命令。下面我们在filter表中建一个名为tcp_packets的链:

iptables -N tcp_packets

然后再把他作为jump的目标:

iptables -A INPUT -p tcp -j tcp_packets

这样我们就会从INPUT链跳入tcp_packets链,开始在tcp_packets中的旅行。假如到达了tcp_packets链的结尾(也就是未被链中的任何规则匹配),则会退到INPUT链的下一条规则继续他的旅行。假如在子链中被ACCEPT了,也就相当于在父链中被ACCEPT了,那么他不会再经过父链中的其他规则。但要注意这个包能被其他表的链匹配,过程可查看章节 表和链

target指定我们要对包做的操作,比如DROP和ACCEPT,更有很多,我们后面会介绍。不同的target有不同的结果。一些target会使包停止前景,也就是不再继续比较当前链中的其他规则或父链中的其他规则,最好的例子就是DROP和ACCEPT。而另外一些target在对包做完操作之后,包还会继续和其他的规则比较,如LOGULOGTOS。他们会对包进行记录、mangle,然后让包通过,以便匹配这条链中的其他规则。有了这样的target,我们就能够对同一个包既改变他的TTL又改变他的TOS。有些target必须要有准确的参数(如TOS需要确定的数值),有些就不是必须的,但假如我们想指定也能够(如日志的前缀,伪装使用的端口,等等)。本节我们会尽可能全面地介绍每一个target。现在我们就来看看有哪几种target。


6.5.1. ACCEPT target

这个target没有任何选项和参数,使用也很简单,指定-j ACCEPT即可。一旦包满足了指定的匹配条件,就会被ACCEPT,并且不会再去匹配当前链中的其他规则或同一个表内的其他规则,但他还要通过其他表中的链,而且在那儿可能会百DROP也说不准哦。


6.5.2. DNAT target

这个target是用来做目的网络地址转换的,就是重写包的目的IP地址。假如一个包被匹配了,那么和他属于同一个流的任何的包都会被自动转换,然后就能够被路由到正确的主机或网络。DNAT target是很有用的。比如,您的Web服务器在LAN内部,而且没有可在Internet上使用的真实IP地址,那就能够使用这个 target让防火墙把任何到他自己HTTP端口的包转发给LAN内部真正的Web服务器。目的地址也能够是个范围,这样的话,DNAT会为每一个流随机分配一个地址。因此,我们能够用这个target做某种类型地负载平衡。

注意,DANT target只能用在nat表的PREROUTING和OUTPUT链中,或是被这两条链调用的链里。但还要注意的是,包含DANT target的链不能被除此之外的其他链调用,如POSTROUTING。

Table 6-16. DNAT target

Option--to-destination
Exampleiptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.1.1-192.168.1.10
Explanation指定要写入IP头的地址,这也是包要被转发到的地方。上面的例子就是把任何发往地址15.45.23.67的包都转发到一段LAN使用的私有地址中,即192.168.1.1到 192.168.1.10。如前所述,在这种情况下,每个流都会被随机分配一个要转发到的地址,但同一个流总是使用同一个地址。我们也能够只指定一个IP地址作为参数,这样任何的包都被转发到同一台机子。我们还能够在地址后指定一个或一个范围的端口。比如:--to-destination 192.168.1.1:80--to-destination 192.168.1.1:80-100

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!