之前就犯下了這個錯誤!
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目錄要...