DNS (Domain Name System) 領域名稱系統
註:參考鳥哥的 Linux 私房菜以及柏青哥的 SuSE Linux
測試系統:140.123.79.5(SUSE 11)140.123.79.90(Fedora 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, gTLD:com, org, gov…
? country code TLDs, ccTLD:tw, 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
所需套件:BIND(Berkeley Internet Name Domain),由柏克萊大學研發,目前由 ISC(Internet Systems Consortium)負責維護與發展
目前最新版本為 9.x 版
檢查 BIND 有無安裝:rpm –qa | grep bind
查詢套件內容:rpm –ql bind
若無,使用 yast 安裝所需套件(Fedora 為 setup)
DNS Server 設定檔
以 140.123.79.90 為例,另在 90 底下架設子網域的 DNS Server
chroot(change root)機制
chroot 的主要作用就是改變程式執行時所參考的跟目錄位置,目的是為了加強系統安全
啟用之後設定檔與資料庫的位置就由
/var/named 改為 /var/named/chroot/var/named (Fedora)
/var/lib/named 改為 /var/lib/named/var/lib/named(SUSE)
是否啟動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 兩部分的設定
上層 DNS:140.123.79.90(www.chem.ccu.edu.tw)
在正解檔內增加指定 NS 並指向下層 DNS 的主機名稱與 IP(A)即可
下層 DNS:140.123.79.5(www.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)
確定是否開機啟動 DNS(chkconfig 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 最主要的目的是否達成了呢?
|
|