史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   網路軟硬體架設技術文件 (http://forum.slime.com.tw/f133.html)
-   -   解決雙出口校園網瓶頸 (http://forum.slime.com.tw/thread175065.html)

psac 2006-05-21 06:44 AM

解決雙出口校園網瓶頸
 
解決雙出口校園網瓶頸




作者:陝西/崔騁宇


  由於CERNET和CHINANET之間的帶寬瓶頸等問題,很多高校都採用同時接入教育網(CERNET)和電信網(CHINANET)的雙出口方案,以提高校園網對公共外網的訪問速度和降低網路使用費用。
  西北農林科技大學校園網採用的也是雙出口方案,其中一條鏈路接CERNET,帶寬8M,而另一條接電信網,帶寬100M。通過採用雙出口,校園網訪問公共外網速度慢的問題的確得到了解決,但反過來公共外網訪問校園網慢的問題卻更加突出了。正常情況下校園網伺服器使用的是教育網的域名和IP位址,所有對校園網伺服器的訪問都要走CERNET鏈路,因此,儘管校園網擁有高速的CHINANET鏈路,但公共外網用戶卻只能通過有著帶寬瓶頸的教育鏈路才能訪問到校園網的資源,這無疑是對CHINANET出口鏈路的嚴重浪費。如果再增加一套域名和伺服器是能夠解決這個問題的,但這會增加額外的經費支出,同時校園網的域名也變得不再統一。
  本文以西北農林科技大學校園網為套用背景,探討一種在不增加域名和伺服器的情況下解決以上問題的方法。

關於原則的域名解析
  DNS(Domain Name System)的功能是實現主機域名和主機IP位址之間的相互轉換。當用戶在應用程式中輸入主機域名時,DNS伺服器可以將此名稱解析為與之對應的IP位址。這種DNS上的域名解析一般是靜態的,即域名與IP位址是一一對應的。
  隨著網路的發展以及新的套用的不斷出現,靜態DNS已經不能滿足我們的需要了,因此,產生了域名的動態解析技術。讓我們先來看看DNS伺服器中兩種貌似原則域名解析的域名解析方式。
  首先是多個域名對應一個IP位址:這種情況一般用於實現虛擬主機。只用一個IP位址就可以實現多個擁有不同域名的站點,這對那種IP位址資源短缺但又想擁有多個站點的情形非常有用。
  其次是一個域名對應多個IP位址:在域名服務的組態裡有一種實現伺服器負載均衡的方法,DNS組態文件中一般會有類似下面的內容:
www.youdomain.edu.cn IN A 210.27.80.4
www.youdomain.edu.cn IN A 210.27.80.5
  ……
www.youdomain.edu.cn IN A 210.27.80.N
  這種方法適用多台內容相同的伺服器分流。在這種查詢方式中,DNS伺服器是以輪循的方式回應請求的,即對第一個請求回應的是位址210.27.80.4,下一個請求回應位址就是210.27.80.5,依此類推。
  儘管上面兩種方式可以將一個域名解析成幾個不同的IP位址,或將多個不同的域名解析成一個IP位址,但它們仍然不能算作原則域名解析。這是因為,原則域名解析與上面的兩種方式相比要智能得多,它是關於原則的,DNS伺服器可以根據客戶端所在網路的不同,返回不同的解析結果;或者是DNS伺服器根據客戶端所在網路的不同,套用不同的安全原則,比如對局內網用戶提供遞回解析服務的同時忽略外網用戶的遞回解析請求。

原則域名解析的實現
  相關組態:以WWW伺服器為例,域名為http://www.nwsuaf.edu.cn,配有兩...150.47.6)。
  實現目標:來自教育網對http://www.nwsuaf.edu.cn的域名解...行訪問。
1.DNS伺服器的組態
  Unix/Linux下的DNS服務軟體始終是以Berkeley的BIND(Berkeley Internet Name Domain)程序為主流。BIND 8或者以前的版本無法實現原則域名解析,但從BIND 9開始出現了View語句,可以很好地解決這個問題。
  下面為/etc/named.conf文件的主要內容:
acl edu-nets { 210.27.0.0/16;202.117.0.0/16;… };//所有教育網的網段列表
options{ directory 「/var/named」 #資料檔案存放路徑
  pid-file 「/var/named/named.pid」;
  };
view 「CerNet」{ #定義名為CerNet的view
  match-clients {edu-nets;};
  recursion yes;#遞回解析
  zone 「.」 {type hint;file 「named.ca」;};
zone 「0.0.127.IN-ADDR.ARPA」 {type master; file 「127.0.0」;};
  zone 「nwsuaf.edu.cn」 {type master;file 「nwsuaf.edu.cn.cernet」}; #教育網的解析文件
  zone 「80.27.210.in-addr.arpa」 {type master;file 「210.27.80」;};#反向解析文件
};
view 「ChinaNet 「{ #定義名為ChinaNet的view
  match-clients {any;};#除了教育網以外的所有網路
  recursion no;#關閉遞回解析
  zone 「.」 {type hint; file 「named.ca」};
  zone 「0.0.127.IN-ADDR.ARPA」 {type master;file 「127.0.0」;};
  zone 「nwsuaf.edu.cn」 {type master;file 「nwsuaf.edu.cn.public」;};#公共外網的解析文件
  zone 「47.150.61.in-addr.arpa」 { type master; file 「61.150.47」;};#反向解析文件
};
  然後設定/etc/named下的nwsuaf.edu.cn.cernet和nwsuaf.edu.cn.public:
  在nwsuaf.edu.cn.cernet文件中加上一條記錄:
  www.youdomain.edu.cn IN A 210.27.80.4
  在nwsuaf.edu.cn.public文件中加上一條記錄:
  www.youdomain.edu.cn IN A 61.150.47.6
  經過這樣的組態之後,原則域名就可以正常工作了。其中教育網的網段列表可以從教育科研網(http://www.edu.cn/)獲取。
2.WWW伺服器的組態
  最後,為了配合DNS伺服器中所做的設定,還需要對WWW伺服器的雙網路卡進行設定:
  (1)組態兩張網路卡
  第一塊(eth0):IP位址210.27.80.4,掩碼255.255.255.0,網路閘道210.27.80.1。
  第二塊(eth1):IP位址61.150.47.6,掩碼255.255.255.224,網路閘道61.150.47.30。
  (2)增加路由
  route add -net 210.27.112.0 netmask 255.255.248.0 dev eth0 //到教育網的路由
  route add -net 202.117.176.0 netmask 255.255.240.0 dev eth0 //到教育網的路由
  ……
  route add default gw 61.150.47.30 dev eth1 //到電信網的預設值路由
  最好將上述指令寫入/etc/rc.d/rc.local指令碼,這樣系統啟動時就會載入這些路由訊息。通過以上組態,WWW伺服器就可以正常工作了,公共外網用戶就可以通過校園網的電信高速鏈路訪問WWW伺服器了。
  如果條件允許,也可以組態兩台伺服器,每個網段放置一台,效果會更好。但是如果該伺服器的訪問量很小的話就比較浪費資源,所以在訪問量不是很大的情況下,用一台伺服器加雙網路卡不失為一個好的方案。

總結
  本文在RedHat Linux作業系統下,用BIND 9.3.1實現了域名的動態解析,解決了公共外網訪問校園網速度慢這個一直困擾我們的問題。儘管本文只是動態域名解析技術在雙出口校園網中的一個簡單套用,卻已經讓我們充分領略到BIND 9.0新版本的功能之強大。在規模更大,結構更複雜的網路中,應該能夠發揮更大的作用。


所有時間均為台北時間。現在的時間是 11:38 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1