还要注意,在一些老版(1.2.2或更低)的iptables中包含的这个target在配置了TOS之后,不会调整包的校验和,这样包会被认为是错误的并需要重发。而且,这很可能会导致更多的mangle操作,从而使整个连接无法工作。(译者注:好在我们现在不会再用这么老的版本了:) )
Iptables 指南 1.1.19(中文版)(三)
TOS target只有一个选项:
Table 6-23. TOS target
| Option | --set-tos |
| Example | iptables -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
![]() | 这个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 |
| Example | iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64 |
| Explanation | 配置TTL的值。这个值不要太大,也不要太小,大约64就很好。值太大会影响网络,而且有点不道德,为什么这样说呢?假如有些路由器的配置不太正确,包的TTL又很大,那他们就会在这些路由器之间往返很多次,值越大,占用的带宽越多。这个target就能够被用来限制包能走多远,一个比较恰当的距离是刚好能到达DNS服务器。 |
| Option | --ttl-dec |
| Example | iptables -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 |
| Example | iptables -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。
文章整理:西部数码--专业提供域名注册、虚拟主机服务 相关文章
热点关注
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源 网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧 行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒 网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它 服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护 软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer 网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash 程序设计 Java技术 C/C++ VB delphi 网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术 操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD |




