安裝iptables layer 7 模組

2022-07-27 10:30:16 字數 2943 閱讀 7919

之前就犯下了這個錯誤!

l7-protocols-2008-10-04.tar.gz       iptables源**補丁包

linux-2.6.25.tar.bz2                       linux核心源**

netfilter-layer7-v2.20.tar.gz            l7核心補丁包

iptables-1.4.2.tar.tar                     iptables源**

patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

報錯如下:

[root@ftp2 src]# patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

can't find file to patch at input line 3

perhaps you used the wrong -p or --strip option?

the text leading up to this was:

--------------------------

|--- linux-2.6.25/net/netfilter/kconfig 2008-04-16 21:49:44.000000000 -0500

|+++ linux-2.6.25-layer7/net/netfilter/kconfig  2008-04-29 00:40:01.000000000 -0500

--------------------------

file to patch:

原因在於補丁包內沒有我的2.6.27的補丁,就吧2.6.25補丁打進去,最後結果就報錯了呵呵!      

打補丁命令:

patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

(三)給核心打補丁、編譯新核心

1、進入到剛解壓完成的核心原始碼目錄執行(如果原來編譯過執行make clean 和make mrproper):

make oldconfig

網上說這個命令是這個意思:make oldconfig會自動對比之前的kernel config,根據之前版本的配置生成乙個kernel

config,這樣方便我們在編譯新核心的時候,無須在從頭修改所有的核心設定 。執行完命令後會出現很多詢問你的選項

,不知道的就回車(很多,好像是詢問新核心與老核心模組的差異是否安裝),不要盲目回車,後面有關於layer 7的模

塊千萬不要跳過,否則白忙活了!

2、make oldconfig順利完成後用make menuconfig命令檢視一下layer 7核心模組是否已經選上了。我的2.6.25的位置

在networking-->networking options-->network packet filtering framework(netfilter) -->core netfilter

configuration-->layer 7 match suppport   

如果有了layer 7模組選項了就ok了,這步完成了

3、編譯核心 

make  編譯核心

make modules  編譯模組

make modules_install 安裝模組

make install  安裝核心

這幾步我這裡沒有遇到什麼問題,也許算幸運吧 呵呵。核心編譯完成!重啟,要注意在啟動是grub上預設是進入老內

核版本,最好直接連線到伺服器,grub出現時選擇新編譯的核心,我的是2.6.25。如過是ssh遠端連線編譯的核心要注

意了。這樣核心編譯完成,進入下一步給iptables打l7補丁。

(四)最後一步!給iptables打上l7補丁,並且安裝iptables 1.4.2

1、進入到iptables的原始碼目錄,將/usr/src/netfilter-layer7-v2.20/iptables-1.4.1.1-for-kernel-2.6.20forward目錄下的

libxt_layer7.c  libxt_layer7.man 這兩個檔案拷貝到/usr/src/iptables-1.4.2/extensions目錄下

2、進入到/usr/src/iptables-1.4.2/extensions目錄下,執行

chmod +x layer7-test  不知道為什麼呵呵,儘管執行

3、進入到iptables1.4.2原始碼目錄執行以下命令給iptables1.4.2打補丁,由於沒有針對我的2.6.25的補丁,所以就裝了最新的2.6.20,其他版本的補丁沒有試過

patch -p1 < ../netfilter-layer7-v2.20/iptables-1.4-for-kernel-2.6.20forward-layer7-2.20.patch

4、接下來就是安裝打好補丁的iptables1.4.2了,進入到iptables1.4.2原始碼目錄,執行以下命令:

./configure --with-ksource=/usr/src/linux/

make kernel_dir=/usr/src/linux      

make install

不出意外的情況下應該ok

5、安裝iptables1.4.2的layer7 協議檔案

cd  l7-protocols-2008-10-04

make install

如果沒報錯就大功告成了,下面進行測試

6、最後執行個過濾規則看是否正確

iptables -t mangle -i prerouting -m layer7 --l7proto edonkey -j drop

如果沒報錯說明正確

到此,iptables layer 7模組已安裝完畢。

文章出處:diy部落(

安裝Docker(yum安裝)

確定你是centos7及以上版本 root 192 desktop cat etc redhat release centos linux release 7.2.1511 core 3.yum安裝gcc相關 yum y install gcc yum y install gcc c 4.解除安裝舊...

安裝 python python安裝

pyenv 多版本管理工具 1.linux安裝pyenv方式 git 安裝 1 安裝git yum install git y 2 安裝python編譯依賴 yum y install gcc make patch gdbm devel openssl devel sqlite devel read...

mysql安裝(安裝包安裝)

2 使用命令列 cmd 進入mysql的bin目錄下,初始化資料庫,執行mysqld initialize console console 表示在控制台輸出,不新增則不展示下面那些資訊 最後一行root localhost 後的hd ed4j s 就是臨時密碼,登入時會使用 注意 1 data目錄要...