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

掃一掃
關(guān)注微信公眾號(hào)

Linux防火墻對(duì)P2P流量的限制
2005-12-14   

一則報(bào)道說盡管某寬帶公司現(xiàn)有技術(shù)可以容納的網(wǎng)絡(luò)用戶容量為400至600萬用戶,可是目前,在容納了45萬用戶的情況下,網(wǎng)絡(luò)已經(jīng)擁擠不堪,時(shí)常出現(xiàn)斷網(wǎng)情況,一到上網(wǎng)高峰,網(wǎng)速就會(huì)急劇下降。

為何網(wǎng)絡(luò)會(huì)如此擁擠不堪?這是因?yàn)樽詮某霈F(xiàn)諸如電驢、Kazaa、BT等P2P軟件之后,海量的數(shù)據(jù)文件(如大容量文件交換、視頻文件下載等)逐漸占據(jù)了大部分的網(wǎng)絡(luò)帶寬。P2P這一新應(yīng)用給用戶帶來了前所未有的方便和豐富的資源,但同時(shí)也引發(fā)了網(wǎng)絡(luò)帶寬和安全問題。

如何在發(fā)揮P2P強(qiáng)大功能的情況下對(duì)其進(jìn)行一些必要的限制呢?本文將介紹在Linux中如何利用netfilter/iptables實(shí)現(xiàn)對(duì)P2P應(yīng)用流量的限制。

升級(jí)內(nèi)核

由于在公開發(fā)布的Linux內(nèi)核文件中,有關(guān)iptables的各種參數(shù)里沒有關(guān)于P2P屬性的參數(shù),所以必須通過升級(jí)Linux內(nèi)核和iptables來打上這個(gè)補(bǔ)丁,使其支持P2P屬性設(shè)置。

在具體操作之前,先要了解一下升級(jí)內(nèi)核補(bǔ)丁需要的一些相關(guān)軟件: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。

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

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

裝載模塊

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

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

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

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


生成補(bǔ)丁目錄patch-o-matic-20040609。Red Hat 9.0中默認(rèn)的內(nèi)核目錄為/usr/src/linux-2.4。進(jìn)入補(bǔ)丁目錄/usr/src/patch-o-matic-20040609,由于支持P2P協(xié)議控制選項(xiàng)需要CONNMARK模塊,該模塊在extra子目錄下,因此需要運(yùn)行如下命令來升級(jí)內(nèi)核補(bǔ)丁。

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


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

首先應(yīng)該確定當(dāng)前的模塊是否需要,不需要就按“N”鍵后回車,繼續(xù)顯示下一個(gè)模塊的相關(guān)信息。當(dāng)出現(xiàn)需要的模塊時(shí),按“Y”鍵確認(rèn),同時(shí)應(yīng)該將里面的相關(guān)語法實(shí)例抄錄下來以備用。選擇完所有需要的模塊后,按“Q”鍵退出。

編譯內(nèi)核

進(jìn)入內(nèi)核文件所在目錄/usr/src/linux-2.4,開始編譯內(nèi)核:

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

注意,在配置選項(xiàng)中必須選擇Networking options→IP:Netfilter Configuration→Connection mark tracking support和CONNMARK target support兩個(gè)選項(xiàng)。確保關(guān)鍵文件在正確位置:

    <mark id="evbno"></mark>
    <output id="evbno"><ruby id="evbno"></ruby></output>
    <abbr id="evbno"><style id="evbno"><dl id="evbno"></dl></style></abbr>
    #make dep
    
    編譯大內(nèi)核:
    
    
    #make bzImage

    編譯選擇的模塊:

    #make modules

    將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置:

    #make modules_install

    讓系統(tǒng)自動(dòng)修改啟動(dòng)配置文件grub.conf:

    #make install

    重新啟動(dòng)系統(tǒng),選擇Red Hat Linux(2.4.20-8custom)選項(xiàng),則啟動(dòng)了新編譯的內(nèi)核。

    升級(jí)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

    拷貝可執(zhí)行文件到相應(yīng)目錄:

    #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的頭文件到適當(dāng)?shù)哪夸洠?

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

    運(yùn)行“make”編譯iptables-p2p,并拷貝相關(guān)文件到相應(yīng)的目錄:

    #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文件中的源目錄、內(nèi)核目錄和netfilter版本號(hào),將以下內(nèi)容:

    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\"

    編譯軟件,并拷貝庫文件到相應(yīng)的目錄:

    #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(匹配的應(yīng)用層協(xié)議)
    Valid p2p protocols:(P2P支持的有效協(xié)議如下:)
    fasttrack
    gnutella
    edonkey
    dc
    bittorrent
    openft


    iptables-p2p模塊通過-m p2p參數(shù)來實(shí)現(xiàn)對(duì)所有已知P2P連接請(qǐng)求的識(shí)別。注意,-m p2p只能識(shí)別P2P類型的連接請(qǐng)求,不能識(shí)別所有的P2P包,可以通過--p2p-protocol子參數(shù)來識(shí)別P2P的各種已知協(xié)議類型。

    3.應(yīng)用實(shí)例

    #iptables -A FORWARD -m p2p -j DROP


    阻塞網(wǎng)絡(luò)上所有的P2P連接請(qǐng)求。

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

    阻塞網(wǎng)絡(luò)上fasttrack和bittorrent協(xié)議連接請(qǐng)求。

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

    ipp2p的應(yīng)用

    1.ipp2p目前支持如下Linux內(nèi)核和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數(shù)據(jù)包)
      --edkGrab all known eDonkey/eMule/Overnet packets 
    (抓所有已知的eDonkey/eMule/Overnet類型的包)
      --edk-dataGrab all eDonkey/eMule/Overnet data packets 
    (抓所有已知的eDonkey/eMule/Overnet數(shù)據(jù)包)
      --dcGrab all known Direct Connect packets 
    (抓所有已知的直接連接包)
      --dc-dataGrab all Direct Connect data packets 
    (抓所有已知的直接連接數(shù)據(jù)包)
      --kazaaGrab all KaZaA packets 
    (抓所有KaZaA包)
      --kazaa-dataGrab all KaZaA data packets 
    (抓所有KaZaA數(shù)據(jù)包)
      --gnuGrab all Gnutella packets 
    (抓所有Gnutella包)
      --gnu-dataGrab all Gnutella data packets 
    (抓所有Gnutella數(shù)據(jù)包)
      --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.應(yīng)用實(shí)例

    ipp2p只能識(shí)別P2P連接請(qǐng)求,而不能識(shí)別所有P2P包,因此也必須和CONNMARK目標(biāo)結(jié)合在一起使用,目前只支持TCP協(xié)議標(biāo)示。下面來看一個(gè)實(shí)例。

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

    上面代碼表明從CONNMARK目標(biāo)中恢復(fù)標(biāo)記。

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

    上面代碼表明接收所有非0的標(biāo)記包。

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

    上面代碼表明將ipp2p連接標(biāo)記為“1”。

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

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

    #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和過濾,將所有標(biāo)記為“1”的包放到每一個(gè)設(shè)備類中,通過對(duì)這些設(shè)備類的限制來達(dá)到對(duì)P2P連接帶寬的限制。更多的信息可以參考http://rnvs.informatik.uni-leipzig.de/ipp2p/

    應(yīng)用效果

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


    熱詞搜索:

    上一篇:一些iptables的具體應(yīng)用
    下一篇:用IPTables實(shí)現(xiàn)字符串模式匹配

    分享到: 收藏
    国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
    国产成人一级电影| 久久久蜜桃精品| 欧美激情一区二区三区不卡 | 亚洲精品乱码久久久久久黑人| 无码av中文一区二区三区桃花岛| 色婷婷亚洲综合| 久久精品夜色噜噜亚洲aⅴ| 亚洲成人免费观看| 精品视频在线视频| 中文字幕一区二区三区四区不卡| 国内偷窥港台综合视频在线播放| 日韩精品一区二区三区三区免费| 国产精品久久久久久久久免费丝袜| 久草精品在线观看| 日韩精品乱码免费| 五月激情综合网| 欧美日韩中文精品| 午夜精品aaa| 欧美三级电影精品| 亚洲国产欧美另类丝袜| 在线观看日韩电影| 亚洲国产视频在线| 欧美一区二区三区在线观看| 亚洲成av人片一区二区| 欧美亚洲国产怡红院影院| 亚洲国产人成综合网站| 欧美亚洲动漫精品| 亚洲精品大片www| 欧美丰满嫩嫩电影| 奇米777欧美一区二区| 日韩欧美国产不卡| 久久99精品国产麻豆婷婷洗澡| 777亚洲妇女| 丝袜亚洲另类欧美综合| 欧美精品久久久久久久久老牛影院| 一区二区三区日韩| 日韩视频一区二区三区| 另类综合日韩欧美亚洲| 亚洲精品在线免费观看视频| 国产成人h网站| 亚洲色图制服诱惑| 欧美三级一区二区| 国产一区二区三区四区五区美女 | 91麻豆精品久久久久蜜臀 | 亚洲手机成人高清视频| 91福利社在线观看| 一区二区三区视频在线看| 日韩欧美在线网站| 国产精品 日产精品 欧美精品| 综合激情成人伊人| 欧美日韩国产影片| 久久99国产精品尤物| 亚洲精品国产a| 日韩欧美色综合| www.亚洲人| 日韩精品视频网| 国产午夜精品一区二区| 欧美日韩国产123区| 久草这里只有精品视频| 亚洲伦在线观看| 日韩一区二区电影| 国产91精品一区二区| 天天综合日日夜夜精品| 久久久综合激的五月天| 欧美视频在线观看一区二区| 国产一区二区不卡在线| 亚洲激情欧美激情| 久久精品视频免费观看| 欧美在线一区二区| 国产一区福利在线| 日韩黄色一级片| 国产欧美精品一区二区色综合 | 99久久免费国产| 日韩高清欧美激情| 国产精品久久午夜| 欧美日韩小视频| 99r国产精品| 蜜臀精品久久久久久蜜臀| 国产精品久久久久久久久果冻传媒| 欧美性色黄大片| 日本美女视频一区二区| 一区二区三区日韩欧美精品| 久久精品水蜜桃av综合天堂| 欧美日韩久久一区二区| 91麻豆文化传媒在线观看| 精品一区二区三区在线播放视频| 中文字幕免费观看一区| 2014亚洲片线观看视频免费| 欧美日韩专区在线| 99麻豆久久久国产精品免费优播| 美女视频黄 久久| 日本欧美韩国一区三区| 中文字幕在线不卡| 久久综合九色综合欧美亚洲| 日韩欧美你懂的| 4438x亚洲最大成人网| av在线不卡网| 婷婷中文字幕综合| 一区二区三区色| 亚洲香蕉伊在人在线观| 中文字幕欧美一| 岛国一区二区在线观看| 成人毛片视频在线观看| 国内不卡的二区三区中文字幕 | 日韩三级中文字幕| 666欧美在线视频| 在线观看一区二区视频| 99国产精品一区| 在线国产亚洲欧美| 在线观看日韩高清av| 国产99精品视频| 成人性视频免费网站| 国内精品伊人久久久久av影院| 精品综合免费视频观看| 免费黄网站欧美| 奇米精品一区二区三区四区| 久久er99精品| 毛片av一区二区| 日韩黄色小视频| 久久国产精品无码网站| 老司机午夜精品| 国产成人一级电影| 国产999精品久久| a在线欧美一区| 99视频精品全部免费在线| av欧美精品.com| 91啪亚洲精品| 欧美亚洲免费在线一区| 欧美变态tickle挠乳网站| 精品免费视频.| 精品国产1区2区3区| 欧美激情在线看| 国产精品久久久久久久久免费相片| 亚洲精品免费一二三区| 亚洲精品一二三| 亚洲男女一区二区三区| 亚洲国产日产av| 美女视频网站黄色亚洲| 99久久精品国产麻豆演员表| 色就色 综合激情| 欧美精品日日鲁夜夜添| 精品国产1区二区| 国产精品不卡在线| 日韩精品成人一区二区在线| 精品一区二区三区欧美| 韩国女主播一区| 色综合久久综合网97色综合| 精品视频资源站| 中文字幕欧美激情| 一区二区在线观看视频在线观看| 日韩vs国产vs欧美| 成人午夜碰碰视频| 欧美在线一二三四区| 国产欧美一区二区精品久导航 | 久久精品视频免费观看| 亚洲欧美怡红院| 青青草国产精品97视觉盛宴| av电影一区二区| 欧美精品久久99久久在免费线| 国产色一区二区| 亚洲动漫第一页| 国产精品综合av一区二区国产馆| 欧美三级电影在线看| 久久久国产精品午夜一区ai换脸| 天堂va蜜桃一区二区三区| 国产成人综合视频| 欧美日韩精品免费| 亚洲精品中文在线影院| 国内外成人在线| 欧美日韩免费高清一区色橹橹 | 韩国理伦片一区二区三区在线播放| 国产成人三级在线观看| 欧美日本不卡视频| 精品久久五月天| 亚洲国产综合视频在线观看| 国产激情视频一区二区在线观看 | 一区二区三区av电影| 裸体一区二区三区| 欧美丝袜丝交足nylons图片| 欧美激情一区在线| 日本不卡不码高清免费观看| 91精品1区2区| 日本一区二区视频在线观看| 久久精品999| 欧美三片在线视频观看 | 国产日韩在线不卡| 亚洲精品国产一区二区精华液 | 国产成人综合网站| 精品剧情在线观看| 精品综合免费视频观看| 在线成人免费视频| 国产精品女同互慰在线看| 国产精品综合二区| 日韩精品一区二区三区在线| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩成人在线一区| 午夜在线电影亚洲一区| 色呦呦日韩精品| 亚洲视频1区2区| 欧美私人免费视频|
  1. <button id="evbno"><ruby id="evbno"></ruby></button>