找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6258|回复: 3

通过对TOS的优化提高防火墙性能

[复制链接]
发表于 2004-12-26 12:06:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
关键字: Linux;防火墙技术 来  源: LinuxAid  通过对TOS的优化提高防火墙性能  作者:牛牛爱猪猪 发文时间:2003.12.01  摘要 本文讲述了如何通过对TOS的优化来提高防火墙的整体性能 为了让Iptables对封包过滤规则更有效率,我们可以通过加载ipt_TOS模块来对各种类型的传输协议来做优化处理,从而来提高整体的性能,而针对ipchains我们可以通过其-t参数来做。IP地址包大家都知道是各种封包的基础,而在IP地址封包的标头(header)的TOS(type-of-service)字段里面,则可以设置处理封包的执行效率。 IP地址封包标头的TOs字段由8位组成,可以由一个十六进制描述,在这8位里,前3位舍弃不用,最后一位固定是0,中间的四个位分别来控制封包的:最小延时,最大处理量,最大可靠度和最小花费。这四个位只有一位是1。如果用十六进制来描述这四种状态的话,分别是0x10,0x08,0x04,0x02。如果四个位都是0,则表示正常运行,不做封包的特殊处理。 不同的传输协议在封包的传输上由其不同的特性,比如telnet,http类型封包需要最小延迟控制;ftp类型封包需要最小延迟与最大处理量控制;snmp类型封包需要最大可靠度,而icmp则不需要做任何控制。为了让封包的传递能得到优化,当设置防火墙规则时,可以使用iptables的参数tos来对IP地址封包头的TOS字段做设置,以得到最佳的传输品质。 iptables中为在-j TOS --set-tos 后面接你想要的优化方式(参照iptables -j TOS -h),而在Ipchains中则是在-t后面接十六进制码,第一个十六进制码会与IP地址封包头的TOS字段做AND运算,其处理结果会与参数-t后的第二个十六进制码再做XOR运算,最后处理结果则写入IP地址封包头的TOS字段,用来控制封包传输优化.因此,如果要控制封包传输:最小延时,最大处理量,最大可靠度和最小花费等,则可以使用Ipchains -t 设置如下:

QUOTE
1.最小延迟:ipchains -t 0x01 0x10 2.最大处理量:ipchains -t 0x01 0x8 3.最大可靠度:ipchains -t 0x01 0x4 4.最小花费:ipchains -t 0x01 0x02
而iptables的设置则简单一些直接用iptables -j TOS -h里面得到的数字值 比如我要优化telnet的TOS我可以用一下语句来进行

QUOTE
iptables -A PREROUTING -t mangle -p tcp --dport telnet -j TOS --set-tos Minimize-Delay
而在ipchains中我可以这样:

QUOTE
ipchains -A output -p tcp -d 0.0.0.0/0 telnet -t 0x01 0x10
以上两个语句执行的效果是等同的. 以下是iptables -j TOS -h 后得到的帮助中的可以使用的数字值

QUOTE
TOS target v1.2.7a options:  --set-tos value Set Type of Service field to one of the                            following numeric or descriptive values:                                Minimize-Delay 16 (0x10)                                Maximize-Throughput 8 (0x08)                                Maximize-Reliability 4 (0x04)                                Minimize-Cost 2 (0x02)                                Normal-Service 0 (0x00)
大家可以在初始化防火墙且尚未设置防火墙规则时,先为各种类型封包设置最佳处理模式,以下的两组语句针对不同的两种情况: 1.针对使用iptables的朋友

QUOTE
iptables -A PREROUTING -t mangle -p tcp --dport telnet \-j TOS --set-tos Minimize-Delayiptables -A PREROUTING -t mangle -p tcp --dport ftp -j TOS \--set-tos Minimize-Delayiptables -A PREROUTING -t mangle -p tcp --dport ftp-data -j \TOS --set-tos Maximize-Throughputiptables -A PREROUTING -t mangle -p tcp --dport www -j TOS \--set-tos Minimize-Delayiptables -A PREROUTING -t mangle -p tcp --dport smtp -j TOS \--set-tos Maximize-Throughputiptables -A PREROUTING -t mangle -p tcp --dport domain -j TOS \--set-tos Maximize-Throughputiptables -A PREROUTING -t mangle -p udp --dport domain -j TOS \--set-tos Minimize-Delayiptables -A PREROUTING -t mangle -p tcp --dport pop3 -j TOS \--set-tos Minimize-Cost
2.针对使用ipchains的朋友

QUOTE
ipchains -A output -p tcp -d 0.0.0.0/0 telnet -t 0x01 0x10ipchains -A output -p tcp -d 0.0.0.0/0 ftp -t 0x01 0x10ipchains -A output -p tcp -d 0.0.0.0/0 ftp-data -t 0x01 0x08ipchains -A output -p tcp -d 0.0.0.0/0 www -t 0x01 0x10ipchains -A output -p tcp -d 0.0.0.0/0 smtp -t 0x01 0x08ipchains -A output -p tcp -d 0.0.0.0/0 dns -t 0x01 0x08ipchains -A output -p udp -d 0.0.0.0/0 dns -t 0x01 0x10ipchains -A output -p tcp -d 0.0.0.0/0 pop3 -t 0x01 0x02
routeros
发表于 2005-1-12 13:58:41 | 显示全部楼层
不行的!isp不支持!
routeros
回复

使用道具 举报

发表于 2005-1-13 16:50:30 | 显示全部楼层
这个有效果,优先处理请求...楼上说的不是楼主的问题...应该是看错了吧///这是对内控制....
routeros
回复

使用道具 举报

发表于 2005-1-26 01:09:08 | 显示全部楼层
没有什么意义呀,对内吗?怎样对内呢?不行的!我不太明白你的说的优先?
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-9-19 09:03 , Processed in 0.045096 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表