1. 程式人生 > >LVS-NAT和LVS-DR類型的工作原理及實現步驟

LVS-NAT和LVS-DR類型的工作原理及實現步驟

本地 頭文件 交換機 響應 實現原理 arp 處理 直接 通告

lvs-dr類型工作原理:
①:client端向目標IP(VIP)發送請求,經由路由器和交換機設備和後,此時的請求數據包頭文件的目標MAC值為調度器的MAC,源MAC值為client的MAC,目標IP為VIP,源IP為CIP。
②:調度器經調度算法會選擇一臺RS,並將客戶端請求頭文件重新封裝,重新封裝後,目標MAC變為經調度算法選擇後的RS的MAC值,源MAC為調度器的MAC值
③:RS收到調度器發來的請求並拆包處理,拆包後包頭文件目標IP依然為VIP,源IP依然為CIP,因為在RS上也配置了VIP,所以RS會將請求包處理並直接響應給client,不會再經由調度器。
疑問:
為什麽調度器和RS都配置VIP,client的請求只會到達調度器,而不會產生IP沖突?
因為client在向VIP發送請求時,會經過路由器交換機,交換機會將請求在局域網內廣播出去(調度器和RS在同一局域網),此時只要配置了VIP的主機都會響應,造成IP沖突,
要解決這個問題,就需要阻斷交換機的廣播送達RS,讓client的請求只到達調度器,有三種辦法可以實現:
①:在路由器上做ARP綁定(此方法不推薦)
②:arptables
③:修改RS內核參數(推薦此方法)
對linux主機來講,地址是屬於內核而不是屬於主機,所以默認情況下同一主機的各網卡默認都是知道其他網卡的地址數據的,
當請求到達主機某一網卡時,此主機的其他網卡也能收到通知,若地址與自己相符,也會發出響應。通過修改內核arp_ignore,arp_announce兩參數可以配置通告響應限制等級
arp_ignore:限制響應級別
0:默認值,使同一主機任意網卡配置的任意地址進行響應
1:僅在請求的目的IP配置在本地主機網卡地址相同時,才給予響應
arp_announce:限制通告級別
0:默認值,把本機上的所有網卡的所有信息向本機所有接口進行通告
1:盡量避免默認情況
2:必須避免默認情況
配置:http://blog.51cto.com/13322786/2158968

lvs-nat類型實現原理:
①:client端向目標IP(VIP)發送請求,目標IP為VIP,源IP為CIP。
②:調度器收到請求後,將請求經內核轉發至DIP,經過調度算法,選擇一臺RS處理請求,此時請求的目標IP為RIP,源IP為DIP
③:RS接收並處理請求,響應給調度器,再由調度器將處理完成的請求響應給client

配置:http://blog.51cto.com/13322786/2156492

LVS-NAT和LVS-DR類型的工作原理及實現步驟