關(guān)于兩條鏈路實現(xiàn)負載均衡和容錯的設(shè)計
發(fā)布時間:2010-09-07 23:41:34 作者:佚名
我要評論

某公司的網(wǎng)絡(luò)如下圖所示:
該公司有兩條專線,一條聯(lián)通的2M 租線,另一條互聯(lián)通的512K 租線;有一臺Linux 做的WEB服務(wù)器,該WEB服務(wù)器有一張網(wǎng)卡,接到中心交換機3560上。公司希望,當兩條線路都正常時,
某公司的網(wǎng)絡(luò)如下圖所示:
2M 租線,另一條互聯(lián)通的512K 租線;有一臺Linux 做的WEB服務(wù)器,該WEB服務(wù)器有一張網(wǎng)卡,接到中心交換機3560上。公司希望,當兩條線路都正常時,客戶能夠通過任何一條專線訪問公司的WEB服務(wù)器,實現(xiàn)負載均衡;而且,當任何一條線路出現(xiàn)故障時,用戶仍然可以訪問WEB服務(wù)器。
分析:為了實現(xiàn)兩條線路正常時的負載均衡,可以通過配置DNS輪詢實現(xiàn)。而為了實現(xiàn)容錯,我們需要實現(xiàn) 從哪條線路進來的請求,其響應(yīng)也從該線路出去,這是解決問題的關(guān)鍵所在。因為,如果從一條線路進去的請求,其響應(yīng)從另外一條線路出來的話,那么TCP的三次握手不可能完成,TCP連接不可能建立起來(因為兩條線路上都有防火墻)。而且,即使不考慮防火墻的狀態(tài)檢測機制,假設(shè)兩條線路都正常時TCP連接能夠建立起來,但是,一旦其中一條線路掛了,那么連接也不可能建立得起來,容錯機制也不能實現(xiàn)。
DNS輪詢,比較簡單,我們不做深入的討論。由于該公司的域名是在域名供應(yīng)商那里注冊的,所有只需要在域名供應(yīng)商的網(wǎng)站上做適當配置:將該公司的WEB服務(wù)器域名 www.xxx.com.cn 分別映射到IP地址 x.x.x.x(聯(lián)通IP) 和 y.y.y.y(互聯(lián)通IP)就完事了。當用戶瀏覽www.xxx.com.cn的時候,瀏覽器會智能地在這兩個IP之間作出選擇。
下面我們討論怎樣實現(xiàn) 從哪條線路進來的請求,其響應(yīng)也從該線路出去。我們可以這樣來做:
第一步:在聯(lián)通線路的防火墻上,將聯(lián)通給我們的IP地址x.x.x.x 的80端口映射到內(nèi)網(wǎng)地址 192.168.168.1的80端口:
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d x.x.x.x/32 \
--dport 80 -j DNAT --to-destination 192.168.168.1
iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.1/32 -d 0/0 \
--sport 80 -j SNAT --to-source x.x.x.x
第二步:在互聯(lián)通線路的防火墻上,將互聯(lián)通給我們的IP地址y.y.y.y 的80端口映射到內(nèi)網(wǎng)地址 192.168.1.2的80端口:
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d y.y.y.y/32 \
--dport 80 -j DNAT --to-destination 192.168.168.2
iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.2/32 -d 0/0 \
--sport 80 -j SNAT --to-source y.y.y.y
第三步:在WEB服務(wù)器上,為網(wǎng)卡eth0綁定兩個IP地址:192.168.168.1,192.168.168.2:
[root@web network-scripts]# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:76:23:23:9A
IPADDR=192.168.168.1 NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet [root@web network-scripts]# cat ifcfg-eth0:0
DEVICE=eth0:0
HWADDR=00:0C:76:23:23:9A
IPADDR=192.168.168.2 NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet 第四步:在WEB服務(wù)器上配置策略路由:將來自聯(lián)通線路的,發(fā)給192.168.168.1的請求的響應(yīng)包,發(fā)送給192.168.168.11,然后通過聯(lián)通的線路,返回給用戶;將來自互連通線路的,發(fā)給192.168.168.2的請求的響應(yīng)包,發(fā)給192.168.168.12,然后通過互聯(lián)通的線路返回給用戶.這樣,就可以實現(xiàn) 從哪條線路進來的請求,其響應(yīng)也從該線路出去。 具體配置如下: [root@web ~]# ip route add table 1 default via 192.168.168.11
[root@web ~]# ip route add table 2 default via 192.168. 168.12
[root@web ~]# ip rule add from 192.168.168.1 table 1
[root@web ~]# ip rule add from 192.168.168.2 table 2
[root@web ~]# sh ip rule <--- IOS ^-^
/sbin/ip: /sbin/ip: cannot execute binary file
[root@web ~]# ip rule list
0: from all lookup local
32764: from 192.168.168.2 lookup 2
32765: from 192.168.168.1 lookup 1
32766: from all lookup main
32767: from all lookup default
[root@web ~]# ip route list table 1
default via 192.168.168.11 dev eth0
[root@web ~]# ip route list table 2
default via 192.168.168.12 dev eth0
就這樣,就搞定了。Good Luck !!!
DEVICE=eth0
HWADDR=00:0C:76:23:23:9A
IPADDR=192.168.168.1 NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet [root@web network-scripts]# cat ifcfg-eth0:0
DEVICE=eth0:0
HWADDR=00:0C:76:23:23:9A
IPADDR=192.168.168.2 NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet 第四步:在WEB服務(wù)器上配置策略路由:將來自聯(lián)通線路的,發(fā)給192.168.168.1的請求的響應(yīng)包,發(fā)送給192.168.168.11,然后通過聯(lián)通的線路,返回給用戶;將來自互連通線路的,發(fā)給192.168.168.2的請求的響應(yīng)包,發(fā)給192.168.168.12,然后通過互聯(lián)通的線路返回給用戶.這樣,就可以實現(xiàn) 從哪條線路進來的請求,其響應(yīng)也從該線路出去。 具體配置如下: [root@web ~]# ip route add table 1 default via 192.168.168.11
相關(guān)文章
華為c8500提取root權(quán)限刪除電信定制軟件詳細教程
本人用的是anroid 2.1版本,定制軟件過多,空間也不夠用了,所以想到精簡一些軟件,特通過下面的方法來實現(xiàn)。有需要的朋友可以參考下。2011-06-13- 下面給大家介紹一下華為 U8660 另一種一鍵 ROOT 權(quán)限的方法,接下來就一起看一下2012-05-03
- htc one x是剛剛出的機器,翻新機應(yīng)該很少,也不敢說沒有,現(xiàn)在什么都可能發(fā)生,幫大家搜集到了一些htc one x 的驗機步驟,大家可以看看。2012-05-26
聯(lián)想A750獲取root權(quán)限的詳細方法(圖文教程)
本教程教你如何把聯(lián)想A750的最高權(quán)限也就是root權(quán)限給獲取到2012-07-09聯(lián)想A750安裝驅(qū)動的詳細方法 對刷機.ROOT不懂的必看!(圖文教程)
a750刷機時.經(jīng)常會有提示裝不了驅(qū)動.下面我們先把裝驅(qū)動的方法介紹給大家2012-07-09- 騰訊手機管家PC版對于市場上常用的手機都能很好的支持.插上線就能root.比較方便2012-07-12
root是什么意思 root權(quán)限是什么 安卓手機root權(quán)限如何獲取
root是什么意思?安卓手機root權(quán)限獲取應(yīng)該怎么做?如何一鍵root安卓手機?這是很多安卓手機新手所面臨的幾個重大問題。2012-07-24- ROOT權(quán)限,很多機友不知道root是什么意思,不會root,下面見簡單的說說常見的問題及其如何正確用root手機2012-07-31
- 一提到刷機、ROOT,狠多人頭都大了。系統(tǒng)權(quán)限、rom版本,一連串專業(yè)名詞眼睛都看花了。今天我來教大家一種最便捷的方式,擁有史上爆高的成功率,完美支持超過65個品牌手機2012-10-20
- E120LRoot的關(guān)鍵步驟分為四步,務(wù)必要小心為手機一鍵Root,一定要根據(jù)軟件的提示來操作手機,第五個步驟是進一步確認Root的2013-02-21