国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

關于兩條鏈路實現負載均衡和容錯的設計

2020-04-18 12:49:56
字體:
來源:轉載
供稿:網友
某公司的網絡如下圖所示:

        該公司有兩條專線,一條聯通的2M 租線,另一條互聯通的512K 租線;有一臺Linux 做的WEB服務器,該WEB服務器有一張網卡,接到中心交換機3560上。公司希望,當兩條線路都正常時,客戶能夠通過任何一條專線訪問公司的WEB服務器,實現負載均衡;而且,當任何一條線路出現故障時,用戶仍然可以訪問WEB服務器。    分析:為了實現兩條線路正常時的負載均衡,可以通過配置DNS輪詢實現。而為了實現容錯,我們需要實現 從哪條線路進來的請求,其響應也從該線路出去,這是解決問題的關鍵所在。因為,如果從一條線路進去的請求,其響應從另外一條線路出來的話,那么TCP的三次握手不可能完成,TCP連接不可能建立起來(因為兩條線路上都有防火墻)。而且,即使不考慮防火墻的狀態檢測機制,假設兩條線路都正常時TCP連接能夠建立起來,但是,一旦其中一條線路掛了,那么連接也不可能建立得起來,容錯機制也不能實現。    DNS輪詢,比較簡單,我們不做深入的討論。由于該公司的域名是在域名供應商那里注冊的,所有只需要在域名供應商的網站上做適當配置:將該公司的WEB服務器域名 www.xxx.com.cn 分別映射到IP地址 x.x.x.x(聯通IP) 和 y.y.y.y(互聯通IP)就完事了。當用戶瀏覽www.xxx.com.cn的時候,瀏覽器會智能地在這兩個IP之間作出選擇。    下面我們討論怎樣實現 從哪條線路進來的請求,其響應也從該線路出去。我們可以這樣來做:     第一步:在聯通線路的防火墻上,將聯通給我們的IP地址x.x.x.x 的80端口映射到內網地址 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.1iptables -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      第二步:在互聯通線路的防火墻上,將互聯通給我們的IP地址y.y.y.y 的80端口映射到內網地址 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.2iptables -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服務器上,為網卡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服務器上配置策略路由:將來自聯通線路的,發給192.168.168.1的請求的響應包,發送給192.168.168.11,然后通過聯通的線路,返回給用戶;將來自互連通線路的,發給192.168.168.2的請求的響應包,發給192.168.168.12,然后通過互聯通的線路返回給用戶.這樣,就可以實現 從哪條線路進來的請求,其響應也從該線路出去。 具體配置如下:[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 list0:      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 1default via 192.168.168.11 dev eth0 [root@web ~]# ip route list table 2default via 192.168.168.12 dev eth0 就這樣,就搞定了。Good Luck !!!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴忠市| 潼南县| 离岛区| 马鞍山市| 吉林省| 临洮县| 阳西县| 陆良县| 岢岚县| 五寨县| 鹿泉市| 肃宁县| 页游| 阜城县| 湟源县| 兴山县| 清徐县| 沅陵县| 锡林郭勒盟| 阿拉善左旗| 余庆县| 辽阳市| 吐鲁番市| 巴东县| 彩票| 班戈县| 伊宁县| 清河县| 周口市| 温宿县| 汶川县| 汤阴县| 北海市| 新竹县| 霸州市| 额敏县| 广河县| 康马县| 龙胜| 开远市| 崇仁县|