Lvs-dr 原理與配置
目錄
1、ARP介紹
2、DR模式數據包請求響應流程
3、配置過程
4、總結
1、ARP協議介紹
功能:局域網內,根據IP地址獲取MAC地址。
互聯網上面,每一臺主機都有一個32位的IP地址,但是為了在物理網路上傳輸必須知道對方的MAC地址,因為TCP/IP數據包封裝時,先封裝的是IP,然后是MAC地址,因此在查看數據包中的目的IP前,首先要拆掉第二層MAC地址。
①、一般在局域網獲取MAC地址時,
A 某些節點會發送廣播報文,報文中含有自己的MAC地址,問誰有這個IP地址
B 收到廣播報文的主機都會檢查自己擁有的所有IP地址,如果有的話就告訴那個節點說,“我有這個IP地址”,同時把MAC地址封裝在里面
然后,兩者互相擁有的對方的MAC地址,放在arp緩存里面,這里也可以設置即使自己有arp請求的IP地址,但是不去響應。
②、在linux中的相關arp參數
arp_ignore:定義對目標地址為本地IP的ARP詢問不同的應答模式0
0 – (默認值): 回應任何網絡接口上對任何本地IP地址的arp查詢請求
1 – 只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求
2 –只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求,且來訪IP必須在該網絡接口的子網段內
3 – 不回應該網絡界面的arp請求,而只對設置的唯一和連接地址做出回應
4-7 – 保留未使用
8 –不回應所有(本地地址)的arp查詢
arp_announce:對網絡接口上,本地IP地址的發出的,ARP回應,作出相應級別的限制: 確定不同程度的限制,宣布對來自本地源IP地址發出Arp請求的接口
0 – (默認) 在任意網絡接口(eth0,eth1,lo)上的任何本地地址
1 –盡量避免不在該網絡接口子網段的本地地址做出arp回應. 當發起ARP請求的源IP地址是被設置應該經由路由達到此網絡接口的時候很有用.此時會檢查來訪IP是否為所有接口上的子網段內ip之一.如果改來訪IP不屬于各個網絡接口上的子網段內,那么將采用級別2的方式來進行處理.
2 – 對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP數據包的源地址并嘗試選擇與能與該地址通信的本地地址.首要是選擇所有的網絡接口的子網中外出訪問子網中包含該目標IP地址的本地地址. 如果沒有合適的地址被發現,將選擇當前的發送網絡接口或其他的有可能接受到該ARP回應的網絡接口來進行發送
2、DR模式數據包的請求響應流程。
a) 客戶端發送請求到Director,目標地址為VIP。
b) 報文到達網關的時候,網關會問,誰有這個VIP地址,Real server和Director都配置有VIP地址,但是只有,Director響應。
c) Director收到客戶端的報文之后,把報文中的目標MAC地址,根據算法改為Real server中的某一節點的MAC地址。數據包在轉發過去,這時候源和目標IP地址都沒有改變的。
d) Real server收到數據包之后,先拆開MAC層,發現是自己的MAC,在拆IP層,因為自己配置的也有VIP,所以報文就是自己的了。
e) Real server做出響應,把報文中的源和目標IP地址互換,然后響應給客戶機,不需要經過Director
如果Real server只有一塊網卡,所有的報文都會從網關出入,網關可能會成為單點,建議Real server配置外網IP。
3、配置
A、Real server
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce Ifconfig lo:0 vip_address netmask 255.255.255.255 broadcast vip_address up 只和自己通信。 #route add -host vip_address dev lo:0 據說這一條可以不配置 確保有httpd服務,和數據包可以通過,關閉防火墻。
B、Director
①、配置VIP地址
Ifconfig eh0:0 vip_address/prefix up
②、測試能否和real server 通信
Ping real_server_address
③、配置ipvs規則
Ipvsadm -A -t vip_address [-s schedualr -p persistence] Ipvsadm -a -t vip_address -r real_server_address -g [-w #] Ipvsadm -a -t vip_address -r real_server_address -g [-w #]
3.2 配置實例
Director: DIP 192.168.198.160 VIP:192.168.198.161 Real server: Node2:192.168.198.140 Node3:192.168.198.150
Real server:
node3和node2配置是一樣的。
Director
看一下效果
4、總結:
1、只是使用了簡單的調度算法,使用其他的可以在配置director 的時候加上-s 調度算法
2、使用-p選項可以持久連接
3、這個后臺,我怎么編輯,前臺看起來間隙都是很大啊。
最后就是提升一下做事的效率了,寫篇博客花了不少時間。
http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html arp參數的含義。
http://wolfchen.blog.51cto.com/2211749/1122841 lvs dr配置詳解
原創文章,作者:艾賀,如若轉載,請注明出處:http://www.www58058.com/8153