LVS:
lvs是一個負載調度器,由內核集成,性能強大,支持百萬計并發,
LVS集群的相關概念:
-
VS:虛擬服務器,指LVS服務器自身
-
RS:提供服務的服務器
-
CIP:客戶端ip地址
-
VIP:lvs服務器對外發布的ip地址,用戶通過vip訪問集群
-
DIP:LVS連內網的ip地址叫DIP,用于接收用戶請求的ip叫做VIP
用戶訪問流程:
??客戶端通過 CIP--->VIP--->DIP---->RIP
LVS的四種作業模式:
-
lvs-nat:修改請求報文的目標IP,多目標IP的DNAT
-
lvs-dr:操縱封裝新的MAC地址
-
lvs-tun:在原請求IP報文之外新加一個IP首部
-
lvs-fullnat:修改請求報文的源和目標IP
LVS的NAT作業模式:
NAT:
NAT:網路地址轉發,NAT分為SNAT和DNAT
-
SNAT:內部網路的報文發送出去時,報文的源IP會被修改,也就是源地址轉換
-
DNAT:外部網路的報文回應時,回應報文的目標IP會再次被修改,也就是目標地址轉換
區別:外網向內網發起請求就是DNAT,內網向外網發送請求就是SNAT
LVS-NAT:
lvs-nat:本質是多目標IP的DNAT,轉發的ip和埠可以映射到不同的機器上,
作業流程:

發送報文請求時:CIP發送請求報文到VIP,通過lvs的DIP發送請求出去的時候將目標ip和port更改為內部網路的某一個rs的RIP,
回應報文請求時:RIP發送回應報文的時候,源地址和埠是自身的資訊,經過lvs的時候,lvs的VIP將源ip和埠替換為自己的,最后發送給CIP
說明:
-
RIP和DIP要位于同一網路
-
回應報文需要原路回傳會造成lvs負載加大
-
VS必須是linux系統,RS可以是任意系統
LVS的DR作業模式
DR:Direct Routing,直接路由,LVS的默認模式,不更改報文的埠和ip資訊,而是通過為請求報文重新封裝一個MAC地址進行轉發,
作業流程:

CIP通過VIP發送請求給lvs的時候,請求報文的源MAC改為lsv的DIP網卡的MAC地址,目標MAC是局域網中選擇的一RS的RIP地址,因為每個RS上都有一個VIP,所有VIP都一樣,所以RS就可以直接通過VIP將回應報文發送給CIP
說明:
-
RS都有一個和lvs相同的VIP
-
需要確保CIP向VIP發送請求的時候是發送給lvs(因為每個rs都有和lvs一樣的vip)
-
RS的RIP可以使用私網地址,也可以是公網地址;RIP與DIP在同一IP網路;RIP的網關不能指向DIP,以確保回應報文不會經由Director
-
lvs和rs需要處于同一個物理網路
確保CIP向VIP發送請求報文的時候發送給lvs的方法:
方法一:在路由器上配置arp系結,設定ip和mac得靜態系結,查詢到對應得mac,就把對應得mac決議為ip,
方法二:關閉RS得arp應答功能,請求報文要經由Director(lvs服務器),但回應報文不經由Director,而由RS直接發往Client
arp特殊報文:免費arp,用來探測網路中是否存在地址沖突,
arp回應和主動訊問:
回應:當接收到arp報文的時候,主機會進行回應,通過ip地址得到mac地址
主動訊問:主機會主動向外告訴別人自己的ip對應的mac地址
通過更改RS的內核引數實作:
#將VIP系結在回環網卡上,通過設定內核的引數實作不回應arp報文和靜默模式,
#不回應arp的免費報文
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_ignore
0
#是否開啟靜默
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_announce
0
LVS的TUN模式
相當于可以不處于同一物理網路的DR模式

作業流程:
不修改報文的原ip資訊,而是在加一個IP首部(源:DIP,目標:RIP),RS處理完請求以后直接發送給CIP,因為TUN的RS上也是有VIP,
特點:
-
RIP和DIP可以不處于同一物理網路中,RS的網關一般不能指向DIP,且RIP可以和公網通信,也就是說集群節點可以跨互聯網實作,DIP, VIP, RIP可以是公網地址
-
RS的作業系統需要支持隧道功能
LVS的FULLNAT模式:

作業流程:
通過同時修改請求報文的源IP地址和目標IP地址進行轉發,請求報文通過CIP訪問lvs的時候,將源地址由CIP替換為DIP,目標地址替換為RIP,RS的回應報文園路回傳,
NAT模式只會修改目標地址
特點:
-
VIP是公網地址,RIP和DIP是私網地址,且通常不在同一IP網路;因此,RIP的網關一般不會指向DIP
-
RS收到的請求報文源地址是DIP,因此,只需回應給DIP;但Director(lvs服務器)還要將其發往Client
-
請求和回應報文都經由Director(lvs服務器),支持埠映射
注意:此型別kernel默認不支持,需要修改內核代碼才可以實作,
LVS四種作業模式的比較:
-
NAT:DIP與RIP在同一IP網路;RIP的網關要指向DIP,以確保回應報文經Director(lvs服務器)
-
DR:DIP與RIP在同一IP網路;RIP的網關不能指向DIP,以確保回應報文不會經Director(速度最快、效率最高,)
-
TUN:RIP和DIP可以不處于同一物理網路中,RS的網關一般不能指向DIP,且RIP可以和公網通信,
-
FULLNAT:RIP和DIP未必在同一IP網路,但要能通信
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/520530.html
標籤:Linux
上一篇:在Python中查找和替換字符
