看内核的版本 uname -a
看iptables版本 iptables -V
首先下载对应自己系统版本的iptables源码:www.iptables.org 使用wget
然后下载最新的ipp2p补丁:www.ipp2p.org
先看介绍:
kernel
It is always a good idea to use the latest stable kernel because of recent bugfixes and improved stability. During it's development IPP2P was successful used with the following kernel versions:
2.4.18, 2.4.19, 2.4.20, 2.4.21, 2.4.22, 2.4.23, 2.4.26
2.6.3, 2.6.4, 2.6.6
This does NOT mean that IPP2P may not run together with other kernel versions but it was not tested yet. If someone finds out that IPP2P also is running stable with other kernel versions feel free to inform the author (contact). A very important source for updates of the netfilter code is the patch-o-matic next generation system (POM-ng) available at the netfilter homepage. It contains the latest bugfixes and netfilter extensions (like CLASSIFY, CONNMARK, ...). The daily snapshots may be a good choice to get the very latest kernel updates. IPP2P is also included in POM-ng. If you don't want to use the source tarball grep latest POM-ng snapshot and run "./runme ipp2p" to install IPP2P only or "./runme extra" for IPP2P and some other updates. You'll need to enable IPP2P support in kernel config and recompile kernel and iptables.
iptables
As said with kernel try to use a recent version of iptables as well. We used the following versions of iptables without any problems:
1.2.7a, 1.2.8, 1.2.9rc1, 1.2.9, 1.2.11
It is also possible (and likely) that IPP2P runs together with older versions as well but we're lacking of experiences on this issue. New versions of iptables are released in unsteady intervals at the netfilter homepage.
呵呵最低支持标准啊!~~
解iptables源码至/usr/src/iptables-1.2.7a
解ipp2p-0.8.0_rc3.tar.gz至 /root/download/ipp2p-0.8.0_rc3
cd /root/download/ipp2p-0.8.0_rc3
vi Makefie
找到IPTABLES_SRC = /usr/src/iptables
改为IPTABLES_SRC = /usr/src/iptables-1.2.7a (刚才我们下载了对应系统的源码并解压到了这里)
好了,保存退出。在ipp2p-0.8.0_rc3目录下执行
make
cp libipt_ipp2p.so /lib/iptables/
cp ipt_ipp2p.o /lib/modules/
insmod ipt_ipp2p.o
好了,这就可以使用iptables的参数了。
iptables -A FORWARD -m ipp2p --ipp2p -j DROP
iptables -L 查看FORWARD多了条规则。
顺便自己做成脚本。添加3项:
/sbin/insmod /root/download/ipp2p-0.8.0_rc3/ipt_ipp2p.o #加载模块
/sbin/iptables -A FORWARD -m ipp2p --ipp2p -j DROP
/sbin/iptables -A INPUT -m ipp2p --ipp2p -j DROP
实测不加过滤下载神六飞船升空录像700kB-1.0mB,加载后68-80KB稳定下载速度。
呵呵ipp2p.org不断升级,应该能改善p2p的猖獗流量。
------------------------------------------------------------------------------------------
下面是原文的howto:
The following table shows a lineup of all module options currently available for IPP2P. Make sure not to use --ipp2p together with any other option already included in --ipp2p !
option P2P network protocol quality
--edk eDonkey, eMule, Kademlia TCP and UDP very good
--kazaa KaZaA, FastTrack TCP and UDP good
--gnu Gnutella TCP and UDP good
--dc Direct Connect TCP only good
--bit BitTorrent, extended BT TCP and UDP good
--apple AppleJuice TCP only (need feedback)
--winmx WinMX TCP only (need feedback)
--soul SoulSeek TCP only good (need feedback)
--ares Ares, AresLite TCP only moderate (DROP only)
table 1: overview of IPP2P options
Note that some options are not much tested yet. Please don't hesitate contacting me with any feedback about them. If you find one is producing mismatches use --debug (included in 0.7 and later) to locate the wrong filter. See section "debug" below for more details.
10月14日 hb