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.cnblogs.com/heyongshen/p/16827111.html
(版權歸原作者所有,侵刪)
文末福利 掃碼無償領?。▊渥⑦\維入門到進階)
添加圖片注釋,不超過 140 字(可選)
本文鏈接:http://www.thecarconnectin.com/46820.html
網友評論comments