FC4下升级内核到2.6.15.4及给netfilter打补丁 - 网络与硬件 - Linux - ChinaUnix.net

来源:百度文库 编辑:神马文学网 时间:2024/05/21 05:46:58
A.title1:link {font-size:17.9px;font-family:arial;font-weight:bold;text-decoration:none;color:#ffffff;}A.title1:visited {font-size:17.9px;font-family:arial;font-weight:bold;text-decoration:none;color:#ffffff;}A.title1:active {font-size:17.9px;font-family:arial;font-weight:bold;text-decoration:none;color:#ffffff;}A.title1:hover {font-size:17.9px;font-family:arial;font-weight:bold;text-decoration:none;color:#ffffff;}A.title2:link {text-decoration:none;color:#000000;font-size:12px}A.title2:visited {text-decoration:none;color:#000000;font-size:12px}A.title2:active {text-decoration:none;color:#ff0000;font-size:12px}A.title2:hover {text-decoration:none;color:#ff0000;font-size:12px} ChinaUnix.net
首页 | 博客 | Linux | 论坛 | 人才 | 知识库 | 资料 | 手册 | 精华 | 下载 | 沙龙 | 搜索     
会员: 密码:   免费注册 | 忘记密码 | 会员登录
FC4下升级内核到2.6.15.4及给netfilter打补丁      [打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
       ChinaUnix » 论坛首页 » Linux » 网络与硬件 快速进入: CU专业人才库开通 | IBM邀请您参加2006年p5系列服务器新品发布会 | Wiki知识库 | 镜像:PhpApache | 免费赠送Ultra 20工作站 | 大容量邮件系统在线免费试用 上一主题 :: 下一主题      本主题由 platinum 于 2006-2-20 07:36 移动  
  murong
侠客




会员UID:38764
注册时间:2003-1-9 16:33
最后登录:2006-3-21 16:25
帖子总数: 22
精华帖子: 0
积分:20

在线状态:...离线...

[会员资料] [站内短信] [Blog]

发表于: 2006-2-11 05:21   
FC4下升级内核到2.6.15.4及给netfilter打补丁

1.编辑环境

VMware workstation 5.5.1 (我是自定义的,硬盘是IDE)
Fedora Core release 4
Kernel 2.6.11-1.1369_FC4

2.安装FC4系统

安装时选择自定义安装,软件包只选择development tools这个选项,开始安装系统...

3.下载需要的原码包

cd /usr/src

(下载内核源代码)
wget -c http://www.kernel.org/pub/linux/ ... ux-2.6.15.4.tar.bz2

(下载netfilter源代码)
wget -c http://ftp.netfilter.org/pub/iptables/iptables-1.3.5.tar.bz2

(下载netfilter补丁)

wget -c http://ftp.netfilter.org/pub/pat ... ng-20060209.tar.bz2

(下载ipp2p源代码,patch-o-ma自带的是0.7.2的,0.8.1_rc1可以支持更多的协议)

wget -c http://www.ipp2p.org/downloads/ipp2p-0.8.1_rc1.tar.gz

(下载netfilter-layer7源代码)
wget -c http://keihanna.dl.sourceforge.n ... -layer7-v2.1.tar.gz

(下载netfilter-layer7协议)
wget -c http://belnet.dl.sourceforge.net ... s-2006-01-22.tar.gz

(下载geoip根据地理位置匹配用的2个文件,我们也把它下载下来,如果你不用,可以不下)
wget -c http://people.netfilter.org/peej ... 0050410/geoipdb.bin
wget -c http://people.netfilter.org/peej ... 0050410/geoipdb.idx

4.解压代码包和建立geoip目录

cd /usr/src
tar -jxvf linux-2.6.15.4.tar.bz2
tar -jxvf iptables-1.3.5.tar.bz2
tar -jxvf patch-o-matic-ng-20060209.tar.bz2
tar -zxvf netfilter-layer7-v2.1.tar.gz
tar -zxvf l7-protocols-2006-01-22.tar.gz
mkdir /var/geoip
cp geoipdb.bin /var/geoip
cp geoipdb.idx

5.给kernel和iptables打补丁

cd /usr/src
ln -s /usr/src/linux-2.6.15.4 linux
cd /usr/src/linux
make mrproper
cp /boot/config-2.6.11-1.1369_FC4 ./.config
make menuconfig (什么都不做,保存退出,其实可以不做这一步,但是为了保证.cofnig文件的存在,我们还是要做下)

cd /usr/src/patch-o-matic-ng-20060209

KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme string   
(string 2.6.15.4已经包含这个补丁,不用在打了,打你也打不上的patch里没有)
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme comment   (comment 2.6.15.4已经包含这个补丁)
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme connlimit (2.6.15.4已经包含这个补丁)
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme iprange   (2.6.15.4已经包含这个补丁)

KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme geoip
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme nth
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme ipp2p
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme quota
KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/usr/src/iptables-1.3.5 ./runme time
cd /usr/src/linux
patch -tp1 < /usr/src/netfilter-layer7-v2.1/kernel-2.6.13-2.6.15-layer7-2.1.patch
cd /usr/src/iptables-1.3.5
patch -tp1 < /usr/src/netfilter-layer7-v2.1/iptables-layer7-2.1.patch
chmod +x /usr/src/iptables-1.3.5/extensions/.layer7-test
6.选择内核模块

cd /usr/src
make menuconfig

(代码成熟度选项)
Code maturity level options  --->
  • Prompt for development and/or incomplete code/drivers
                                      
  •    Select only drivers expected to compile cleanly

    (网络选项,选择你用的模块,用空格键切换,选择成M,不知道的用默认就可以.)
    Networking  ->
  • Networking support
                        
  • Networking options  ->
  • Network packet filtering (replaces ipchains)  ->
  • Network packet filtering (replaces ipchains)  ---> IP: Netfilter Configuration  --->

    (设备驱动程序)
    Device Drivers  ---> SCSI device support  ---> SCSI low-level drivers --->
    <*> BusLogic SCSI support                                                   
  •    Omit FlashPoint support
    Device Drivers  ---> Network device support  ---> Ethernet (10 or 100Mbit)  --->
  • EISA, VLB, PCI and on board controllers--->
                                                                     <*>   AMD PCnet32 PCI support
                                                                        AMD 8111 (new PCI lance) support       

    (文件系统)
    File systems  ---> <*> Second extended fs support
                      
  •    Ext2 extended attributes
                      
  •      Ext2 POSIX Access Control Lists
                      
  •      Ext2 Security Labels
                      
  •    Ext2 execute in place support
                       <*> Ext3 journalling file system support
                      
  •    Ext3 extended attributes
                      
  •      Ext3 POSIX Access Control Lists
                      
  •      Ext3 Security Labels
                      
  • JBD (ext3) debugging support



    !!!保存退出!!!





    7.开始编辑内核

    cd /usr/src/linux
    make
    make modules_install install

    现在你可以去喝杯咖啡看看电视,抽根烟了.呵呵....时间很长啊!!!
    如果你是高手,可以把内核在做的小点,把不该要的都kill掉,该选的都选上.争取做到功能最全,内核最小的境界,哈哈.....

    内核编辑完成
    vi /boot/grub/grub.conf
    把选项
    default=1
    改成
    default=0
    把新内核作为默认启动项
    从新启动系统shutdonw -r now 或者reboot
    启动后选择新的内核2.6.15.4,老的内核2.6.11还保留着,这样你可以在新内核不能启动时,在去老内核下从新编辑

    8.升级iptables

    cd /usr/src/iptables-1.3.5
    export KERNEL_DIR=/usr/src/linux
    export IPTABLES_DIR=/usr/src/iptables-1.3.5
    make BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man install

    9.安装layer7的协议支持

    cd /usr/src/l7-protocols-2006-01-22
    make install

    10.更新ipp2p模块,使他支持更多的协议

    cd /usr/src/ipp2p-0.8.1_rc1

    修改Makefile文件,应该在第36行
    vi Makefile

    IPTABLES_SRC = /usr/src/iptables-1.2.9
    改为
    IPTABLES_SRC = /usr/src/iptables-1.3.5

    make
    cp /usr/src/ipp2p-0.8.1_rc1/libipt_ipp2p.so /lib/iptables
    depmod -a

    11.现在开始测试

    11.1显示内核版本

    uname -r
    显示如下:
    2.6.15.4

    11.2显示iptables版本
    iptables -V
    显示如下:
    iptables v1.3.5

    11.3 字符串匹配,可以用做内容过滤

    iptables -A FORWARD -m string --algo kmp --string "www.qq.com" -j DROP
    iptables -I FORWARD -d 192.168.3.0/24 -m string --string "宽频影院"  --algo kmp -j DROP

    11.4 Peer-to-Perr 过滤,封杀BT类P2P软件

    iptables -A INPUT -m ipp2p --ipp2p -j DROP
    iptables -A FORWARD -m ipp2p --edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares -j DROP

    11.5 时间匹配

    iptables -A FORWARD -m time --timestart 08:00 --timestop 17:00 -j DROP

    11.6 备注匹配,可以支持最多256个字符

    iptables -I FORWARD -s 192.168.0.100 -p tcp --dport 80 -j DROP -m comment --comment "the bad guy can not online"

    11.7 同时连接个数限制匹配
    iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP
    iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP

    11.8 ip范围匹配

    iptables -A FORWARD -m iprange --src-range 192.168.0.10-192.168.0.100 -j ACCEPT
    iptables -A FORWARD -m iprange --dst-range 192.168.1.5-192.168.1.124 -j ACCEPT

    11.11 每隔N个匹配

    iptables -t mangle -A PREROUTING -m nth --every 10 -j DROP

    11.12 layer7应用,可以到这里http://l7-filter.sourceforge.net看layer7的具体用法,l7-protocols里面的协议我只使用了几个

    iptables -A FORWARD -m layer7 --l7proto qq -j ACCEPT
    iptables -I FORWARD -m layer7 --l7proto msn-filetransfer -j DROP
    iptables -I FORWARD -m layer7 --l7proto socks -j ACCEPT
    11.13 根据地理位置匹配

    iptables -A INPUT -p tcp --dport 80 -m geoip --src-cc JP,US -j DROP
    iptables -A FORWARD -p tcp --dport 21 -m geoip --src-cc KR -j DROP

    11.14 quota(配额匹配)

    iptables -I FORWARD -s 192.168.0.100 -p tcp --dport 80 -m quota --quota 750 -j DROP

    11.15 网络地址翻译

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    11.16 给数据包打标记和TC流量控制工具相结合

    iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
    iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
    iptables -A PREROUTING -t mangle -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1
    iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark
    tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:11
    tc filter add dev eth1 parent 2:0 protocol ip prio 4 handle 1 fw classid 2:11


    12.完成基本测试


    终于写完了,好累啊,现在已经是凌晨5:00点了,如果时间够的话我会多做些测试的,明天还要上班.没办法啊!!!
    其实还有很多要测试的地方,希望看到这篇文档而且对这个敢兴趣的朋友可以测试下!!!


    Write By MR.sky
    QQ群:21122855


    有兴趣的朋友可以加我的QQ群,大家一起探讨问题!!!


    Fedora Core 4


    感谢       漫步和小家伙 两位朋友的支持!!!

    [ 本帖最后由 murong 于 2006-2-17 12:51 编辑 ]


  •  附件: 游客无法下载或查看附件,请立即登录,或马上注册
      返回页首 1楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   扫净缘客
    风云使者




    会员UID:174342
    注册时间:2004-7-31 23:01
    最后登录:2006-3-15 22:56
    帖子总数: 471
    精华帖子: 0
    积分:96

    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-11 05:48    主题:
    辛苦了.看了眼里边的东东还不错.继续努力   返回页首 2楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   murong
    侠客




    会员UID:38764
    注册时间:2003-1-9 16:33
    最后登录:2006-3-21 16:25
    帖子总数: 22
    精华帖子: 0
    积分:20

    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-11 13:17    主题:
    谢谢!!!   返回页首 3楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   wangrujun  
    大天使



    会员UID:9695
    注册时间:2002-5-30 17:07
    最后登录:2006-3-21 11:39
    帖子总数: 1616
    精华帖子: 5
    积分:250

    来自:北京海淀
    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-17 10:41    主题:
    干净利落。好文。   返回页首 4楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   wangrujun  
    大天使



    会员UID:9695
    注册时间:2002-5-30 17:07
    最后登录:2006-3-21 11:39
    帖子总数: 1616
    精华帖子: 5
    积分:250

    来自:北京海淀
    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-17 14:25    主题:
    我验证了一遍,没有问题   返回页首 5楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   murong
    侠客




    会员UID:38764
    注册时间:2003-1-9 16:33
    最后登录:2006-3-21 16:25
    帖子总数: 22
    精华帖子: 0
    积分:20

    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-17 17:04    主题:


    QUOTE: 原帖由 wangrujun 于 2006-2-17 14:25 发表
    我验证了一遍,没有问题 想问下.你在安装的时候有没有选择selinux.我好像给关闭了
    好像2.6.13以后FC4和centos的都要关掉selinux   返回页首 6楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   chlq1983
    侠客




    会员UID:373531
    注册时间:2006-2-17 10:35
    最后登录:2006-2-18 13:45
    帖子总数: 24
    精华帖子: 0
    积分:24

    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-18 11:42    主题:
    好文章。帮顶


    __________________________________

    租主机,送企业邮局!http://www.todayidc.com租主机,送企业邮局!http://www.todayidc.com   返回页首 7楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   platinum
    版主-法王
    路漫漫其修远兮,吾将上下而求索



    会员UID:26424
    注册时间:2002-11-2 21:38
    最后登录:2006-3-22 10:19
    帖子总数: 13770
    精华帖子: 5
    积分:3092

    在线状态: ...保密...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-18 13:16    主题:
    已经有那么多介绍如何 patch 的文章了,这个与以前的比有何不同之处或改进?


    __________________________________

    不积硅步无以至千里,不积小流无以成江海
    一只渴望可以高飞于天空的雏鸟   返回页首 8楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   iakuf   
    侠客




    会员UID:243012
    注册时间:2005-3-22 18:15
    最后登录:2006-3-22 12:54
    帖子总数: 43
    精华帖子: 0
    积分:53

    在线状态:...在线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-18 14:50    主题:
    一个完整的安装过程,清楚明了.   返回页首 9楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |   frank533   
    圣骑士



    会员UID:199429
    注册时间:2004-11-15 15:00
    最后登录:2006-3-15 18:20
    帖子总数: 83
    精华帖子: 0
    积分:72

    来自:四川 成都
    在线状态:...离线...

    [会员资料] [站内短信] [Blog]

    发表于: 2006-2-19 18:23    主题:


    QUOTE: 原帖由 murong 于 2006-2-17 17:04 发表

    想问下.你在安装的时候有没有选择selinux.我好像给关闭了
    好像2.6.13以后FC4和centos的都要关掉selinux 为何要关闭selinux?   返回页首 10楼  Linux免费公开课 | -因Linux而精彩! | 免费赠送Ultra 20工作站 | 华夏名网unix虚拟主机 |
    上一主题 :: 下一主题   
           ChinaUnix » 论坛首页 » Linux » 网络与硬件
    特别推荐  
    快速进入: Copyright © 2001-2006 ChinaUnix.net All Rights Reserved     联系我们:

    感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

    京ICP证041476号

    清除 Cookies - Archiver - WAP

    Processed in 0.047857 second(s), 6 queries , Gzip enabled
    FC4下升级内核到2.6.15.4及给netfilter打补丁 - 网络与硬件 - Linux - ChinaUnix.net FC4下升级内核到2.6.15.4及给netfilter打补丁 - 网络与硬件 - Linux - ChinaUnix.net 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响 - ChinaUnix.net - Linux 高级应用 - 在VMware5.0环境下编译内核(kernel2.6.13)全过程 - ChinaUnix.net 在VMware5.0环境下编译内核(kernel2.6.13)全过程 - Linux 高级应用讨论区/保留帖 - - ChinaUnix.net ChinaUnix.net - 写给Linux内核新手-关于Linux内核学习的误区 - 中国Unix技术社区 从Linux迁移到FreeBSD - Linux 时代 - ChinaUnix.Net netfilter: Linux 防火墙在内核中的实现 [保留] 嵌入式Linux内核移植相关代码分析(zz) - ChinaUnix.net linux内核netfilter之ip_conntrack模块的作用举例 linux内核netfilter之ip_conntrack模块的作用举例 深入Linux网络核心堆栈--netfilter详解 NET命令-硬件网络 Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 ) - ChinaUnix.net Linux下C语言编程基础(Makefile) - Linx时代 - ChinaUnix.net - linux讨论区/保留帖 - - chinaunix.net 使用bacula备份 - Linux 时代 - ChinaUnix.Net [原创] 写给Linux内核新手-关于Linux内核学习的误区 - ChinaUnix.n... (转)一点感想及aix如何快速入门到精通 - 用户文档中心 aix.ChinaUnix.net Solaris下NFS使用手册 - Solaris - ChinaUnix.net [原创] Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 ) - ChinaUnix.net [收藏]Linux 2.6 下内核模块的Makefile,Linux技术文章,Linux系... Linux-Netfilter&iptables实现机制的分析及应用 ChinaUnix.net