歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux Iptables 內核2.6.18添加time模塊

Linux Iptables 內核2.6.18添加time模塊

日期:2017/3/2 16:48:10   编辑:Linux服務器

系統:CentOS 5.1 內核:2.6.18-53.1.19.el5

iptables 版本 1.3.5(系統自帶的)

下載一個內核:linux-2.6.18 解壓到/usr/src/linux

#cd linux

#make mrproper

#make menuconfig

什麼也不做,退出。

vi Makefile

把EXTRAVERSION = 更改為EXTRAVERSION = -53.1.19.el5

保持跟uname -a 的版本一致

下載一個iptables1.3.5解壓到/usr/src/iptables (下面會用到)

(下載)patch-o-matic-ng-20080214.tar.bz2

wget ftp://ftp.netfilter.org/pub/iptables/iptables-1.4.0.tar.bz2

#cd patch-o-matic-ng-20080214

#./runme ——download

……

應用time補丁到內核:

選y ,至此,netfilter的補丁打完了,如果你需要別的模塊可以根據需要加上。

編譯kernel的modules

#cd /usr/src/linux

#make menuconfig

在Device Drivers->;Networking support->;Networking options->;Network packet filtering (replaces ipchains)

->;IP: Netfilter Configuration中把下面的兩項M選中。

; TIME match support

保存,退出。

編譯安裝模塊

下面就是最重要的步驟了,因為我們的原則是節省時間,不重新編譯內核,而只編譯其中的模塊,這點2.4的內核跟2.6的內核有所不同,2.4內核的模塊是以*.o形式的,而2.6內核是以*.ko形式的,

[root@jiecho]# make modules

HOSTCC scripts/basic/fixdep

HOSTCC scripts/basic/split-include

HOSTCC scripts/basic/docproc

HOSTCC scripts/conmakehash

HOSTCC scripts/kallsyms

CC scripts/empty.o

HOSTCC scripts/mk_elfconfig

MKELF scripts/elfconfig.h

HOSTCC scripts/file2alias.o

HOSTCC scripts/modpost.o

HOSTCC scripts/sumversion.o

HOSTLD scripts/modpost

HOSTCC scripts/pnmtologo

HOSTCC scripts/bin2c

到這裡就可以ctrl+c中止了,因為我們不是要編譯所有的模塊,這樣太浪費時間,而僅僅是netfilter的模塊,但是如果你直接執行make modules SUBDIRS=net/ipv4/netfilter就會出錯,這就是2.4和2.6的區別,我們先生成了scripts目錄下的一系列需要的文件後就可以make modules SUBDIRS=net/ipv4/netfilter,並用modpost等等把*.o文件生成為*.ko文件。

#make modules SUBDIRS=net/ipv4/netfilter

編譯完成netfilter的模塊後拷貝編譯完成的模塊

#chmod +x /usr/src/linux/net/ipv4/netfilter/ipt_time.ko

# cp /usr/src/linux/net/ipv4/netfilter/ipt_time.ko /lib/modules/2.6.18-53.1.19.el5/kernel/net/ipv4/netfilter/

#depmod -a 或 insmod /usr/src/linux/net/ipv4/netfilter/ipt_time.ko

#lsmod | grep ip

此時,能看到以下東東

ipt_time 6400 1

但現在還不能用,還卻少libipt_time.so 這個東東

現編譯下載的iptables

#cd /usr/src/iptables

#make KERNEL_DIR=/usr/src/linux

# make install KERNEL_DIR=/usr/src/linux (我編譯時出現不少警告,錯誤!)

完了以後,

#cp /usr/src/iptables/extensions/libipt_time.so /lib/iptables中

到此結束, iptables -A INPUT -m time ——timestart 8:00 ——timestop 18:00 ——days Mon,Tue,Wed,Thu,Fri

Copyright © Linux教程網 All Rights Reserved