ipp2p问题
各位大虾,我这段时间在弄iptables+tc限速。
原环境为:iptables1.3.5 2.6.18-92.e15
安装包如下:
iptables1.3.8
ipp2p-0.99.15.tar.gz
patch-o-matic-ng-20090215.tat.bz2
现在已经升级iptables,加载connlimit和ipp2p模块
已经可以禁BT,但是公司某些工作人员需要BT下载。
现在对特殊IP做的标记只对他的流量生效,依然是多线程。
下面是偶安装升级的步骤,请教各位大虾指教!
1.准备好所需的安装包。
iptables-1.3.8.tar.bz2 \iptables1.3.8安装源码包
patch-o-matic-ng-20090215.tat.bz2 \iptables1.3.8源码包补丁
ipp2p-0.99.15.tar.gz \ipp2p模块,能够限制迅雷,BT,QQ旋风等下载工具
2.将其解压到/usr/src下
tar jxvf iptables-1.3.8.tar.bz2 –C /usr/src
将iptables源码包解压,指定路径
tar jxvf patch-o-matic-ng-20090215.tar.bz2 –C /usr/src
将iptables补丁包解压,指定路径
tar zxvf ipp2p-0.99.15.tar.gz –C /usr/src
将ipp2p模块解压,指定路径
3.为源码包做软链接
ln –s kernels/2.6.18-92.e15-i686 linux
ln –s iptables1.3.8 iptables
4.升级iptables和加载模块
cd iptables 进入iptables目录
make KERNEL_DIR=/usr/src/kernels/2.6.18-92.el5-i686
make install KERNEL_DIR=/usr/src/kernels/2.6.18-92.el5-i686
service iptables stop 停止iptables服务
ldconfig /usr/local/sbin/iptables 链接1.3.8iptables安装路径
cd patch-o-matic-ng-20090215 进入目录:
下载模块:
KERNEL_DIR=/usr/src/kernels/2.6.18-92.el5-i686/ IPTABLES_DIR=/usr/src/iptables ./runme --download
屏幕显示
Loading patchlet definitions........... done
Welcome to Patch-o-matic ($Revision$)!
--------------------------------------------------------------
Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] y ( 这里要输入Y)
Excellent! Source trees are ready for compilation.
5.编译内核:
cd /usr/src/linux
make oldconfig
屏幕输入省略,但会停住在
Connections/IP limit match support (IP_NF_MATCH_CONNLIMIT) [N/m/?] (NEW)
此时输入 m 回车即可。
make modules_prepare
备份原来的Makefile
mv net/ipv4/netfilter/Makefile net/ipv4/netfilter/Makefile.bak
创建新的Makefile
nano net/ipv4/netfilter/Makefile
内容如下:
obj-m := ipt_connlimit.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
保存退出。
编译模块:
make M=net/ipv4/netfilter/
拷贝生成的KO模块,并设置相应权限
net/ipv4/netfilter/ipt_connlimit.ko
cp net/ipv4/netfilter/ipt_connlimit.ko
/lib/modules/2.6.18-92.el5/kernel/net/ipv4/netfilter/
chmod 744 /lib/modules/2.6.18-92.el5/kernel/net/ipv4/netfilter/
编译完成。
五.安装IPP2P模块
cd /usr/src/ipp2p-9.15/
安装
Make
拷贝so文件
cp libit_ipp2p.so /usr/local/lib/iptables
测试并应用模块
depmod -a
加载模块
modprobe ipt_connlimit
modprobr ip2_ipp2p
检查是否加载成功
Iptables -m ipp2p --help
Iptables -A FORWARD -m --ipp2p --xunlei -j DROP
下面是一些设置:
允许多特使用P2P (多特组IP标记为90,标记语句在/etc/rc.filter)
if [ "$Disable_P2P_duote" = "0" ];then
$IPTABLES -A FORWARD -m mark --mark 90 -j ACCEPT
fi
如果禁用局域网内的P2P则(全网,除多特)
if [ "$Disable_P2P_Lan" = "1" ];then
$IPTABLES -A FORWARD -s $INSIDE_RANGE -m ipp2p --xunlei -j DROP
$IPTABLES -A FORWARD -s $INSIDE_RANGE -d ! $ROUTER_RANGE -m ipp2p --ipp2p -j DROP
fi
对特殊IP做标记
$IPTABLES -t mangle -A FORWARD -d 192.168.0.243 -s ! $ROUTER_RANGE -j MARK --set-mark 90
$IPTABLES -t mangle -A PREROUTING -s 192.168.0.243 -d ! $ROUTER_RANGE -j MARK --set-mark 90
请大家帮帮忙!!!
[ 本帖最后由 pengqingqing 于 2010-1-21 11:15 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
各位大虾帮帮忙!自己顶下!!