欢迎各位兄弟 发布技术文章
这里的技术是共享的
内核编译:
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:语法正确 (要打补丁)
总共要打两个补丁
打开 ip_forward 的时候,就可以实现转发
DMZ:非军事化区域
三宿主
背靠背
内核编译:
# lftp 172.16.0.1
# ls
# tar xf linux-2.6.28.19.tar.zg -C /usr/src
#tar xf netfilter-layer7-v2.22.tar.gz -C /usr/src
# cd /usr/src
# ln -sv linux-2.6.28.10 linux
# ll
# cd linux
# ls
# patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch
# cp /boot/config-2.6.18-308.el5 .config
看看开发环境有没有装好
# yum
# make menuconfig
这里是 l7 (英文字母l 不是数字1)
处理器改成最新接近的
用不到的,可以去掉,如果不懂的话就不要改了
防止连接断开后中断
# screen
# make
ctrl+A D
# 好像是下面这个 screen 是自动出现的 不需要 手动敲screen
# make modules_install
# make install
等 上面弄好了后 再操作iptables,
iptables 不要太急着去编译,最好等内核编译完之后再做,免得出问题