1. 程式人生 > >實現LVS負載均衡NAT模式

實現LVS負載均衡NAT模式

linux 負載均衡 lvs nat模式

1、LVS-NAT實現原理簡述 技術分享

註釋:

ipvs:工作於內核上的netfilterINPUT鉤子之上的程序,可根據用戶定義的集群實現請求轉發;

VSVirtual Server 虛擬服務

Director, Balancer 負載均衡器、分發器

RSReal Server 後端請求處理服務器

CIP: Client IP 用戶端IP

Director Virtual IP: VIP 負載均衡器虛擬IP

Director IP: DIP 負載均衡器IP

RealServer IP: RIP 後端請求處理服務器IP

其中:VIP是讓用戶訪問的,DIP是讓後端服務器通信的

(1) 當用戶請求到達DirectorServer,此時請求的數據報文會先到內核空間的PREROUTING鏈。此時報文的源IP為CIP,目標IP為VIP

(2)PREROUTING檢查發現數據包的目標IP是本機,將數據包送至INPUT鏈

(3) IPVS比對數據包請求的服務是否為集群服務,若是,修改數據包的目標IP地址為後端服務器IP然後將數據包發至POSTROUTING鏈。此時報文的源IPCIP,目標IPRIP

(4) POSTROUTING鏈通過選路,將數據包發送給RealServer

(5) Real Server比對發現目標為自己的IP,開始構建響應報文發回DirectorServer。此時報文的源IPRIP,目標IPCIP

(6)Director Server在響應客戶端前,此時會將源IP地址修改為自己的VIP地址,然後響應給客戶端。此時報文的源IP為VIP,目標IP為CIP


2、實驗:

實驗準備:

三臺主機,一臺負載均衡器,兩臺後端服務器

LVS-server 兩個網卡,橋接模式,僅主機模式

後端服務器:僅主機模式 技術分享

(1)在LVS-server上配置

1.安裝包

yum install ipvsadm

2.開啟一個基於80端口的虛擬服務,調度方式為wrr

ipvsadm -A -t 172.17.251.106:80 -s wrr

3.配置web後端服務器real server為net工作方式,權重為1

ipvsadm -a -t 172.17.251.106:80 -r 192.168.191.107 -m -w 1

ipvsadm -a -t 172.17.251.106:80 -r 192.168.191.110 -m -w 1

4.修改內核參數,允許路由轉發

vim /etc/sysctl.conf

修改 net.ipv4.ip_forward = 1

sysctl -p 查看生效

(2)在兩個real server上添加默認路由指向DIP

route add default gw 192.168.191.106

(3)為了方便測試。

在real server上實現LNMP。可以安裝下面步驟實現

http://guanm.blog.51cto.com/13126952/1978354

192.168.191.107上

cd /data/web

echo site1 > index.html

192.168.191.110上

cd /data/web

echo site2 > index.html

(4)在客戶端測試

curl http://172.17.251.106/index.html

可以看到依次出現site1 ,site2 ,因為兩者的權重一樣

本文出自 “Linux 學習記錄” 博客,請務必保留此出處http://guanm.blog.51cto.com/13126952/1979127

實現LVS負載均衡NAT模式