Chinaunix

标题: iptables增加mangle表的set mark反而变慢!! [打印本页]

作者: webyuhang    时间: 2006-11-02 09:21
标题: iptables增加mangle表的set mark反而变慢!!
各位:
偶的机器是DELL 1850 P42.8/2G/SCSI 73
OS: REDHAT AS 4
操作: 升级IPTABLES 1.3.5V。增加ipp2p,string,time等模块

网络性能调优如下:
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 (2.4没有找到这个参数)
sysctl -w net.ipv4.ip_conntrack_max=500000

共享上网脚本如下:

iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X
##FORWARD RULES  
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to 218.249.109.132

##INPUT CHAINS
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 110,80,25,8080,5666,22,3128 -j ACCEPT
iptables -P INPUT DROP
#----------SYN connect limit 15 for LAN------------------------------------------------------------
iptables -A INPUT -s 192.186.0.0/24 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INFO --log-prefix "ICMP packet IN: "
iptables -A INPUT -p icmp -s 192.168.0.137/32 -j ACCEPT
iptables -A INPUT -p icmp -j DROP

## SYN-FLOOD
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT

##FORWARD port rules
iptables -P FORWARD ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

##deny all ipp2p
iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP
iptables -A FORWARD -p tcp -m ipp2p --ares -j DROP
iptables -A FORWARD -p udp -m ipp2p --kazaa -j DROP
iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 24 -j DROP

想增加2个mangle表的WEB浏览的优先级别
## WEB LEVEL
iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 80 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 80 -j RETURN

反而觉得变慢了,???
作者: webyuhang    时间: 2006-11-02 10:16
期待高手,期待白金!!!
作者: cexoyq    时间: 2006-11-02 10:41
使网络变慢的是:
“##deny all ipp2p
iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP
iptables -A FORWARD -p tcp -m ipp2p --ares -j DROP
iptables -A FORWARD -p udp -m ipp2p --kazaa -j DROP
iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 24 -j DROP

你把它#掉就知道了,
作者: webyuhang    时间: 2006-11-02 11:07
谢谢楼上的回答,可是我要禁止一些p2p的下载啊。难道是鱼和熊掌的关系??
作者: kenduest    时间: 2006-11-02 12:16
原帖由 webyuhang 于 2006-11-2 11:07 发表
谢谢楼上的回答,可是我要禁止一些p2p的下载啊。难道是鱼和熊掌的关系??


應該是。不過多個 -m state --state NEW 測看看是否有改進。

  1. iptables -A FORWARD -m state --state NEW -m ipp2p --edk --kazaa --bit -j DROP
复制代码


--
作者: webyuhang    时间: 2006-11-02 13:31
恩,我原来就已经把这2条规则加在上面了。
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD  -m ipp2p --ipp2p -j DROP
难道,大家都是忍受着速度在工作?
有什么好的办法?
作者: skyy23    时间: 2006-11-02 15:21
--connlimit-mask 24

一个C段就15个 http 连接?
作者: lovegqin    时间: 2006-11-02 16:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: webyuhang    时间: 2006-11-03 11:06
原帖由 lovegqin 于 2006-11-2 16:17 发表
强烈建议LZ把在kernel2.6上打补丁,并升级iptables的步骤贴出来
谢谢!!!

我也曾经在 centos 4.4上做编译但打不上string模块,最后流产了。。。
个人觉得2.4内核在编译或者使用模块补丁的时候,技术还是比较成熟的。。。。
作者: webyuhang    时间: 2006-11-03 14:03
原帖由 skyy23 于 2006-11-2 15:21 发表
--connlimit-mask 24

一个C段就15个 http 连接?


设置多少为好?

我觉得还是ipp2p下载导致数据包流到iptables forward里匹配了规则,导致过慢。我注释掉ipp2p,效果会好很多!

另外,我又看了一下白金的经典,觉得设置set mark用处不大,他似乎是结合iproute2来进行多路由选择。进而选择设置set tos .由于数据包最先 匹配的是mangle PREROUTING。所以设置了这样的规则

[root@gateway shell]# iptables -L -nv -t mangle
Chain PREROUTING (policy ACCEPT 35M packets, 26G bytes)
pkts bytes target     prot opt in     out     source               destination         
610K   78M TOS        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 TOS set 0x10

而后,我访问80端口,通过
tcpdump -i eth0 -v -v -n host 192.168.0.137
看不到我设置的效果,数据包头里都看不到TOS值,不知道为何?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2