伺服器架設篇 - CentOS 5.x

第十章、申請合法的主機名稱

主機名稱是很重要的,尤其是動態的 DNS 主機名稱,本文還有談論動態的 DNS 之偵測技巧,以及相關的文件!

最近更新時間: 2011/02/15

本文資料主要針對 CentOS 5.x 的系統進行說明,而 CentOS 5.x 已經在 2017 年 3 月份正式不再進行維護,事實上,在 2012 年底幾乎就不再維護了。 因此,建議您前往本站查詢最新版本的 Linux distribution 文章來閱讀,比較不會浪費時間。那為何還需要編輯 CentOS 5 的資料呢? 鳥哥只想要做個自己曾經撰寫過的文件內容保存而已囉! ^_^!最新文章請前往鳥站首頁查閱囉!
在讀完了網路基礎並且架設了個人簡易的防火牆之後,總算是準備要開始來給他進入 Server 的架設了!伺服器架設的步驟裡面,很重要的一點是『你的主機名稱必須要在 Internet 上面可以被查詢』才好!這是因為人類對於 IP 記憶力不佳,所以才會以主機名稱來取代 IP。不過, 你的主機名稱要能夠被查詢到才有用啊!這個時候,一個『合法』的主機名稱就很重要了!那要合法的主機,就得要讓 DNS 系統能夠找的到你的主機啊!不過,如果我們的主機是使用撥接得到的不固定 IP 呢?又該如何申請 DNS 主機名稱?那就得要使用動態 DNS 的系統囉!在這個章節中,我們主要在介紹 Client 端的設定,而不是在設定 DNS 伺服器喔! ^_^

10.1 為何需要主機名稱

如果你已經將第二章的網路基礎看完的話,應該會知道其實我們的 TCP/IP 環境只要有 IP 與正確的路由即可連線了。那麼你申請主機名稱要幹嘛?因為『沒辦法啊!人腦太不中用了!』舉例來說,你可以背出來我們常上去查資料的 www.google.com 的 IP 嗎?報告!鳥哥沒辦法背出來~

因為 IP 是那麼難背的東西,而且,如果你的 IP 又是類似撥接的不固定的 IP 時,那還更傷腦筋呢! 因此我們才會習慣以熟悉的英文字串來做為主機名稱,然後讓『這個主機名稱與 IP 達成對應』,那直接記憶主機名稱就行了,反正 IP 的查詢就交給電腦主機來做即可!在這樣的想法下,我們當然就需要有主機名稱啦!

Tips 鳥哥 在這個章節當中,我們將會介紹如何申請一個合法的主機名稱。目前 Internet 上面使用的主機名稱都是透過所謂的 DNS 系統,而你想要取得一個 DNS 的主機名稱,就必須要『註冊』,所謂的『註冊』就是要錢去申請啦! 當然也有免費提供主機名稱的服務啦!在這個章節當中鳥哥不會介紹如何架設一部 DNS 主機, 而是介紹如何利用註冊或免費申請的方式來達成主機名稱的取得。

10.1.1 主機名稱的由來

因為 IP 是這麼難記憶的東西,因此人們就使用『名字』來對應到主機的 IP,這就是主機名稱的由來。 好在早期連上網路的電腦數量不多,所以在網路上的人們就想出一個簡單的辦法來進行主機名稱與 IP 的對應,那就是『在每部電腦的 /etc/hosts 裡面設定好主機名稱與 IP 的對應表』。那麼人們就可以直接藉由主機名稱來連接上某些網路上的主機囉!

然而因為科技的發達,連上 Internet 的人們越來越多,使用 /etc/hosts 的方法已經搞不定了 (只要一部新電腦上線,全部 Internet 上面的所有電腦都要重新改寫 /etc/hosts 才行!) ,這個時候領域名稱系統 ( Domain Name System, DNS ) 就適時的出現了!

DNS 利用類似樹狀目錄的型態,將主機名稱的管理分配在不同層級的 DNS 伺服器當中,經由分層管理,所以每一部伺服器記憶的資訊就不會很多,而且異動上面也相當的容易修改! 這個 DNS 的功能你知道了嗎?對啦!就是『將電腦主機的名稱轉譯成 IP 』就是了!當然囉,他的額外功能還很多,關於 DNS 的詳細的解析部分我們將在後續的 DNS 伺服器架設章節當中再持續的加強內容,總之, 它的最大功能就是『讓有意義的,人類較容易記憶的主機名稱(英文字母) ,轉譯成為電腦所熟悉的 IP 位址!

透過上面的簡單說明,你得要知道,如果你想要一個主機名稱,那你就得要透過 DNS 系統,而不是單純的修改你的 /etc/hosts 而已。 那你如何加入一個主機名稱到 DNS 系統當中呢?『授權』是重點!那什麼是授權呢?

10.1.2 重點在合法授權

很多朋友都認為:『因為我想要架站,所以主機需要有個主機名稱,因此我就得要架設 DNS 伺服器?』是這樣嗎?當然不是囉!DNS 是個很龐大的架構,而且是串連在全球的網路當中,除非你經由『註冊』的手續來讓 DNS 系統承認你主機名稱存在的合法性,否則你架設的 DNS 只能說是一個『地下練習的測試站』而已啦!並沒有用途的。

那我要如何加入 DNS 系統呢?很簡單啦!首先你必須要選擇一個註冊單位, 並且檢查出你想要註冊的主機名稱是否存在?主機名稱是有意義的,並不是你可以隨便註冊的喔! 舉例來說,在台灣常見的個人網站註冊主機名稱為: *.idv.tw ,而公司行號則可能註冊為 *.com.tw 了!這個得要特別留意。至於台灣地區的註冊單位很多,你可以選擇例如 Hinet 或 Seednet 之類的 ISP 來註冊。當然,你也可以選擇免費的 no-ip.org 來註冊的。

如果想要瞭解啥是『合法授權』的話,得要從 DNS 主機名稱的查詢方式來談起,由於 DNS 查詢的方式都是由上層的 ISP 提供解析授權給下游的註冊者,因此,下游的註冊者只要設定妥當後, 全世界的主機就會知道你設定的資料了。詳細的查詢流程我們留到DNS 伺服器章節再來談, 底下僅是介紹一個簡單的查詢示意圖。

DNS 查詢示意圖
圖 10.1-1、 DNS 查詢示意圖

舉崑山資訊傳播系的 WWW 伺服器的主機名稱註冊方式來說好了,我們系上得要先跟崑山計中 (相當於我們的 ISP) 註冊取得 www.dic.ksu.edu.tw 這個主機名稱與 IP 的對應, 這個對應資訊是寫在崑山計中的 DNS 伺服器上,與資傳系的 WWW 伺服器無關喔!那你怎麼知道那部 www.dic.ksu.edu.tw 在哪裡?你會先向你的 DNS 要求查詢,該 DNS 會去向全世界的 DNS 系統查詢,該系統會主動的查詢到 KSU dns 伺服器, 然後你的 PC 就會知道 www.dic.ksu.edu.tw 的 IP 在哪,最後你就開始連線囉。

從這個流程當中,你可以發現我們的 www 伺服器與 KUS dns 伺服器沒有絕對關係,兩者是獨立的,我們只要作好 DNS 的『註冊』工作 (向計中申請註冊) 即可,並不需要去維護 DNS 的資訊。所以囉, 這裡你只要知道:(1)主機名稱的設計是有意義的,不可以隨便設定、 (2)主機名稱要生效,得要透過註冊來取得合法授權。這樣就好了,如果想要架設 DNS 與更瞭解 DNS 系統的話, 等到後續的 DNS 伺服器章節再來談。

Tips 鳥哥 在這個章節當中,理論方面的講解比較少,因為很多資料都與 DNS 伺服器篇 有重複,在這個章節當中鳥哥主要在介紹動態 IP 架站的一個簡單主機名稱申請方式啦! ^_^

10.1.3 申請靜態還是動態 DNS 主機名稱

由上面的說明當中,我們可以很清楚的知道 DNS 系統最大的功能就是在主機名稱對應 IP 的轉譯上面。當然啦,預設的 DNS 轉譯是用在『固定 IP 對應主機名稱』的方法上面的!就像上面的圖 10.1-1 所示一般。在這個情況底下,你在 DNS 架構下申請完主機名稱後, 如果你的 IP 不會更動,那就永遠不用去煩惱主機名稱的相關問題囉,這也是所謂的靜態 DNS 主機名稱功能。

但是...夭壽喔!我們的很多小網站都是以非固定 IP 來上網的,更有甚者,某些 ADSL 撥接模式甚至會定時強制斷線,也就是說, 在一段時間後,我們都得需要重新撥接上網,而每次撥接成功後取得的 IP 可不見得相同啊,如此一來 IP 不是一直在變嗎? 那麼我不就需要一直跟我上層 DNS 主機的管理員申請『變更 IP 』嗎?會不會太麻煩了點?

是很麻煩啊!所以現在為了解決這個問題,很多 ISP 提供了所謂的動態 DNS 服務的功能,他是這樣做的:

  1. Client 端(就是你啦)每次開機或者是重新撥接,並取得一個新的 IP 之後,會主動向 DNS Server 端提出要求,希望 Server 端變更主機名稱與 IP 的對應 (這個步驟在每個主要的 ISP 都有提供適當的程式來提供給 client 使用);

  2. Server 端接受 Client 端的要求之後,會先去查詢 Client 提供的帳號密碼是否正確, 若正確就會立即修改 Server 本身對於你的主機名稱的設定值。

所以囉,每次我們取得了新的 IP 之後,我們的主機名稱對應的 IP 也會跟著在 DNS 系統上面更新, 如此一來,只要別人知道你的主機名稱,不論你的 IP 為何,他一定可以連上你的主機 (因為 IP 跟著你的主機而變!) 這對於我們這種使用動態 IP 的人是很有幫助的! (阿!真是造福我們這些窮苦人家的孩子呀!) 整個程序就有點像底下的圖示,WWW 伺服器與 DNS 伺服器之間就有關連性啦。

動態 DNS 服務--用戶端向伺服器端發送更新要求
圖 10.1-2、動態 DNS 服務--用戶端向伺服器端發送更新要求

不過,還是需要注意的是,目前的主機名稱申請很多是『需要錢的』!如果你需要比較穩定的主機名稱對應 IP 的服務,那麼花點錢來註冊還是必須的。不過,如果是實驗性質的網站,那麼也是可以申請免費的動態 DNS 服務喔!

10.2 註冊一個合法的主機名稱

根據前面的說法,如果你只想要有合法的主機名稱的話,那麼依據你的 IP 是否固定而有: (1)靜態 DNS 主機名稱與 (2)動態 DNS 主機名稱兩種註冊方式。底下鳥哥列出自己有註冊經驗的網站提供大家參考:

  • 靜態 DNS 主機名稱註冊:
    靜態 IP 對應主機名稱的註冊網站實在太多了,底下是鳥哥有註冊經驗的網站:
  • 動態 DNS 主機名稱註冊:
    至於免費的動態 DNS 系統主要就是這個 NO-IP 公司提供的網站囉!如下連結:

10.2.1 靜態 DNS 主機名稱註冊:以 Hinet 為例

靜態 DNS 的申請方式其實都差不多,都是需要:

  1. 先查詢所想要註冊的網域是否存在;
  2. 進入 ISP 去申請註冊你所想要的主機名稱;
  3. 繳費,並等待主機名稱被啟用。

我們以台灣蠻常見的 Hinet 這個 ISP 提供的『個人網域: .idv.tw』註冊方式來說明:


  • 1. 登入主畫面,並查詢欲註冊網域是否存在

    先連結到底下的網頁去:http://nweb.hinet.net/ ,並在 whois 的畫面當中(右上角)選擇你想要註冊的主機名稱,按下『Go』開始搜尋。

    利用 whois 查詢欲註冊網域是否存在
    圖 10.2-1、利用 whois 查詢欲註冊網域是否存在


  • 2. 逐步進行註冊

    如果確認你的主機名稱沒有被註冊掉,那麼你就可以開始註冊了!同樣的在上面的網站連結當中, 選擇『個人網域名稱』就可以開始申請了!請由『網域名稱申請』開始依序一步一步辦理!這裡不再說明了,反正都是中文, 看的懂得啦! ^_^

    個人網域逐步註冊的流程示意圖
    圖 10.2-2、個人網域逐步註冊的流程示意圖


  • 3. 填寫主機名稱對應的 IP

    通常花個幾天等待繳費完畢後,我們就可以開始進行登入與主機名稱的填寫了!在圖 10.2-1 的圖示中按下『DNS 異動與查詢』的項目, 並填入當初註冊時的主機名稱與密碼,然後就會出現如下的畫面了:

    主機名稱與 IP 對應的填寫範例
    圖 10.2-3、主機名稱與 IP 對應的填寫範例

    特別的給他留意,因為我們沒有要架設 DNS 主機,所以當然最上方要選擇『主機』的項目, 然後你可以填入三部主機名稱喔!當然,這三部主機名稱可以通通指向同一個 IP ,也可以不同! 隨你的便吶!需要注意到的是,你的主機名稱應該是『othername.yourhost.idv.tw』後面的 yourhost.idv.tw 是不變的,前面的 othername 則可以自由選取呢!例如鳥哥上面的設定,後面均是 vbird.idv.tw ,而前面的名稱就可以讓我自由選擇啦!


  • 4. 等待 DNS 啟用

    在上圖 10.2-3 當中按下『填寫完請按這裡』後,就等著啟用吧!不過設定成功到可以使用,其實需要一定的時間的。 以鳥哥為例,第一次申請之後,大約過了 20 小時該設定才正確的啟動呢!請耐心等候啊!不要太著急囉! ^_^



在台灣,各家的領域名稱註冊流程都差不多,不過,金額是有點差異的,當然,服務也就有不同啊!鳥哥的 vbird.org 領域名稱則是在 http://www.godaddy.com 註冊的喔!如果你不想要使用 .idv.tw 來註冊的話,那麼國外的 ISP 提供的 DNS 也可以考慮看看說!

10.2.2 動態 DNS 主機名稱註冊:以 no-ip 為例

如果你跟鳥哥一樣使用 ADSL 撥接的方式來上網,這表示你的 IP 應該是不固定的!果真如此的話, 那想要用這樣的網路環境來架站就比較麻煩一點!因為上面利用 Hinet 註冊的方式通常是給固定 IP 使用的, 你應該不會想要天天上去更新你的 IP 吧?此時這個 no-ip.com 所提供的免費動態 IP 對應主機名稱的服務就很重要啦!我們先來申請一個主機名稱來玩玩吧! ^_^


  • 1. 登入主網頁,並且註冊一個新帳號

    你必須要連上 http://www.no-ip.com 這個網站, 然後在出現的畫面當中的右上角部分,選擇『 Create Account 』那個項目。不過,如果你已經有 no-ip 網站的註冊帳號,那麼直接跳到底下第四步驟去登入即可。

    no-ip 網站的註冊:新建帳號點選
    圖 10.2-4、no-ip 網站的註冊:新建帳號點選


  • 2. 開始填寫識別資料

    由於啟動帳號必須由 no-ip 提供一個註冊啟動的連結,因此你必須要填寫正確的 email 來接受啟動碼。整個註冊的訊息如下圖所示:

    no-ip 網站的註冊:新帳號建立所需填寫資料
    圖 10.2-5、no-ip 網站的註冊:新帳號建立所需填寫資料

    最重要的是,在該網頁的最下方還有驗證碼以及你必須要勾選的『I agree that...』項目才行喔! 最後才點選『I Accept, Create my Account』項目嚕。詳細圖示如下所示:

    no-ip 網站的註冊:新帳號建立務必勾選項目
    圖 10.2-6、no-ip 網站的註冊:新帳號建立務必勾選項目


  • 3. 啟用帳號

    在你申請註冊一個新帳號後, no-ip 會發一封信給你,請自行參考信件內容,並點選正確的啟動碼連結, 那你的帳號就能夠啟動,此時請回到圖 10.2-4 去,針對你的 email(username)/密碼(password) 填寫妥當,就能夠登入 NO IP 網站了。


  • 4. 登入 no-ip 且設定主機名稱與 IP 的對應

    透過圖 10.2-4 的樣子來登入後,你會看到有點像底下的圖示,底下就準備來處理你主機名稱與 IP 的對應資料了:

    登入 NO IP 網站後的示意圖
    圖 10.2-7、登入 NO IP 網站後的示意圖

    上圖的重點在於『Add a Host (新增一個主機名稱)』及『Manage Hosts (管理主機名稱)』兩者,由於我們都還沒有主機名稱的設定, 因此首先就使用 Add a Host 來新增一筆主機名稱吧!按下那個圖示,之後就會出現底下的畫面:

    新增一個主機名稱與 IP 對應的方式
    圖 10.2-8、新增一個主機名稱與 IP 對應的方式

    主要填寫的內容為:
    1. 你想要的主機名稱;
    2. No IP 網站提供的領域名稱,與上個名稱組合成完整的主機名稱;
    3. 選擇單一主機的 IP 對應;
    4. 填寫該主機名稱對應的正確 IP 為何 (後續可以透過程式直接修改,這裡隨便填也沒關係)
    5. 只與 mail server 有關,所以寫不寫都無所謂,不過,建議填寫自己的主機名稱即可
    6. 若上述資料都正確,按下 Create Host 即可建立成功。如果該主機名稱有被使用掉的話,螢幕會出現警告訊息, 此時請再選填另外的主機名稱吧!

    如果一切都沒有問題的話,應該就會出現如下所示的圖示。未來如果你想要更新或者是刪除或者是新增主機名稱的話, 就透過下圖的示意流程來處理即可。且由下圖你也可以知道, NO IP 有提供 5 個免費的主機名稱給你使用喔!真是太棒了! 如果你想要維護相關資料,就使用『 Manage Hosts 』按鈕即可處理了。

    主機名稱處理完畢與維護的示意畫面
    圖 10.2-9、主機名稱處理完畢與維護的示意畫面


  • 5. 設定自動更新主機名稱與 IP 的對應

    如果系統重新開機,或者是重新撥接取得一個新的 IP 後,我們都要登入 no-ip 網站來修改的話, 那就太沒有效率了!所以 no-ip 提供一個好用的用戶端程式給系統管理員使用,你可以在 no-ip 官網右上方的『Download』 處選擇相關的檔案。該網站目前提供給 Linux, Windows 與 MAC 等系統使用的程式,非常方便。 我們當然是選擇 Linux 那個項目啊!請自行下載並且將該程式移動到 Linux 系統上吧! 整個安裝與啟用的流程式這樣的:
    # 1. 編譯與安裝:
    [root@www ~]# wget  \
    > http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
    [root@www ~]# cd /usr/local/src
    [root@www src]# tar -zxvf /root/noip-duc-linux.tar.gz
    
    [root@www src]# cd noip-*
    # 注意一下,這個目錄裡面有個檔名為 README.FIRST 的檔案,務必察看一下內容!
    [root@www noip]# make
    [root@www noip]# make install
    # 這樣會將主程式安裝在 /usr/local/bin/noip2 而主參數檔放在
    # /usr/local/etc/no-ip2.conf 當中!然後你必須要開始回答一些問題:
    
    Please select the Internet interface from this list.
    
    By typing the number associated with it.
    0       eth0
    1       eth1
    0      <==因為鳥哥的主機對外使用 eth0 介面
    
    Please enter the login/email string for no-ip.com  kiki@gmail.com
    Please enter the password for user 'kiki@gmail.com' ***
    # 上面這兩個是你剛剛註冊時所填寫的 email 與密碼喔!
    
    Only one host [vbirdtsai.no-ip.org] is registered to this account.
    It will be used.
    Do you wish to run something at successful update?[N] (y/N) n
    
    mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
    # 重點在此!剛剛你做的設定檔被放到上面這個檔案中了!
    
    這樣就將你的 no-ip 製作完畢,而且也可以開始來執行囉!執行的方法也是很簡單啦!
    # 2. noip2 的程式使用:
    [root@www ~]# /usr/local/bin/noip2
    # 不要懷疑!這樣輸入後,你在 no-ip 上面註冊的主機名稱,
    # 就開始可以自動的產生對應了!就這麼簡單!
    
    [root@www ~]# noip2 [-CS]
    選項與參數:
    -C :重新設定參數,亦即設定剛剛我們上面輸入粗體字的咚咚!
         如果你有兩個以上的 no-ip 主機名稱時,就一定需要使用 noip2 -C 
         來重新設定參數檔案!
    -S :將目前的 noip2 的狀況顯示出來!
    
    [root@www ~]# noip2 -S
    1 noip2 process active.
    
    Process 2496, started as /usr/local/src/noip-2.1.9-1/noip2, (version 2.1.9)
    Using configuration from /usr/local/etc/no-ip2.conf
    Last IP Address set 140.116.44.180
    Account kiki@gmail.com
    configured for:
            host  vbirdtsai.no-ip.org
    Updating every 30 minutes via /dev/eth0 with NAT enabled.
    
    嘿嘿!這樣就成功了!而且每分鐘 noip2 可以自動的去主網站上面進行更新呢!真是很不錯!那如果想要一開機就啟動 noip2 呢?這樣做即可:
    # 3. 設定開機啟動:
    [root@www ~]# vim /etc/rc.d/rc.local
    # 加入底下這一行:
    /usr/local/bin/noip2
    

10.3 重點回顧

  • 主機名稱的目的在輔助人們記憶 TCP/IP 的 IP 數值;
  • 主機名稱與 IP 的對應,由早期的 /etc/hosts 變更為 DNS 系統來記錄
  • 合法的主機名稱必須要透過合法授權後,才能夠在 Internet 上面完整的生效
  • 除了靜態的主機名稱與 IP 對應外,若是不固定 IP 的連線模式,可以透過動態 DNS 服務,來達成非固定 IP 永遠指向同一個主機名稱的任務。

10.4 本章習題

  • 請簡易說明 /etc/hosts 的用途;
    這個檔案是早期用在進行主機名稱與 IP 的解析的,目前比較常用在內部私有網域的名稱解析上,可以加快內部網域的反查喔!
  • 請說明『合法授權』的主機名稱需要做什麼?
    如果想要合法授權,就需要向上層 DNS 主機『註冊』才行!而且還要上層 DNS 主機管理員願意將領域名稱的解析權限授權給你啊!
  • 什麼是動態 DNS 系統?(僅說明 client 端)
    因為我們的 Client 撥接時,得到的 IP 都不是固定的,所以無法以 DNS 系統進行固定 IP 對應主機名稱的工作! 此時就需要動態 DNS 系統了!以 DNS 主機提供的動態更新主機名稱對應 IP 的機制,可以讓我們的不同 IP 對應到同一個主機名稱吶!
  • 如果你使用 adsl 撥接來上網設定伺服器,那麼該申請哪一類型的主機名稱?為什麼?
    因為我是以 ADSL 上網撥接,所以 IP 是不固定的,此時需要申請動態 DNS 主機的主機名稱,例如 no-ip.org 等等!

10.5 參考資料與延伸閱讀

修改歷史:
2002/08/05:第一次完成日期!
2003/08/26:修改篇名、增加一 no-ip 的設定方式
2006/09/15:將舊的文章移動到 此處
2011/02/09:將基於 CentOS 4.x 所寫的文章移動到 此處
2011/02/15:由於 noip 網站頁面有變更,作了一些圖片的重新處理,其他則是大同小異。
其他連結
環境工程模式篇
鳥園討論區
鳥哥舊站

今日 人數統計
昨日 人數統計
本月 人數統計
上月 人數統計