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

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

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

还要注意,在一些老版(1.2.2或更低)的iptables中包含的这个target在配置了TOS之后,不会调整包的校验和,这样包会被认为是错误的并需要重发。而且,这很可能会导致更多的mangle操作,从而使整个连接无法工作。(译者注:好在我们现在不会再用这么老的版本了:) )

TOS target只有一个选项:

Table 6-23. TOS target

Option--set-tos
Exampleiptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10
Explanation配置TOS的值,值的形式能够是名字或使相应的数值(十进制或16进制的)。一般情况下,建议您使用名字而不使用数值形式,因为以后这些数值可能会有所改变,而名字一般是固定的。TOS字段有8个二进制位,所以可能的值是0-255(十进制)或0x00-0xFF(16进制)。如前所述,您最好使用预定义的值,他们是:

1、Minimize-Delay 16 (0x10),需要找一条路径使延时最小,一些标准服务如telnet、SSH、FTP- control 就需要这个选项。

2、Maximize-Throughput 8 (0x08),需要找一条路径能使吞吐量最大,标准服务FTP-data能用到这个。

3、Maximize-Reliability 4 (0x04),需要找一条路径能使可靠性最高,使用他的有BOOTP和TFTP。

4、Minimize-Cost 2 (0x02),需要找一条路径能使费用最低,一般情况下使用这个选项的是一些视频音频流协议,如RTSP(Real Time Stream Control Protocol)。

5、Normal-Service 0 (0x00),一般服务,没有什么特别需要。这个值也是大部分包的缺省值。

完整的列表能够通过命令iptables -j TOS -h

得到。在1.2.5版时,这个列表就已是完整的了,而且会保持很长一段时间。

6.5.14. TTL target

Caution

这个target需要patch-o-matic里的名为TTL的patch,可从 http://www.netfilter.org获得。此站点的FAQ是开始学习iptables和Netfilter的好地方。

TTL能够修改IP头中Time To Live字段的值。他有很大的作用,我们能够把任何外出包的Time To Live值都改为相同的,比如64,这是Linux的默认值。有些ISP不允许我们共享连接(他们能够通过TTL的值来区分是不是有多个机子使用同一个连接),假如我们把TTL都改为相同的值,他们就不能再根据TTL来判断了。

关于任何配置Linux的TTL默认值,请参阅附录其他资源和链接 内的ip-sysctl.txt

TTL只能在mangle表内使用,他有3个选项:

Table 6-24. TTL target

Option--ttl-set
Exampleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
Explanation配置TTL的值。这个值不要太大,也不要太小,大约64就很好。值太大会影响网络,而且有点不道德,为什么这样说呢?假如有些路由器的配置不太正确,包的TTL又很大,那他们就会在这些路由器之间往返很多次,值越大,占用的带宽越多。这个target就能够被用来限制包能走多远,一个比较恰当的距离是刚好能到达DNS服务器。
Option--ttl-dec
Exampleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1
Explanation设定TTL要被减掉的值,比如--ttl-dec 3。假设一个进来的包的TTL是53,那么当他离开我们这台机子时,TTL就变为49了。为什么不是50呢?因为经过我们这台机子,TTL本身就要减1,还要被TTL target再减3,当然总共就是减去4了。使用这个 target能够限制“使用我们的服务的用户”离我们有多远。比如,用户总是使用比较近的DNS,那我们就能够对我们的DNS服务器发出的包进行几个--ttl-dec。(译者注:意思是,我们只想让距离DNS服务器近一些的用户访问我们的服务)当然,用--set-ttl控制更方便些。
Option--ttl-inc
Exampleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
Explanation设定TTL要被增加的值,比如--ttl-inc 4。假设一个进来的包的TTL是53,那么当他离开我们这台机子时,TTL应是多少呢?答案是56,原因同--ttl-dec。使用这个选项能够使我们的防火墙更加隐蔽,而不被trace-routes发现,方法就是配置--ttl-inc 1。原因应该很简单了,包每经过一个设备,TTL就要自动减1,但在我们的防火墙里这个1又被补上了,也就是说,TTL的值没变,那么trace-routes就会认为我们的防火墙是不存在的。Trace-routes让人又爱又恨,爱他是因为在连接出问题时,他能够给我们提供极有用的信息,告诉我们哪里有毛病;恨他是由于他也能够被黑客或骇客用来收集目标机器的资料。怎么使用他呢?这里有个很好的例子,请看脚本Ttl-inc.txt

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