LVS/FULLNAT内核补丁

要采用FULLNAT我们需要去给内核打补丁,使得支持FULLNAT模式

这里使用

make           编译
make modules_install
make install        安装

需要安装 rpm-build

rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm     
tar zxf Lvs-fullnat-synproxy.tar.gz
yum install -y rpmbuild
cd rpmbuild/SPECS/
rpmbuild -bp kernel.spec

#这里一般会缺少很多的依赖性

将这些依赖性全部安装

目前使用的yum为rhel6.5的镜像

里面会缺少slang-devel    asciidoc   newt-devel  需要自己下载

perl(ExtUtils::Embed) 改为perl-ExtUtils-Embed

全部安装完以后便可以执行

cd rpmbuild/SPECS/
rpmbuild -bp kernel.spec

这个过程最后需要随机数,下面这个命令会自动生成随机数,如果没有的话可以自己安装

yum provides  */rngd
yum install -y rng-tools-2-13.el6_2.x86_64
rngd -r /dev/urandom

编译内核

cp /root/lvs-fullnat-synproxy/lvs-2.6.32-220.23.1.el6.patch /root/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
patch -p1 < lvs-2.6.32-220.23.1.el6.patch     #将lvs的补丁打入
uname -r                 #查看内核版本
cd /root/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64
vim Makefile         
#给EXTRAVERSION添加以下信息,重新安装以后版本显示会比较正规否则就是,2.6.32格式
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 32
EXTRAVERSION = -220.23.1.el6.x86_64
NAME = Man-Eating Seals of Antiquity
RHEL_MAJOR = 6
RHEL_MINOR = 2
RHEL_RELEASE = 219

make           编译
make modules_install
make install        安装
vim /boot/grub/grub.conf 
 10 default=0    #开机启动新内核
reboot

 

cd /root/lvs-fullnat-synproxy/

tar zxf lvs-tools.tar.gz

cd tools/

yum remove ipvsadm

cd keepalived/

./configure --with-kernel-dir="/lib/modules/`uname -r`/build"

报错:

  • configure: error:

  • !!! OpenSSL is not properly installed on your system. !!!

  • !!! Can not include OpenSSL headers files. !!!

  • 解决方法:缺少头文件,只需要安装openssl和openssl-devel即可

  • configure: error: Popt libraries is required

  • 出现此错误的原因:未安装popt的开发包

  • 解决方法:yum install popt-devel

  • ./configure --with-kernel-dir="/lib/modules/`uname -r`/build"
    
    make
    
    make install
    
    cd tools/
    
    cd ipvsadm/
    
    make
    
    make install

猜你喜欢

转载自blog.csdn.net/u010489158/article/details/81328023