LVS-NAT原理及實現

1 重點理解NAT方式的實現原理和數據包的改變

這裏寫圖片描述
(a)當用戶的請求到達調度器時,請求報文會先到內核空間的PREROUTING鏈上。此時報文的源IP爲CIP,目標IP爲VIP
(b)PREROUTING檢查發現數據包的目標IP是本機,就將數據包送至INPUT鏈。
(c)IPVS工作在INPUT鏈上,當數據包抵達INPUT鏈後,IPVS會檢查數據包所請求的服務是否爲集羣服務,若是,修改數據包的目標IP地址爲後端服務器RIP,然後將數據包送往POSTROUTING鏈。此時報文的源IP爲CIP,目標IP爲RIP。
(d)POSTROUTING鏈通過選路,將數據包轉發給Real Server
(e)Real Server對比發現目標IP是自己,就會接受這個請求報文,開始構建響應報文發回給調度器。源IP爲RIP,目標IP爲CIP
(f)調度器在響應客戶端前,會將報文的源IP地址修改爲自己的VIP,然後響應給客戶端。此時報文的源IP爲VIP,目標IP爲CIP

2 LVS-NAT模型的特性

  • RS應該使用私有地址,RS的網關必須指向DIP
  • DIP和RIP必須要在同一網段中
  • 請求報文和響應報文都需要經過調度器,高負載場景中,調度器容易成爲性能瓶頸。
  • 支持端口映射
  • RS可以使用任意操作系統

3 實現

directory:
[root@server1 ~]# ipvsadm -A -t 172.25.56.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.56.100:80 -r 172.25.254.2:80 -m
[root@server1 ~]# ipvsadm -a -t 172.25.56.100:80 -r 172.25.254.3:80 -m
[root@server1 ~]# ip addr add 172.25.56.100/24 dev eth0

[root@server1 ~]# echo "1" >/proc/sys/net/ipv4/ip_forward
#指令中,參數值爲1時啓用ip轉發,爲0時禁止ip轉發,在NAT模式下此操作是必須的。

Real server2/3:
route add default gw 172.25.254.1
/etc/init.d/httpd start

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章