iptables新增模組(for kernel 2.6)(轉)

post0發表於2007-08-11
iptables新增模組(for kernel 2.6)(轉)[@more@]

感謝platinum的文件;

下面是我在Linux上的試驗步驟,可能不那麼準確。

=========

Iptables新增模組 Howto

For kernel 2.6

準備工作:

1, 最新的patch-o-matic-ng,在下面的地址可以下載到最新的:

2, 最新的iptables原始碼:

3, 核心原始碼:

4, L7-filter 補丁以及協議描述檔案:

測試系統環境及軟體版本:

1, GCC 3.4.2

2, Kernel 2.6.9

3, Iptbles 1.3.1

4, l7-protocols 2005-02-06

5, netfilter-layer7 v1.0

6, patch-o-matic-ng 20050309

安裝步驟:

1, 解壓kernel到/usr/src: #tar –jxvf kernel-2.6.9.tar.bz2 –C /usr/src

2, 使用上面類似的命令解壓其餘的檔案到/source/temp下:

為kernel打補丁:

Cd /usr/src/linux-2.6.9

Make menuconfig(注意生成.config)

cd /source/temp/patch-o-matic-ng-20050309

KERNEL_DIR=/usr/src/linux-2.6.9 IPTABLES_DIR=/source/temp/iptables-1.3.1 ./runme time

(注: runme後跟需要新增的模組,不要使用base或其它的命令,會導致後面iptables不能編譯透過。我編譯的模組有:time ipv4options psd mport ipp2p quota。很遺憾的是string模組不支援kernel-2.6版本)

##這裡是與l7-filter有關的(你可以不做這裡的):

Cd /usr/src/linux-2.6.9

Patch –p1 Cd /source/temp/iptables-1.3.1

Patch –p1 ##這裡是與l7-filter有關的結束

Cd /usr/src/linux-2.6.9

Make menuconfig (在這裡選擇你新增的netfilter的模組)

Make

Make modules_install

修改grub或lilo使用新的kernel來啟動Linux

編譯iptables:

Cd /source/temp/iptables-1.3.1

Export KERNEL_DIR=/usr/src/linux-2.6.9

Export IPTABLES_DIR=/source/temp/iptables-1.3.1

make PREFIX=/usr LIBDIR=/lib BINDIR=/sbin &&

make PREFIX=/usr LIBDIR=/lib BINDIR=/sbin install

安裝l7-filter協議檔案:

Cd /source/temp/l7-protocols-2005-02-06

Make install

測試是否成功:

Iptables –A OUTPUT –p tcp –m mport –sports 21:23,80 –j DROP

等等測試命令,如果你需要看幫助:

Iptables –m ip2p2 –help

參考文件:

/documentation/HOWTO//netfilter-extensions-HOWTO.html

platinum的HOWTO文件

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-946170/,如需轉載,請註明出處,否則將追究法律責任。

相關文章