| 作者:lishicun 1、下载linux 2.4.31内核,解开 2、从http://ebtables.sourceforge.net/ 下载ebtables-brnf内核补丁,用diff命令为内核打上补丁 3、下载iptables最新的内核版本和用户端版本,安装好 4、从www.ipp2p.org 下载ipp2p软件包,编译,安装 5、编译linux内核,注意要把iptables, QoS的相关选项打开,最好把所有的相关项都编译成模块。 6、编写如下的脚本 #!/bin/sh # the modules used here are: cls_fw sch_htb ipt_ipp2p ipt_MARK ipt_mark ipt_CONNMARK iptable_mangle iptable_filter ip_tables iptables -F -t mangle iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT iptables -A PREROUTING -t mangle -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1 iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark tc class del dev eth0 classid 1:12 tc class del dev eth0 classid 1:10 tc class del dev eth0 classid 1:1 tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: htb default 12 tc class add dev eth0 parent 1: classid 1:1 htb rate 1000mbit ceil 1000mbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100kbit # ceil 100kbps # tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1000mbit ceil 1000mbit tc qdisc add dev eth0 parent 1:10 handle 20: sfq perturb 10 # pfifo limit 5 # tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 5 tc qdisc add dev eth0 parent 1:12 handle 40: sfq perturb 10 tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:10 #tc filter add dev eth1 parent 2:0 protocol ip prio 4 handle 1 fw classid 2:11 在这个脚本中,tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100kbit 这一句最为重要,其中的100kbit表示把流速限制在100kbit。 |
使用ipp2p+iptables实现p2p协议的限流
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
P2P协议简介
最近因为有些需要业务大文件分发,传统文件分发策略都是中心化,要么是推送,要么是拉取,中心节点很容易成为瓶
p2p 下载者 服务器 官网 -
P2P协议学习
据流量分散化,同时管理点不仅没有服
搜索 服务器 结构化 -
P2P协议网络
中间实体。
个人电脑 硬件资源 服务器 直接访问 网络连接
















