欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 29_01 _iptables系列之layer7 有大用

image.png


内核编译:

    2.6 --> 3.0

        单内核: (linux是单内核)模块化 (文件系统,驱动,安全)

        配置 .config( 内核源码目录下  /usr/src/kernels/2.6.18-398.el5-x86_64/.config)  (/proc/cpuinfo,lscpi.lsusb,hal-device)  (hal hardware abstarct layer 硬件抽象层)

                make menuconfig

                make gconfig

                make kconfig

                make config

                make oldconfig

                make menuconfig


        编译

            make

                    只编译部分源码

                        make SUBDIR=arch/        编译跟cpu,内核核心相关的功能

                        make drivers/net/pcnet31.ko    只编译这一个模块        (如果硬件驱动有,我们就这样编译,否则去硬件厂商官方网站上下载到(内核源码数 ),我们要看看install目录或readme文件)

                        make dir/  只编译这个目录下的所有的内核源码  

                    转存编译结果

                        make O=/path/to/somewhere

                                        

        安装内核模块

                make modules_install

        安装内核

                make install



make clean 清除编译好的结果

make mrproper    重新整理源码树

然后可以执行上面的步骤(会清理上面的.config文件,可以备份下.config然后复制过来)


红帽系统提供了当前的此前已经配置的信息,通常在boot目录下,

可以把.config为栏本 复制到内核源码树下,然后再做改变


busybox+kernel = linux 不能编译其它程序

        ulibc




iptables  的七层功能其实用得比较少  

iptables: 二(可以过滤源mac),三,四层

        string (七层协议功能较薄弱,只能实现string字符串的过滤等)

(层次越高,资源消耗的越大,效率就越低)



p2p,qq,msn 

netfilter:  httpd,smtp,

需要给 netfilter打补丁,netfilter本身没有这个功能

netfilter: rules,   (要打补丁)

iptables:语法正确  (要打补丁)

总共要打两个补丁


http://filter.sourceforge.net

image.png









image.png

image.png


image.png

image.png



image.png
















打开 ip_forward 的时候,就可以实现转发

image.png



DMZ:非军事化区域


三宿主

image.png


背靠背

image.png


image.png


image.png




内核编译:


# lftp 172.16.0.1

image.png

image.png

image.png

image.png


# ls 

image.png

# tar xf linux-2.6.28.19.tar.zg -C /usr/src

#tar xf netfilter-layer7-v2.22.tar.gz -C /usr/src

image.png


# cd /usr/src

# ln -sv linux-2.6.28.10 linux

# ll

image.png


# cd linux

# ls 

image.png


# patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch

image.png


# cp /boot/config-2.6.18-308.el5 .config

image.png


看看开发环境有没有装好

# yum 

image.png

image.png


# make menuconfig

image.png

image.png

image.png


 这里是 l7 (英文字母l 不是数字1)

image.png


image.png


image.png


处理器改成最新接近的

image.png


用不到的,可以去掉,如果不懂的话就不要改了

image.png


image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png



image.png

image.png

image.png




image.png

image.png

image.png




image.png




image.png


image.png


image.png


image.png

image.png

image.png


image.png



image.png




image.png



image.png



image.png

image.png

image.png

防止连接断开后中断

# screen

image.png


# make

image.png

ctrl+A D


# 好像是下面这个 screen 是自动出现的 不需要 手动敲screen

image.png



# make modules_install

# make install

等 上面弄好了后 再操作iptables,

iptables 不要太急着去编译,最好等内核编译完之后再做,免得出问题






普通分类: