iptables+layer7实现访问控制+netfilter/iptables基础

系统环境:RHEL5.4 [ 2.6.18-8.el5xen ]

软件环境:
  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.19.tar.bz2
  http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2

  http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/netfilter-layer7-v2.20.tar.gz
  http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/l7-protocols-2008-10-04.tar.gz

目标功能: 为iptables增加layer7补丁,实现应用层过滤。

一、重新编译内核

  1、合并kernel+layer7补丁

shell> tar jxvf linux-2.6.25.19.tar.gz2 -C /usr/src/
shell> tar zxvf netfilter-layer7-v2.20.tar.gz -C /usr/src/

shell> cd /usr/src/linux-2.6.25.19/
shell> patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

  2、配置新内核

shell> cp /boot/config-2.6.18-8.el5 .config    //偷个懒,沿用旧的内核配置
shell> make menuconfig  //执行后,显示下图,安图选择。

201303240112287197.jpg

201303240112290614.jpg

201303240112293848.jpg

201303240112297187.jpg

201303240112300124.jpg

201303240112303808.jpg

201303240112306963.jpg

201303240112309883.jpg

201303240112313113.jpg

201303240112316023.jpg

201303240112319249.jpg

附:如//配置内核时,在“Networking ---> Networking Options ---> Network Packet filtering framework (Netfilter) ”处主要注意两个地方(与上图所示相同):
  1) ---> Code Netfilter Configuration
      //将“Netfilter connection tracking suport (NEW)”选择编译为模块(M),需选取此项才能看到layer7支持的配置。
      //将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块,根据需要看着办。

  2) ---> IP: Netfilter Configuration
      //将“IPv4 connection tracking support (require for NAT)”编译成模块。
      //将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。

注:先查看自己配置的.config文件是否拥有的自己选择的模块,

vim  /usr/src/linux-2.6.25.19/.config   (查找一下相应模块,避免二次编译内核)

3、编译及安装模块、新内核

shell> make && make modules_install && make install

      //编译安装成后后,重启选择使用新的内核(2.6.25.19)引导系统

修改引导项,

201303240112321418.jpg


你可能感兴趣的:(Netfilter,内核编译)