国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

怎樣用Netfilter/IPtables控制P2P流量
2007-06-24   

一則報道說盡管某寬帶公司現有技術可以容納的網絡用戶容量為400至600萬用戶,可是目前,在容納了45萬用戶的情況下,網絡已經擁擠不堪,時常出現斷網情況,一到上網高峰,網速就會急劇下降。

為何網絡會如此擁擠不堪?這是因為自從出現諸如電驢、Kazaa、BT等P2P軟件之后,海量的數據文件(如大容量文件交換、視頻文件下載等)逐漸占據了大部分的網絡帶寬。P2P這一新應用給用戶帶來了前所未有的方便和豐富的資源,但同時也引發了網絡帶寬和安全問題。

如何在發揮P2P強大功能的情況下對其進行一些必要的限制呢?本文將介紹在Linux中如何利用netfilter/iptables實現對P2P應用流量的限制。

升級內核

由于在公開發布的Linux內核文件中,有關iptables的各種參數里沒有關于P2P屬性的參數,所以必須通過升級Linux內核和iptables來打上這個補丁,使其支持P2P屬性設置。

在具體操作之前,先要了解一下升級內核補丁需要的一些相關軟件:linux-2.4.20-8.tar.gz、patch-o-matic-20040609.tar.bz2、iptables-1.2.8.tar.bz2、iptables-p2p-0.3.0a.tar.gz和ipp2p-0.5c.tar.gz。

這里的測試環境為Red Hat 9.0,內核為2.4.20-8。由于2.4.*是一個穩定的內核,因此不能把當前開發的一些新功能提交到主內核中去,而只能首先在patch-o-matic中測試,然后打補丁到內核中。在CVS中可以找到最新的patch-o-matic包—Patch-o-matic-20040609.tar.bz2。

有了內核支持后,還需要iptables支持,其中iptables-p2p-0.3.0a.tar.gz為netfilter/iptables組織開發的專門支持P2P的iptables擴展軟件包;ipp2p-0.5c.tar.gz為Eicke Friedrich開發的一個支持P2P的iptables擴展包。這兩個擴展包各有特色,后面將會分別介紹。

裝載模塊

首先在/usr/src下解壓軟件包:

#bzip2 -d patch-o-matic-20040609.tar.bz2

生成patch-o-matic-20040609.tar.out。

#tar xvf patch-o-matic-20040609.tar.out


生成補丁目錄patch-o-matic-20040609。Red Hat 9.0中默認的內核目錄為/usr/src/linux-2.4。進入補丁目錄/usr/src/patch-o-matic-20040609,由于支持P2P協議控制選項需要CONNMARK模塊,該模塊在extra子目錄下,因此需要運行如下命令來升級內核補丁。

#KERNEL_DIR=/usr/src/linux-2.4 ./runme extra


運行該命令后會出現一個模塊選擇界面,界面有兩個區域,一個給出相關的模塊名、模塊功能、用法和語法實例;另一個給出各種選項,如N/y/b/r.../q/?,其中第一個為大寫字母,表示缺省選項,n表示下一個模塊,y表示確定,b表示上一個模塊,q表示退出。

首先應該確定當前的模塊是否需要,不需要就按“N”鍵后回車,繼續顯示下一個模塊的相關信息。當出現需要的模塊時,按“Y”鍵確認,同時應該將里面的相關語法實例抄錄下來以備用。選擇完所有需要的模塊后,按“Q”鍵退出。

編譯內核

進入內核文件所在目錄/usr/src/linux-2.4,開始編譯內核:

#make mrproper
#make xconfig(或#make menuconfig)

注意,在配置選項中必須選擇Networking options→IP:Netfilter Configuration→Connection mark tracking support和CONNMARK target support兩個選項。確保關鍵文件在正確位置:

#make dep

編譯大內核:
<CENTER><ccid_nobr>
<table width="400" border="1" cellspacing="0" cellpadding="2" 
 bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
<tr>
    <td bgcolor="e6e6e6" class="code" style="font-size:9pt">
    <pre><ccid_code>
#make bzImage

編譯選擇的模塊:

#make modules

將編譯后的模塊轉移到系統標準位置:

#make modules_install

讓系統自動修改啟動配置文件grub.conf:

#make install

重新啟動系統,選擇Red Hat Linux(2.4.20-8custom)選項,則啟動了新編譯的內核。

升級iptables

安裝iptables-1.2.8

首先解壓iptables-1.2.8.tar.bz2文件:

#bzip2 -d iptables-1.2.8.tar.bz2
#tar xvf iptables-1.2.8.tar.out

編譯iptables-1.2.8:

#make KERNEL_DIR=/usr/src/linux-2.4
#make install KERNEL_DIR=/usr/src/linux-2.4
#make install-devel

拷貝可執行文件到相應目錄:

#cp iptables iptables-save iptables-restore /sbin

安裝iptables-p2p軟件

首先解壓iptables-p2p-0.3.0a.tar.gz:

#tar zxvf iptables-p2p-0.3.0a.tar.gz
#cd iptables-p2p-0.3.0a

拷貝iptables-1.2.8的頭文件到適當的目錄:

#cp -a /usr/src/iptables-1.2.8/include/* /usr/include

運行“make”編譯iptables-p2p,并拷貝相關文件到相應的目錄:

#make
#cp kernel/ipt_p2p.o /lib/modules/2.4.20-8custom/kernel/net/ipv4/netfilter/
#cp iptables/libipt_p2p.so /lib/iptables/


安裝ipp2p軟件

首先修改Makefile文件中的源目錄、內核目錄和netfilter版本號,將以下內容:

IKERNEL = -I/usr/src/linux/include
IUSER = -I/usr/src/iptables-1.2.7a/include
NETFILTER_VERSION = \"1.2.7a\"

改為:

IKERNEL = -I/usr/src/linux-2.4/include
IUSER = -I/usr/src/iptables-1.2.8/include
NETFILTER_VERSION = \"1.2.8\"

編譯軟件,并拷貝庫文件到相應的目錄:

#make
#cp libipt_ipp2p.so /lib/iptables

裝入模塊:

#insmod ipt_ipp2p

#iptables -m p2p -help
……
P2P match v0.3.0a options:
  --p2p-protocol [!] protocol[,...]
  --p2p ...
  match application-layer protocol(匹配的應用層協議)
Valid p2p protocols:(P2P支持的有效協議如下:)
fasttrack
gnutella
edonkey
dc
bittorrent
openft


iptables-p2p模塊通過-m p2p參數來實現對所有已知P2P連接請求的識別。注意,-m p2p只能識別P2P類型的連接請求,不能識別所有的P2P包,可以通過--p2p-protocol子參數來識別P2P的各種已知協議類型。

3.應用實例

#iptables -A FORWARD -m p2p -j DROP


阻塞網絡上所有的P2P連接請求。

#iptables -A FORWARD -m p2p --p2p-protocol fasttrack,bittorrent -j DROP

阻塞網絡上fasttrack和bittorrent協議連接請求。

在實際使用過程中必須和CONNMARK目標結合起來,然后通過tc過濾才能真正對所有P2P包進行限制。更多的信息可以參考example/limit-p2p.sh的實例腳本。

ipp2p的應用

1.ipp2p目前支持如下Linux內核和iptables版本:

◆ Linux-Kernels 2.6:2.6.3
◆ Linux-Kernels 2.4:2.4.18、2.4.19、2.4.20、2.4.21、2.4.22、2.4.23
◆ iptables(www.netfilter.org)1.2.7a、1.2.8、1.2.9

2.獲取ipp2p幫助

# iptables -m ipp2p --help
  ……
  IPP2P v0.5c options:
  --ipp2pGrab all known p2p packets 
(抓所有已知的P2P包)
  --ipp2p-dataGrab all known p2p data packets 
(抓所有已知P2P數據包)
  --edkGrab all known eDonkey/eMule/Overnet packets 
(抓所有已知的eDonkey/eMule/Overnet類型的包)
  --edk-dataGrab all eDonkey/eMule/Overnet data packets 
(抓所有已知的eDonkey/eMule/Overnet數據包)
  --dcGrab all known Direct Connect packets 
(抓所有已知的直接連接包)
  --dc-dataGrab all Direct Connect data packets 
(抓所有已知的直接連接數據包)
  --kazaaGrab all KaZaA packets 
(抓所有KaZaA包)
  --kazaa-dataGrab all KaZaA data packets 
(抓所有KaZaA數據包)
  --gnuGrab all Gnutella packets 
(抓所有Gnutella包)
  --gnu-dataGrab all Gnutella data packets 
(抓所有Gnutella數據包)
  --bitGrab all BitTorrent packets (beta - handle with care) 
(抓所有BitTorrent包)
  --appleGrab all AppleJuice packets (beta - handle with care) 
(抓所有AppleJuice包)
  --soulSoulSeek (beta - handle with care) 
(SoulSeek類型的包)
  ……


3.應用實例

ipp2p只能識別P2P連接請求,而不能識別所有P2P包,因此也必須和CONNMARK目標結合在一起使用,目前只支持TCP協議標示。下面來看一個實例。

#iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark

上面代碼表明從CONNMARK目標中恢復標記。

#iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT

上面代碼表明接收所有非0的標記包。

#iptables -A PREROUTING -t mangle -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1

上面代碼表明將ipp2p連接標記為“1”。

#iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark

上面代碼表明保存所有標記為“1”的包到CONNMARK目標中。通過上面設置得到的結果是,每一個標示為P2P連接的包被標記成“1”,然后再通過tc過濾,執行下面的操作:

#tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:11
#tc filter add dev eth1 parent 2:0 protocol ip prio 4 handle 1 fw classid 2:11


使用HTB和過濾,將所有標記為“1”的包放到每一個設備類中,通過對這些設備類的限制來達到對P2P連接帶寬的限制。更多的信息可以參考http://rnvs.informatik.uni-leipzig.de/ipp2p/

應用效果

筆者在單位防火墻上應用了iptables-p2p和ipp2p配置,對P2P的FastTrack協議進行限制后,用貪婪BT(ABC)進行測試,取得了理想的效果,能有效地限制P2P通信如圖1)。


熱詞搜索:

上一篇:為Linux系統蒙上Windows面紗
下一篇:加強DNS安全:可在Chroot下運行BIND

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美videos中文字幕| 欧美日韩一级大片网址| 老司机精品视频线观看86| 一区二区三区免费观看| 亚洲国产精品黑人久久久| 久久综合九色综合97婷婷| 日韩美女天天操| 精品区一区二区| 日韩精品一区二区三区老鸭窝 | 国产亚洲欧美中文| 久久影院电视剧免费观看| 精品国产乱码久久久久久1区2区 | 亚洲视频 欧洲视频| 国产精品不卡一区| 亚洲日本va午夜在线电影| 一区二区三区久久| 亚洲影视资源网| 日韩av电影一区| 韩国精品主播一区二区在线观看| 久久精品国产成人一区二区三区| 国内精品自线一区二区三区视频| 国产成人av电影在线播放| 成人蜜臀av电影| 欧美性感一区二区三区| 欧美一级理论片| 国产人成一区二区三区影院| 亚洲欧美色图小说| 日韩高清不卡在线| 国产福利一区二区三区| 色天天综合久久久久综合片| 欧美一区二区在线看| 国产欧美精品一区二区色综合| 国产精品丝袜黑色高跟| 亚洲va韩国va欧美va精品| 久久91精品久久久久久秒播| 99视频在线精品| 日韩欧美一级二级| 最新高清无码专区| 日韩av高清在线观看| a级精品国产片在线观看| 欧美精品在欧美一区二区少妇| 国产欧美一区二区三区沐欲| 亚洲一二三专区| 国产成人av一区二区三区在线观看| 色综合色狠狠综合色| 精品女同一区二区| 一区二区三区加勒比av| 黑人巨大精品欧美黑白配亚洲| 一本久久精品一区二区| 精品国产一区二区在线观看| 亚洲影院免费观看| av中文字幕一区| 国产日韩欧美亚洲| 日本欧美在线看| 日本电影欧美片| 国产精品欧美一区喷水| 麻豆国产精品777777在线| 日本高清无吗v一区| 亚洲欧美视频在线观看视频| 国产老肥熟一区二区三区| 欧美一级专区免费大片| 亚洲高清不卡在线| 91原创在线视频| 中文字幕制服丝袜一区二区三区| 久久精品国产久精国产爱| 欧美日本国产视频| 又紧又大又爽精品一区二区| 99久久综合狠狠综合久久| 国产欧美日韩亚州综合| 久久99精品一区二区三区 | 国产呦精品一区二区三区网站| 欧美久久久久久久久| 香蕉久久夜色精品国产使用方法 | 亚洲午夜一二三区视频| 91年精品国产| 亚洲精品乱码久久久久| 99国产欧美另类久久久精品| 国产精品久久毛片| av不卡在线播放| 中文字幕综合网| 91久久免费观看| 亚洲亚洲人成综合网络| 欧美日韩电影在线播放| 日韩精品一二区| 精品91自产拍在线观看一区| 国产在线国偷精品免费看| 精品久久久影院| 国产精品一区二区三区网站| 亚洲精品一区二区三区99| 国产精品亚洲综合一区在线观看| 日本一区免费视频| 99久久99久久综合| 亚洲宅男天堂在线观看无病毒| 欧美人牲a欧美精品| 久久99精品久久只有精品| 日本一区二区三区电影| 日本道免费精品一区二区三区| 午夜精品久久久久影视| 久久综合九色综合97婷婷女人| 成人免费的视频| 亚洲第一二三四区| 欧美精品一区二区三区一线天视频 | 日韩欧美在线不卡| 国产麻豆一精品一av一免费| 国产精品国产a级| 欧美挠脚心视频网站| 国产在线一区二区| 亚洲免费视频中文字幕| 欧美卡1卡2卡| 国产精品1区2区3区| 亚洲精品午夜久久久| 日韩欧美一二区| 91日韩在线专区| 激情六月婷婷久久| 亚洲伦理在线精品| 欧美精品一区二区三区很污很色的| 丁香另类激情小说| 免费成人在线视频观看| 自拍偷自拍亚洲精品播放| 欧美tk—视频vk| 色综合视频一区二区三区高清| 国产一区二区三区久久悠悠色av | 欧美综合亚洲图片综合区| 天天射综合影视| 日韩一区欧美小说| 精品毛片乱码1区2区3区| 色婷婷久久99综合精品jk白丝| 久久福利视频一区二区| 亚洲黄色小说网站| 国产精品欧美一级免费| 91精品国产综合久久精品| 91在线免费视频观看| 国产一区91精品张津瑜| 日韩国产欧美在线观看| 一区二区高清免费观看影视大全 | 国产91精品在线观看| 亚洲高清一区二区三区| 亚洲视频综合在线| 久久久久97国产精华液好用吗| 制服丝袜av成人在线看| 在线视频欧美精品| 粉嫩高潮美女一区二区三区| 日韩电影在线免费| 亚洲一区中文在线| 亚洲精品中文字幕乱码三区| 国产精品女同一区二区三区| 久久日韩精品一区二区五区| 日韩一区二区在线观看视频| 欧美精品三级在线观看| 91传媒视频在线播放| 99在线精品视频| 色婷婷激情久久| 欧美日韩精品欧美日韩精品一综合| 91麻豆精品在线观看| 99久久伊人精品| 91丨九色丨尤物| 色综合久久久久综合99| 色香蕉久久蜜桃| 欧美性猛片aaaaaaa做受| 欧美撒尿777hd撒尿| 欧美天堂一区二区三区| 欧美视频一区二区三区在线观看| 日本久久一区二区| 欧美三级视频在线播放| 欧美日韩国产另类不卡| 欧美一级一级性生活免费录像| 精品奇米国产一区二区三区| 久久久久久久久97黄色工厂| 中文字幕第一区第二区| 一区在线观看免费| 亚洲一区二区三区美女| 天天色天天操综合| 国产一区欧美一区| 9色porny自拍视频一区二区| 欧美视频精品在线观看| 欧美一区二区人人喊爽| 国产午夜亚洲精品不卡| 亚洲乱码一区二区三区在线观看| 亚洲成人一区在线| 久久国产综合精品| 99热在这里有精品免费| 欧美军同video69gay| 国产日韩欧美精品在线| 亚洲自拍偷拍av| 国产精品资源在线看| 色一情一乱一乱一91av| 精品剧情v国产在线观看在线| 中文字幕乱码亚洲精品一区| 亚洲成av人片在www色猫咪| 国产精品夜夜嗨| 欧美日韩一区成人| 国产亚洲一区二区在线观看| 亚洲成人av一区| 欧美三级电影在线观看| 中文无字幕一区二区三区| 亚洲va在线va天堂| 99久久免费视频.com| 日韩美女主播在线视频一区二区三区| 成人欧美一区二区三区| 捆绑紧缚一区二区三区视频|