LVS-Fullnat模式

Lvs-fullnat

Full-NAT解决的是LVS和RS跨VLAN的问题,而跨VLAN问题解决后,LVS和RS不再存在VLAN上的从属关系,可以做到多个LVS对应多个RS,解决水平扩容的问题。
lvs中nat和fullnat的区别:
nat模式下报文变化 fullnat模式下报文变化
发送 接收 发送 接收
cip —> vip cip —>vip
cip —> rip ( DNAT ) lip —> rip ( SNAT + DNAT )
rip —> cip rip —>lip
vip —> cip ( SNAT ) vip —>cip ( SNAT + DNAT )
注:cip为客户端的地址,vip为虚拟地址,rip为真实的服务器,lip为本地地址,SNAT为来源地址转换,DNAT为目的地址转换
图解:
在这里插入图片描述
工作原理:
(1)客户端将请求报文发送给VS;cip->vip
(2)VS将请求报文的目的地址修改为后端真实服务器(DNAT),源地址改为自己的ip地址(SNAT),发送给后端真实服务器;lip->rip
(3)后端服务器在处理完之后要将响应的报文返回给Lvs;rip->lip
(4)LVS将返回的数据包源地址改为自己(SNAT),目的地址改为客户端(DNAT),发送给客户端;vip->cip
数据流走向:Client -> Vs -> Rs -> Vs -> client

官方参考站点:
http://kb.linuxvirtualserver.org/wiki/IPVS_FULLNAT_and_SYNPROXY

编译内核

确保虚拟机磁盘有10G以上空余容量
rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm
在这里插入图片描述
yum install -y rpm-build # rpmbuild此命令需安装rpm-build
在这里插入图片描述
yum install -y gcc redhat-rpm-config patchutils xmlto asciidoc elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel perl-ExtUtils-Embed hmaccalc # 需要安装依赖
在这里插入图片描述
在这里插入图片描述
yum install -y asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpm # 安装依赖,需自行下载安装包
在这里插入图片描述
yum install -y slang-devel-2.2.1-1.el6.x86_64.rpm # 上两个安装包所需的依赖,需自行下载安装包
在这里插入图片描述
在这里插入图片描述
cd rpmbuild/SPECS/
rpmbuild -bp kernel.spec
在这里插入图片描述
此时会卡在此处
在这里插入图片描述
安装rng-tools 并执行rngd -r /dev/urandom此命令即可
在这里插入图片描述
在这里插入图片描述
tar zxf Lvs-fullnat-synproxy.tar.gz
cd 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/

cd …/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
在这里插入图片描述
vim Makefile
EXTRAVERSION = -220.23.1.el6.x86_64
在这里插入图片描述
uname -r #查看内核版本
make
在这里插入图片描述
make modules_install
make install
在这里插入图片描述
vim /boot/grub/grub.conf
#boot=/dev/vda
default=0 #修改默认引导顺序
在这里插入图片描述
完成之后reboot,查看内核信息
在这里插入图片描述
cd lvs-fullnat-synproxy/ # 进入此目录解压lvs-tools.tar.gz
在这里插入图片描述
编译安装keepalived
cd tools/keepalived/
在这里插入图片描述
yum install openssl-devel popt-devel -y #需要安装此依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
make && make install
在这里插入图片描述
编译安装ipvsadm
cd tools/ipvsadm/
make && make install
在这里插入图片描述
在这里插入图片描述
至此fullnat模式环境配置完成

猜你喜欢

转载自blog.csdn.net/qq657886445/article/details/82989109
今日推荐