lvs系列之nat(一)

LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集羣系統。本項目在1998年5月由章文嵩博士成立,是中國國內最先出現的自由軟件項目之一。html

關術語算法

CIP:客戶端IP瀏覽器

Director:負責調度集羣的主機;也簡稱調度器、分發器服務器

VIP:一般此IP綁定域名,對外公佈的IP,即客戶請求進來的IP地址網絡

DIP:調度器和RealServerRIP通訊的IP負載均衡

RealServer:也稱爲真實內部服務器,是真正在提供WEB服務的,簡稱RScurl

RIP:內部真正提供服務的主機IPide

wKioL1VG3jjTHuLXAACcWHIFfVc971.jpg

負載均衡LVS_NAT(地址轉換模型)原理:測試

RS1RIP1RS2RIP2在私網內,不能與外界通訊,可是能夠和DirectorDIP通訊,而DirectorVIP是與外界連通的,因此RS1RS2與外界的通訊必須通過Director轉發。url

客戶端請求WEB資源,發送請求到directorVIPDirector經過負載均衡算法選擇RS1,經過修改數據幀的目標地址,經過DIP轉發給RS1RIP1RS1將請求的WEB資源封裝響應給CIP,不過要先發送到Director進行轉發給客戶端CIP

模擬過程:

當客戶端CIP請求WEB資源時,將請求數據幀發往VIP,此時

IP

目標IP

CIP

VIP172.16.58.1

 

Director經過負載均衡算法選定出RS1,並將客戶端CIP請求WEB資源的數據幀的目標IP改成RS1RIP1,此時

IP

目標IP

CIP

RIP1192.168.10.8

 

RS1接收數據幀後,將請求的WEB資源從新封裝響應給CIP,可是必需要通過Director的轉發才能夠響應給CIP,此時

IP

目標IP

RIP1192.168.10.8

CIP

 

Director接收到來自RS1響應的數據幀後,要修改源IPVIP來響應客戶端的請求,此時

IP

目標IP

VIP172.16.58.1

CIP

這樣就完成了一次客戶端訪問WEB資源的過程

 

實驗環境準備:

配置一個lvs_nat模型集羣,咱們這裏須要三個虛擬機,一個爲Director,一個RIP1,一個RIP2.

Director:負載均衡調度器

         VIP172.16.58.1

         DIP192.168.10.7

RS1:真實WEB服務器1

         RIP1192.168.10.8

RS2:真實WEB服務器2

         RIP1192.168.10.9

 

做爲Director的虛擬機先關機添加一塊網卡,設備爲eth1

DIP RIP1 RIP2在同一私網內,這三臺虛擬機網卡都選擇同一網絡鏈接方式

實戰配置:

如下均爲臨時設置,想要永久有效須要修改配置文件/etc/sysconfig/network-scripts/INTERFACE

RS1的配置:

#設置RIP1

ifconfig eth0 192.168.10.8up

#查看

ifconfig

#啓動httpd

service httpd start

#查看httpd啓動是否成功,80端口是否啓用

ss –tnl | grep :80

#添加index.html首頁用於測試

echo 「RS1」 > /var/www/html/index.html

#查看測試頁

curl http://192.168.10.8

#從服務器上同步時間

ntpdate 172.16.0.1

 

RS2的配置:

#設置RIP2

ifconfig eth0 192.168.10.9up

#查看

ifconfig

#啓動httpd

service httpd start

#查看httpd啓動是否成功,80端口是否啓用

ss –tnl | grep :80

#添加index.html首頁用於測試

echo 「RS1」 > /var/www/html/index.html

#查看測試頁

curl http://192.168.10.8

#從服務器上同步時間

ntpdate 172.16.0.1

 

Director的配置:

#設置VIP

ifconfig eth0 172.16.58.1 up

#設置DIP

ifconfig eth0 192.168.10.7 up

#查看

ifconfig

#清除iptables規則

iptales -F

service iptales save

#開啓轉發功能

echo 1> /proc/sys/net/ipv4/ip_forward

或者修改配置文件/etc/sysctl.conf

net.ipv4.ip_forward = 1

 sysctl–p 使配置生效

#添加集羣服務

ipvsadm –A –t 172.16.58.1:80 –s rr

#添加真實服務器RS1RS2

ipvsadm –a –t 172.16.58.1:80–r 192.168.10.8 –m

ipvsadm –a –t 172.16.58.1:80–r 192.168.10.9 –m

#從服務器上同步時間

ntpdate 172.16.0.1

#訪問測試效果

瀏覽器訪問172.16.58.1,不斷刷新

相關文章
相關標籤/搜索