体系: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