fullnat模式需要的安装包
- ipvsadm
- kernel-2.6.32-220.23.1.el6.src.rpm
- Lvs-fullnat-synproxy.tar.gz
rpm-build 因为kernel是一个src类型的包,对于此类型的包我们需要rpm-build
一、开始配置
[root@server5 ~] yum install ipvsadm -y
[root@server5 ~]# rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm 进行操作
[root@server5 SPECS]# rpmbuild -bp kernel.spec 查看还需要的包
-rw-------. 1 root root 1043 Jun 19 20:12 anaconda-ks.cfg
-rw-r--r-- 1 root root 187436 Oct 14 2015 asciidoc-8.4.5-4.1.el6.noarch.rpm
-rw-r--r-- 1 root root 78290779 Oct 14 2015 kernel-2.6.32-220.23.1.el6.src.rpm
-rw-r--r-- 1 root root 2630424 Oct 14 2015 Lvs-fullnat-synproxy.tar.gz
-rw-r--r-- 1 root root 47704 Oct 14 2015 newt-devel-0.52.11-3.el6.x86_64.rpm
drwxr-xr-x 8 root root 4096 Jun 23 15:55 rpmbuild
-rw-r--r-- 1 root root 96252 Oct 14 2015 slang-devel-2.2.1-1.el6.x86_64.rpm
二、安装所需要的软件包,对于在iso中没有自带的软件包需要在网上下载
下载软件包网站:pkgs.org
[root@server5 ~]#yum install redhat-rpm-config patchutils xmlto asciidoc elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel perl-ExtUtils-Embed hmaccalc -y
[root@server5 ~]# yum install slang-devel-2.2.1-1.el6.x86_64.rpm newt-devel-0.52.11-3.el6.x86_64.rpm -y
[root@server5 ~]#yum install asciidoc-8.4.5-4.1.el6.noarch.rpm
[root@server5 SPECS]# rpmbuild -bp kernel.spec
如在上面最后一个过程中等待时间过长,因为生成key的字符太少
yum provides */rngd
yum install rng-tools-2-13.el6_2.x86_64 -y
rngd -r /dev/urandom 随机生成 key
三、安装lvs—fullnat
[root@server5 ~]# tar zxf Lvs-fullnat-synproxy.tar.gz 解压
[root@server5 ~]# ls
anaconda-ks.cfg kernel-2.6.32-220.23.1.el6.src.rpm rpmbuild
asciidoc-8.4.5-4.1.el6.noarch.rpm lvs-fullnat-synproxy slang-devel-2.2.1-1.el6.x86_64.rpm
install.log Lvs-fullnat-synproxy.tar.gz
install.log.syslog newt-devel-0.52.11-3.el6.x86_64.rpm
[root@server5 ~]# cd lvs-fullnat-synproxy/
[root@server5 lvs-fullnat-synproxy]# ls
lvs-2.6.32-220.23.1.el6.patch lvs-tools.tar.gz README toa-2.6.32-220.23.1.el6.patch
[root@server5 lvs-fullnat-synproxy]# cp lvs-2.6.32-220.23.1.el6.patch ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/ 移动内核文件到 rpmbuild
[root@server5 linux-2.6.32-220.23.1.el6.x86_64]# cd ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/ 进入内核安装目录
[root@server5 linux-2.6.32-220.23.1.el6.x86_64]# patch -p1 < lvs-2.6.32-220.23.1.el6.patch 给内核打补丁 补丁不能重复打
打完补丁,修改Makefile文件,给内核版本命名:
[root@server5 linux-2.6.32-220.23.1.el6.x86_64]# uname -r
2.6.32-431.el6.x86_64
[root@server5 linux-2.6.32-220.23.1.el6.x86_64]# vim Makefile
四、检测与安装
- make
- make modules_install
- make install
五、修改内核文件
vim /boot/grub/grub.conf
修改default的值为0 表示先启动
修改完成后reboot
[root@server5 ~]# cd lvs-fullnat-synproxy/
[root@server5 lvs-fullnat-synproxy]# tar zxf lvs-tools.tar.gz
[root@server5 ipvsadm]# pwd
/root/lvs-fullnat-synproxy/tools/ipvsadm
[root@server5 keepalived]# pwd
/root/lvs-fullnat-synproxy/tools/keepalived
[root@server5 keepalived]#
./configure --with-kernel-dir="/lib/modules/2.6.32-220.23.1.el6.x86_64/build/"
yum install openssl-devel -y 解决依赖性
./configure --with-kernel-dir="/lib/modules/2.6.32-220.23.1.el6.x86_64/build/" 编译
yum install -y popt-devel 解决依赖性
./configure --with-kernel-dir="/lib/modules/2.6.32-220.23.1.el6.x86_64/build/" 重新编译
make 检测安装环境
make install 写入
cd ..
ls
cd ipvsadm/
[root@server5 ipvsadm]# ls
config_stream.c debian ipvsadm.8 ipvsadm-restore.8 ipvsadm.sh PERSISTENCE_ENGINES VERSION
config_stream.h dynamic_array.c ipvsadm.c ipvsadm-save ipvsadm.spec.in README
contrib dynamic_array.h ipvsadm-restore ipvsadm-save.8 Makefile SCHEDULERS
参考:
http://kb.linuxvirtualserver.org/wiki/IPVS_FULLNAT_and_SYNPROXY