1. 程式人生 > >LVS-Fullnat模式

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模式環境配置完成