DNS (Domain Name System) 領域名稱系統

註:參考鳥哥的 Linux 私房菜以及柏青哥的 SuSE Linux

測試系統:140.123.79.5SUSE 11140.123.79.90Fedora 11

 

DNS 源起

在網路中,每一部主機都有一個唯一的識別編號 (IP)

雖然使用 IP 位址可以確保主機的唯一性,但因為 IP 不容易記,因此就發展出了「名稱解析」

 

DNS

為類似樹狀目錄的型態,將主機名稱的管理分配在不同層級的 DNS 伺服器中,經由分層管理,所以每一部伺服器的記憶資訊就不會太多

 

要讓主機名稱對應 IP 且讓其他電腦都可以查詢的到

兩種方式:

上層 DNS 授權領域查詢權,讓你自己設定 DNS 伺服器

直接請上層 DNS 伺服器來幫你設定主機名稱對應

 

架設 DNS 時機

所負責需要連上 Internet 的主機數量龐大

Server 有隨時增加或變動的可能性

 

FQDN (Fully Qualified Domain Name) 完整主機名稱

包括:主機名稱 hostname 以及領域名稱 domain name

 

Top level domain 類型

? generic TLDs, gTLDcom, org, gov…

? country code TLDs, ccTLDtw, uk, jp, cn…

一開始只有 generic TLDs,後來為了讓每個國家也能夠有自己最上層領域名稱,才發展出了 country code TLDs;好處是當我們有領域名稱的需求時,向自己國家申請即可

com

公司、行號、企業

org

組織、機構

edu

教育單位

gov

政府單位

net

網路、通訊

mil

軍事單位

 

正解與反解

正解 (Forwarding)將主機名稱 (FQDN) 解析為對應 IP 位址的過程

反解 (Reversing)和正解相反,由指定 IP 位址解析出相對應的主機名稱

區域 (zone)不論是正解還是反解,每個領域的紀錄就是一個區域 (zone)

 

是否一定要正反解都存在:

一般的情況下,我們若需要網址對應 IP,只要設定好正解即可

需要正反解成對存在的需求 mail server

(因目前網路頻寬常被垃圾信給佔光,所以Internet 對於合法 mail server 的規定越來越嚴格,只有正反解同時存在的 IP 位址才能被允許進入)

 

架設 DNS Server

所需套件:BINDBerkeley Internet Name Domain),由柏克萊大學研發,目前由 ISCInternet Systems Consortium)負責維護與發展

目前最新版本為 9.x

檢查 BIND 有無安裝:rpm –qa | grep bind

查詢套件內容:rpm –ql bind

若無,使用 yast 安裝所需套件(Fedora setup

 

DNS Server 設定檔

140.123.79.90 為例,另在 90 底下架設子網域的 DNS Server

 

chrootchange root)機制

chroot 的主要作用就是改變程式執行時所參考的跟目錄位置,目的是為了加強系統安全

啟用之後設定檔與資料庫的位置就由

/var/named 改為 /var/named/chroot/var/named Fedora

/var/lib/named 改為 /var/lib/named/var/lib/namedSUSE

是否啟動chroot及額外的參數由 /etc/sysconfig/named 設定

140.123.79.90

140.123.79.5

 

設定 /etc/named.conf

內容主要是宣告所要管理的 zone 為何,其正解和反解的相關資料存放的資料夾

140.123.79.90

 

建立正解檔案

140.123.79.90

DNS 紀錄中,名稱結尾都必須加上 “.” ,若沒加則會自動加上 chem.ccu.edu.tw

例如:若只打 www.chem.ccu.edu.tw 就會變成 www.chem.ccu.edu.tw.chem.ccu.edu.tw

 

建立反解檔案

140.123.79.90

 

授權子網域架設 DNS Server

分為上層 DNS 及下層 DNS 兩部分的設定

上層 DNS140.123.79.90www.chem.ccu.edu.tw

在正解檔內增加指定 NS 並指向下層 DNS 的主機名稱與 IPA)即可

下層 DNS140.123.79.5www.wan.chem.ccu.edu.tw

1.     設定 /etc/named.conf

2.     建立正解檔案 wan.chem.ccu.edu.tw.db

 

啟動 DNS 服務

/etc/init.d/named start

檢視 /var/log/messages 記錄檔,確定 DNS 啟動過程中無錯誤訊息

確定防火牆是否開啟(DNS port 53

確定是否開機啟動 DNSchkconfig named on

 

測試 DNS(名稱查詢工具)

nslookup [主機名稱 or IP] [name server]

dig [@server] [-t type] [-x addr] [FQDN]

@server 指定查詢要使用的 DNS Server

-t type 設定查詢紀錄類型(SOA, NS, CNAME, A等等)

-x addr 查反解使用,-x 後加上 IP 即可

host [-a] [-t type] [主機名稱 or IP] [name server]

-a any 之意

 

最後來看看架設 DNS 最主要的目的是否達成了呢?