Linux Iptables 内核添加time模块

运维 系统运维
iptables 是与最新的 2.6.x 版本Linux 内核集成的 IP 信息包过滤系统。在上篇文章中我们提到Linux Iptables模块的配置,现在我们了了解下新的模块添加Linux Iptables time

为自己的的Linux系统的 Iptables 内核添加模板是必要的,添加好了才能正常工作,今天为Iptables添加是的是time模块

  系统:CentOS 5.1 内核:2.6.18-53.1.19.el5

  iptables 版本 1.3.5(系统自带的)

  下载一个内核:linux-2.6.18 解压到/usr/src/linux

 

  1.   #cd linux  
  2.  
  3.   #make mrproper  
  4.  
  5.   #make menuconfig  
  6.  

 

  什么也不做,退出.

  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

 

  1.   #cd patch-o-matic-ng-20080214  
  2.  
  3.   #./runme --download  
  4.  

 

  ...........

  应用time补丁到内核:

  选y ,至此,netfilter的补丁打完了,如果你需要别的模块可以根据需要加上.

  编译kernel的modules

 

  1.   #cd /usr/src/linux  
  2.  
  3.   #make menuconfig  
  4.  

 

  在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

#p#

  到这里就可以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的模块后拷贝编译完成的模块

 

  1.   #chmod +x /usr/src/linux/net/ipv4/netfilter/ipt_time.ko  
  2.  
  3.   # cp /usr/src/linux/net/ipv4/netfilter/ipt_time.ko /lib/modules/2.6.18-53.1.19.el5/kernel/net/ipv4/netfilter/  
  4.  
  5.   #depmod -a 或 insmod /usr/src/linux/net/ipv4/netfilter/ipt_time.ko  
  6.  
  7.   #lsmod   grep ip  
  8.  

 

  此时,能看到以下东东

  ipt_time 6400 1

  但现在还不能用,还却少libipt_time.so 这个东东

  现编译下载的iptables

 

  1.   #cd /usr/src/iptables  
  2.  
  3.   #make KERNEL_DIR=/usr/src/linux  
  4.  

 

  # make install KERNEL_DIR=/usr/src/linux (我编译时出现不少警告,错误!)

  完了以后,

 

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

 

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

通过上文一系类的工作,想必大家都学会了为自己的Linux Iptables 内核添加time模块。

【编辑推荐】

  1. Linux防火墙Iptables入门笔记
  2. Linux Iptables 语法大全
  3. 用iptables做IP的静态映射
  4. 如何把iptables外网端口全部映射到内网一台主机上
  5. 配置Linux 内核并利用iptables 做端口映射
  6. iptables映射端口具体操作

 

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-15 13:19:27

iptablesHOWTO

2013-10-21 17:21:38

Linux内核Nftablesiptables

2010-01-22 11:01:04

linux内核模块

2010-03-03 10:14:44

Linux vmwar

2011-03-14 14:40:10

2011-03-17 16:55:25

iptableslinuxhowto

2023-05-08 08:05:42

内核模块Linux

2019-07-08 20:00:35

Linux内核模块

2018-06-19 09:07:57

Linux内核模块

2011-03-17 09:35:35

iptables 映射Linux内核

2021-09-03 08:44:51

内核模块Linux社区

2011-03-14 13:51:00

iptables编译

2009-10-16 09:42:06

2009-12-17 09:56:26

Linux添加驱动模块

2011-03-15 12:47:11

netfilteriptables

2022-05-14 17:01:21

开源LinuxNVIDIA

2013-11-20 10:48:47

Linux内核GRUB内核参数

2013-02-21 14:05:39

Tizenintel

2021-05-18 14:25:30

Linux运维Linux系统

2023-12-22 08:38:02

Pythondatetimetime
点赞
收藏

51CTO技术栈公众号