然而,雖然符號名對于人來說是極為方便的,但是在計算機上實現卻不是那么方便的。為了解決這個需求,應運而生了一個域名服務系統DNS,它運行在TCP協議之上,負責將字符名--域名轉換成實際相對應的IP地址。這個過程就是域名解析,負責域名解析的機器就叫域名服務器。
1、域名解析的方法
1.1 最早的域名解析方法
最簡單的主機名解析方法是,在一個文件中記錄所有主機名及與其對應的IP地址,并保證該文件中主機名的唯一性,通過檢索文件中的便可以完成主機名的解析。采用這種最簡單的解決方法有其歷史原因:
在整個70年代,APRANET只是一個小規模的,由類似的數百臺主機組成的團體。于是為了解決主機名解析的問題,將連接到ARPANET上每臺主機的名字與對應的地址都保存在HOSTS.TXT文件中。這樣每增加一臺機器,就必須修改HOSTS.TXT文件一次。隨著網絡的不斷發展,網絡中的主機數量爆炸性地增加,這種域名解析的方法已經無法適應新的解析需要。
1.2 分布式的域名服務器
這種方法,我們已經在基礎篇的第六章中有了詳細的敘述,在此就不再重復了。在這種分布式的域名服務器體系中,每一臺域名服務器(DNS)負責解析屬于自己的這一部分主機的域名。
一般說來,如果你所處在公司或組織所擁有的主機并不多,一般是將域名的解析工作交給自己的ISP的域名服務器來完成。而如果你所在組織擁有的主機比較多,我們就可以組建自己的域名服務器負責解析你所在組織的主機。
2、域名服務器建立實例
2.1 實例環境
假設我們需要建立一臺應用于以下情況的一個企業主域名服務器。
1. 擁有一個C類網段地址,為202.101.55.0
2. 企業域名注冊為company.com。
3. 域名服務器的IP定為202.101.55.55,主機名為dns.company.com。它同時充當Proxy.
4. 企業網通過路由器與Internet連接。
5. 要解析的服務器有:
www.company.com (202.101.55.1) Web服務器
mail.company.com (202.101.55.2) E-Mail服務器
2.2 安裝前的準備工作
首先要保證在作為系中統有/etc/resolv.conf和/etc/hosts.conf這兩個文件。/etc/resolv.conf文件中內容如下所示:
domain compay.com
nameserver 202.101.55.55
其中第一行指出對于任何希望連到它上面的主機應該搜尋的域。而第二行指出了在哪個地址可以找到需要的域名服務大。/etc/hosts.conf的內容如下所示:
order hosts,bind
multi on
這里的設置告訴主機名稱先在/etc/hosts文件中搜索,然后再查詢域名服務器。
2.3 定義文件/etc/named.boot
要使LINUX系統完成域名服務器的功能,則需要運行一個named的服務進程。這個服務進程可以在安裝LINUX時選中。
named啟動時需要讀取一個初始化文件--/etc/named.boot,這個文件是named的基本配置文件。它并不包含任何DNS數據,針對前面的假定環境,我們要在這個文件中寫入:
diretory /etc/named
primary company.com db.company
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary 55.101.202.IN-ADDR.ARPA db.202.101.55
cache 。 db.cache
下面我們逐行講解這個文件中的內容:
1) 在第一行中我們指定named從/etc/named目錄下讀取DNS數據文件。這個目錄可以自行指定并創建,指定后將所有的DNS數據文件均存放在這個目錄下;
2) 第二行指定named作為company.com的主域名服務器,db.company文件中包含了所有*.my.com形式的域名的解析數據。
3) 第三行則指定named作為127.0.0網段(本地loopback)地址的轉換主服務器。其中db.127.0.0文件中包含了所有127.0.0.*形式的地址到域名的轉換數據。
4) 第四行指定named作為202.101.55網段地址轉換主服務器,db.202.101.55文件中包含了所有以202.101.55.*形式的地址到域名的轉換數據。
新聞熱點
疑難解答