虛擬主機系列 - 打造不死的 DNS 服務 - DNS 系統管理 - 鄙雕兔 vs Linux

虛擬主機系列 - 打造不死的 DNS 服務

一. 說明 :

要當一個虛儗主機的服務供應商, 你就必需要保證你的主機及所有服務都能夠 24x7 的不斷服務, 這樣才能算是有一個基本的水準, 若是每天斷線或者是服務終止的話, 那一定沒有人願意再租用你公司的虛擬主機服務, 而所有服務的基礎就是全 Internet 中最基本的服務 - DNS, 想要打造一個不死的 DNS 服務的話需要有以下幾個東東配合 :

(1) 線路 : 基本上來說最少要有兩條實體的專用線路連上 Internet, 以目前市面上常用的線路來說可以選擇 ADSL, FTTB, Lease Line .. 等, 若是要作一個收費的主機供應商, 最基本一定要採用固定 IP 的線路, 雖然動態 IP 也是可以提供 DNS服務, 不過當服務的流量越來越大後, 若有個切換時間不及的情況發生的話, 那損失的客戶可能會向你要求賠償, 再來為保障全天候的系統服務不中斷, 最好不要採用同一家 ISP 的線路, 最好分別採用兩家的服務, 這樣在安全性來說的話才不會因為單一 ISP 掛了之後, 影響到服務的提供

(2) 主機 :  最最基本上來說一定要有兩台實體的主機, 雙方互相備援, 沒有人可以保證電子設備永遠不會出問題, 在安裝上來說最好放在兩個不同的地方, 以免單一地點因為天災, 或者不可預期的因素造成主機損毀

(3) 網域名稱 :  這個部份最少一定要申請兩個不同的網域名稱, 因為若是只有一個網域名稱會造成單一網域失效後, 服務無法提供的問題, 這部份在實務發生過很多次的狀況, 原本大家會預期說兩個同網域的主機應該會自動備援, 但是通常大家都沒想過, 若是該網域主機已經掛了之後如何能夠提供第二台主機的解析呢 ? 這個部份請看以下說明 :

Ex :
<1> 有一個網域名稱為 abc.com.tw
<2> 該網域到上層DNS 管理單位(通常是 TWNIC 或者 INTERNIC) 註冊了兩台主機, 分別為 :
ns1.abc.com.tw 211.72.1.1
ns2.abc.com.tw 59.120.1.1

<3> 當 ns1.abc.com.tw 的主機發生問題後, 照理說應該上層的 Root DNS 主機應該會將所有 abc.com.tw 的請求導到 ns2.abc.com.tw 上面, 可是經過多次的測試後會發現, 回應並沒有照我們想的動作, 其中一個原因是 Client 端本身的 Cache , 還有上層的 Root DNS 主機好像不會採用 IP 的連線方式將請求送到第二台主機上, 而是直接採用 DNS 名稱解析的方式.

<4> 因此會造成 DNS 服務無法解析出正常的 IP , 當然用戶就會中斷所有 Internet 的服務

(4) DNS Record : 這個部份主要是要將兩個不同的主機上的 DNS Record 作備援的動作, 採用的方式是將 Master Zone 備份到另一個主機的 Slave Zone 上面, 這樣設定的主要原因, 是你只要修改 Master Zone 內的 紀錄, Slave Zone 上的紀錄會跟著作修改

==========================================
 二. 安裝與設定  :

(1) 適用系統  : Fedora Core 3,4,5,6

(2) 適用的 DNS 服務 : Bind 8.x, Bind 9.x

(3) 採用主機系統 : 32bits, 64 bits

(4) 範例網域 :

abc.com.tw (主機 A) 211.72.1.1

xyz.com.tw (主機 B) 59.120.1.1

(5) 兩個網域申請及安裝 : 

<1> 請到 DNS 註冊公司申請兩個網域名稱, 若不知道要去那裏申請可到以下網址上面,  點選 網域名稱申請 , 再依照步驟填入資料就可以了

http://www.a-team.com.tw 

<2> 分別安裝兩台 Linux 主機當作 DNS 的服務

<3>  請先在主機 A 中作以下的設定 :

請新增一個 Master Zone  abc.com.tw

=============================
NS ns2.xyz.com.tw
NS ns1.abc.com.tw

# 以上的設定主要是要讓 abc.com.tw 這個網域的第一順位解析採用 ns2.xyz.com.tw , 第二順位再採用 ns1.abc.com.tw 
# 當用戶端的 Cache 上面有這兩台 DNS 主機的資料時, 若是其中一台有問題, 那就會採用另一台替補

A     ns1.abc.com.tw  211.72.1.1
A     ns2.abc.com.tw  59.120.1.1

:
:
=== 其它的 A Record 請在自行加上去

<4> 在主機 B 中作以下的設定 

請新增一個 Master Zone  xyz.com.tw

=============================

NS ns1.abc.com.tw
NS ns2.xyz.com.tw

# 以上的設定主要是要讓 xyz.com.tw 這個網域的第一順位解析採用 ns1.abc.com.tw , 第二順位再採用 ns2.xyz.com.tw 
# 當用戶端的 Cache 上面有這兩台 DNS 主機的資料時, 若是其中一台有問題, 那就會採用另一台替補

A     ns1.xyz.com.tw 211.72.1.1

A     ns2.xyz.com.tw 59.120.1.1

:
:
=== 其它的 A Record 請在自行加上去

<5> 請在主機 A 中增加一個 Slave Zone(xyz.com.tw) 將主機 B 的 Master Zone 備份
<6> 請在主機 B 中增加一個 Slave Zone(abc.com.tw) 將主機 A 的 Master Zone 備份

<5> 與 <6> 兩個設定的主要用意是要讓兩台主機上面分別都有 abc.com.tw 及 xyz.com.tw 兩個網域的紀錄資料, 這樣當其中一台發生問題的時候,就可以從 Slave Zone 中回應正確的 DNS 請求.

<7> 本地的兩台主機設定完成後請到原申請網域名稱的註冊公司, 分別將兩個網域的設定資料填入 :

abc.com.tw 請填以下資料 :
DNS1 : ns2.xyz.com.tw 59.120.1.1
DNS2 : ns1.abc.com.tw 211.72.1.1

xyz.com.tw 請填以下資料 :

DNS1 : ns1.abc.com.tw 211.72.1.1

DNS2 : ns2.xyz.com.tw 59.120.1.1

以上兩個註冊的設定主要是要讓 Root DNS 知道, 若是第一台主機的請求無法回應時, 請採用第二台

========================================== 

三. 虛擬主機的設定 :

當有一個新的客戶 123.com.tw 要租用服務的時候 :

(1) 請到 DNS 註冊公司申請 123.com.tw 的網域名稱
(2) 申請完後請直接將  DNS 的解析工作指定到以下兩台主機上面 :
DNS1 : ns1.abc.com.tw 211.72.1.1
DNS2 : ns2.xyz.com.tw 59.120.1.1

以上兩個設定是說 123.com.tw 這個網域名稱的解析工作, 交由 ns1.abc.com.tw 及 ns2.xyz.com.tw 這兩台主機來動作, 請千萬不要採用 ns1.123.com.tw 因為會有單一網域服務中斷的問題,  所以請採用之前設定的不死 DNS  服務系統

(3) 請到主機 A 中加上一個 123.com.tw 的 Master Zone 內容如下

NS ns1.abc.com.tw

NS ns2.xyz.com.tw

:
:
=== 其它的 A Record 請在自行加上去 

(4) 再到主機 B中加上一個 123.com.tw 的 Slave Zone 將主機 A 上面的紀錄備援到主機 B

(5) 設定完成後分別重新套用兩台主機上的 DNS 服務, 這樣 123.com.tw 的網域名稱服務就不會掛囉 ^_^

評論: 0 | 引用: 0 | 閱讀: 10906



[鄙雕兔這個人] [曾經] [發表的文] [做過的事] [電腦的問題]

[生活記載] [電腦手扎] [鄙雕留言專區]  [命理講義] --> 講義資料下載

[鄙雕兔的 2006 埃及行]