DNS配置
BIND 8.2.3安裝說明#tar -zxvf bind-src.tar.gz包括以下幾個目錄:bin(全部BIND 二進(jìn)制源代碼,包括named),include(BIND代碼引用的包含文件的CO
BIND 8.2.3安裝說明
#tar -zxvf bind-src.tar.gz
包括以下幾個目錄:bin(全部BIND 二進(jìn)制源代碼,包括named),include(BIND代碼引用的包含文件的COPY),lib(BIND使用的庫的源代碼),port (BIND 用為為不同的操作系統(tǒng)定制編譯設(shè)置和編譯選項的信息).
編譯:
#make stdlinks
#make clean
#make depend
#make all
#make install
BIND9.1.0安裝說明
#tar zxvf bind-9.1.0.tar.gz
包括以下子目錄:bin(全部BIND 二進(jìn)制源代碼,包括named) ,contrib(一些工具) ,doc(BIND的文檔,包括資源手冊),lib(BIND使用的庫的源代碼),make(makefile文件).
運行配置和編譯
#./configure
(如果你不想使用線程,使用下面命令:
#./configure disable-threads)
編譯BIND, 輸入:
#make all
安裝BIND
#make install
RPM 安裝(我個人比較喜歡這個,簡單)
rpm -ivh bind-****.rpm
安裝BIND 的RPM 包。
rpm -ql bind|More
列出該軟件包的所有文件和位置。
配置文件一般在/etc/named.conf
數(shù)據(jù)庫文件一般在/var/named下
概念:
域(domain)就是域名空間中的一棵子樹。看好了是子樹,也就是樹的分枝。域的名字也就是這棵子樹的頂端節(jié)點的域名。
,授權(quán):
(圖3) 以second.gogo.com 域為例,他交由用戶BBB 來管理,而gogo.com 域由用戶AAA 來管理,second.gogo.com 域管理員BBB 必須向AAA 申請,而父域gogo.com 域到時候只保留指向second 域的指針,到時候有解析second.gogo.com 域下的主機(jī)時,將查詢者指向second.gogo.com 那里。如果沒有得到申請,既使你建立好second 域的所有配置文件,但因為上一級域控制器(gogo.com)沒有指向你的指針,到時候的查詢到gogo.com 時就結(jié)束返回沒有查到主機(jī)名。
名字服務(wù)器(name server)
存儲關(guān)于域名空間的信息的程序叫估名字服務(wù)器。名字服務(wù)器通常含有域名空間中某一部分的完整信息,我們稱為區(qū)(zone). 區(qū)的內(nèi)容是從文件或其他名字服務(wù)器中加載而來的。這時我們稱名字服務(wù)器(name server)對這個區(qū)(zone)具有權(quán)威(authority) 。一個名字服務(wù)器也可以同時對多個區(qū)具有權(quán)威。
所有的頂級域名,以及許多二級域名和更低級別的域名,通過授權(quán)被分成了更小也更好管理的單元,這些單元稱為區(qū)(zone)
myhome.com 域被分成許多區(qū)
有first,second 的授權(quán)子域。每個子域又被授權(quán)給一組名字服務(wù)器。
一個區(qū)和一個域可以共享同一個域名,卻含有不同的節(jié)點。特別地,區(qū)不含有任何在已經(jīng)被授權(quán)出去的子域中的節(jié)點, 也就是說他只含有未被授出去的子域中的節(jié)點。(呵呵,有點象繞口令。)
例圖3
域myhome.com 不僅包括myhome.com 中的所有數(shù)據(jù),還包括first,second 中的數(shù)據(jù),而區(qū)com 只包括com 中的數(shù)據(jù),這些數(shù)據(jù)可能主要是指向授權(quán)子域的指針,因為myhome.com 已經(jīng)被授權(quán)給AAA 了,所以區(qū)com 不含有該域中的任何結(jié)點,但只含有指向myhome.com 域的指針而已.
如果域中某個子域沒有被授權(quán),那么區(qū)就包含這個子域中的域名和數(shù)據(jù)。
授權(quán)子域:
授權(quán)就是將你的一部分域的責(zé)任分配給另一個人或組織。實際操作是將你子域的權(quán)威分配給其他一些名字服務(wù)器。
區(qū)數(shù)據(jù)文件:
主名字服務(wù)器從本機(jī)中加載數(shù)據(jù)的文件叫區(qū)數(shù)據(jù)文件(zone data file),常稱為數(shù)據(jù)文件或數(shù)據(jù)庫文件。輔名字服務(wù)器常常被配置為:將主名字服務(wù)器傳送過來的區(qū)數(shù)據(jù)備份到本機(jī)的數(shù)據(jù)文件當(dāng)中。
,解析器:
解析器就是訪問名字服務(wù)器的客戶端程序。
根名字服務(wù)器:
根名字服務(wù)器所有頂級區(qū)的權(quán)威名字服務(wù)器在哪。
遞歸:
是如果被查詢的名稱服務(wù)器不是所請求的數(shù)據(jù)的權(quán)威,它將不得不向其他名字服務(wù)器發(fā)出查詢以獲得答案。它可以向其他名字服務(wù)器發(fā)送遞歸查詢,從而要求它們找到答案并返回。
反復(fù):
反復(fù)中名字服務(wù)器只用將它已知的最合適的答案返回給查詢者。它本身不需要再有任何其他查詢。被查詢的名字服務(wù)器在它的本地數(shù)據(jù)中尋找所需數(shù)據(jù)。如果沒有找到答案,它就在本地數(shù)據(jù)中找出與所要查詢的名字服務(wù)器最接近的名字服務(wù)器的名字和地址,并作為指示返回給查詢者,幫助它把解析過程進(jìn)行下去。
在DNS 目前的實現(xiàn)中,采用的是后者,將不斷地依照指示進(jìn)行查詢,直到找到結(jié)果
緩存:
處理遞歸查詢的名字服務(wù)器可能需要要發(fā)送好幾個查詢才能找到結(jié)果。不過在這個過程中。它也了解到域名空間的許多信息。每次它得到一些名字服務(wù)器列表的指示,它就知道這些名字服務(wù)器是哪些區(qū)的權(quán)威,也就知道這些服務(wù)器的地址。當(dāng)解析過程結(jié)束時,它最終找到原來查詢所請的數(shù)據(jù)后,還可以把這些數(shù)據(jù)保存起來,以備后用。也就是再有查找相同域名的時候,此時名字服務(wù)器已將結(jié)果放在緩存中,只需要向解析器返回這個結(jié)果就行了(IP 地址),不用再進(jìn)行查詢。
生存期:
就是名字服務(wù)器允許數(shù)據(jù)在緩存中存放的時間(time to live)TTL。生存期一過,名字服務(wù)器必須丟棄緩存中的數(shù)據(jù),并從權(quán)威名字服務(wù)器上獲取新的數(shù)據(jù)。它和緩存的是密切相關(guān)的。
頂 0 踩
一、配置解析器
解析器是文件/etc/resolv.conf中配置的。
缺省的解析器配置使用以下值:
,nameserver IP地址
用于用于可以使用的名稱服務(wù)器,最多可以定義最多三個nameserver
domain
定義了缺省域。缺省域用于建立域搜索清單,其中只包含一個域。
例如:
domain gogo.com
如果查找first 主機(jī)的IP 地址時,解析器先查找first.gogo.com, 如果不能解析IP 地址,解析器將做最后的嘗試,向名字服務(wù)器請求將first 解析為IP 地址。
search
定義搜索清單。
search 可以接受多個參數(shù)(最多六個),而domain 只能攜帶一個參數(shù)。 例:
serarch first.gogo.com second.gogo.com
如果搜索mail 主機(jī)時,首先搜索mail.first.myhome.com; 然后再搜索
mail.second.gogo.com ;如果未有結(jié)果,解析器就直接尋找mail 不帶任何域擴(kuò)展名稱。從例子可以看出,search 命令比domain 命令更靈活。
在resolv.conf 文件中既可以使用serarch 命令,也可以使用domain 命令,但不能同時使用,否則會出現(xiàn)意想不到的結(jié)果。關(guān)鍵取決于哪一條命令是最后執(zhí)行的。
如果沒有search 命令,也沒有domain 命令。解析器就從本主機(jī)名衍生出缺省的域名。 還有一些其它命令,不是很重要的。使用缺省值就可以了。
host.conf 文件
host.conf 文件是用于設(shè)置各種名稱服務(wù)的優(yōu)先級的配置文件。
order bind hosts
bind 代表DNS 服務(wù),hosts 代表/etc/hosts文件
multi on
multi 選項用于決定是否可以給/etc/hosts文件中相同的主機(jī)名分配多個地址。on 找開了該選項。
二、建立BIND
1、建立區(qū)數(shù)據(jù)
主機(jī)表HOSTS 文件
192.168.1.1 jh.myhome.com jh
192.168.1.2 yj11.myhome.com yj11
建BIND 數(shù)據(jù)的第一步是主機(jī)表中的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的DNS 區(qū)數(shù)據(jù)。
一個文件將所有主機(jī)名映射到地址,其他一些文件則將地址映射回主機(jī)名。 名字到地址的查找稱為正向映射。
,地址到名字的查找稱為反向映射。
每個網(wǎng)絡(luò)都有包含它自己的反身映射數(shù)據(jù)的文件。
2、區(qū)數(shù)據(jù)文件
區(qū)數(shù)據(jù)文件的大部分條目被稱為DNS 資源記錄(resource record)。DNS 查找是不區(qū)分大小寫的。
數(shù)據(jù)文件中資源記錄的順序如下:
SOA 記錄
指示該區(qū)的權(quán)威
NS 記錄
該區(qū)的一個名字服務(wù)器
其他記錄
有關(guān)該區(qū)中主機(jī)的數(shù)據(jù)
A 名字到地址的映射
PTR 地址到名字的映射
CNAME 規(guī)范名稱
注釋:
使用分號(;)開頭的到行尾處結(jié)束。
設(shè)定區(qū)默認(rèn)的TTL 值:
名字服務(wù)器在查詢響應(yīng)中提供這個TTL 值,允許其他服務(wù)器將數(shù)據(jù)在緩存中存放TTL 所指定的時間。
可能的取值是:
w=星期
d=天
h=小時
m=分鐘
s=秒
例:$TTL 3h 3小時
$TTL 2w3d4h 2個星期3天4個小時
$TTL 3h
myhome.com SOA jh.myhome.com. root.jh.myhome.com. (
; ^^^^
; root是主機(jī)jh.myhome.com. 的用戶
2000020501; 序列號
3h; 3小時后刷新
,1h; 1小時后彼一時試
1w; 1周后期滿
1h) 否定緩存TTL 為1小時
$TTL 3h
@ SOA jh.myhome.com. root.jh.myhome.com. (
; ^^^^
; root是主機(jī)jh.myhome.com. 的用戶
2000020501; 序列號
3h; 3小時后刷新
1h; 1小時后彼一時試
1w; 1周后期滿
1h) 否定緩存TTL 為1小時
他們有區(qū)別吧,@ 在SOA 類型記錄的名字字段中指的是當(dāng)前的源,是myhome.com
NS jh.myhome.com.
; 名字服務(wù)器
MX 10 jh.myhome.com.
; 郵件服務(wù)器
one A 192.168.1.1
A 192.168.1.2
; 重復(fù)最后一個名字,上面為一個名字有兩個地址地址記錄
jh A 192.168.1.1
three CNAME jh.myhome.com.
; 別名指向jh.myhome.com.
yj11 A 192.168.1.2
yj22 A 192.168.1.2
以上均是簡寫,但下面也不是標(biāo)準(zhǔn)寫法,大家做個比較吧:
NS IN jh.myhome.com.
; 名字服務(wù)器
MX IN 10 jh.myhome.com.
; 郵件服務(wù)器
one.myhome.com. IN A 192.168.1.1
jh.myhome.com. IN A 192.168.1.1
,three.myhome.com. IN CNAME jh.myhome.com.
; 別名指向jh.myhome.com.
yj11.myhome.com. IN A 192.168.1.2
yj22.myhome.com. IN A 192.168.1.2
下面將用一個實例來講解主、從服務(wù)器的設(shè)置:
環(huán)境:主DNS 服務(wù)器的主機(jī)名為jh.myhome.com;IP 地址:192.168.1.1; 從DNS 服務(wù)器的主機(jī)名為yj11.myhome.com;IP 地址:192.168.1.2; 客戶端IP 地址:192.168.1.3---192.168.1.200;
(其實主DNS 服務(wù)器和從DNS 服務(wù)器可以步在同一網(wǎng)段,只要IP 通就可以)
主DNS 服務(wù)器的配置文件:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "myhome.com" IN {
type master;
,file "myhome.coms";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "named.reverse";
allow-update { none; };
};
文件myhome.coms 內(nèi)容:
@ SOA jh.myhome.com. root.jh.myhome.com. (
2000020501;
21600;
7200;
604800;
900)
NS jh.myhome.com.
MX 10 jh.myhome.com.
jh IN A 192.168.1.1
yj11 IN A 192.168.1.2
three IN CNAME jh.myhome.com.
www IN A 192.168.1.12
文件named.reservse 內(nèi)容:
myhome.com. SOA jh.myhome.com. root.jh.myhome.com. ( 2000021602;
21600;
1800;
604800;
7200);
NS jh.myhome.com.
,1 PTR jh.myhome.com.
2 PTR yj11.myhome.com.
=====================================================================
從服務(wù)器DNS 配置文件:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "myhome.com" IN {
// type master;
type slave;
// type后面的值已經(jīng)成為slave;
file "myhome.coms";
//file 后面也可以是別的文件名不必與主DNS 服務(wù)器的設(shè)置一樣
masters { 192.168.1.1; };
//192.168.1.1 為主DNS 服務(wù)器的IP 地址,
};
zone "1.168.192.in-addr.arpa" IN {
,// type master;
type slave;
// type后面的值已經(jīng)成為slave;
file "named.reverse";
//file 后面也可以是別的文件名不必與主DNS 服務(wù)器的設(shè)置一樣
masters { 192.168.1.1; };
//192.168.1.1 為主DNS 服務(wù)器的IP 地址,
};
不用在從DNS 服務(wù)器上建立myhome.coms 和named.reserse 文件,因為在你在從DNS 服務(wù)器的進(jìn)程新啟動(就是在你把named.conf 修改完畢時,第一次重新啟動)后 會自動從主DNS 服務(wù)器(192.168.1.1)拷貝數(shù)據(jù)文件(myhome.coms )內(nèi)容到從dns 服務(wù)器上。自動創(chuàng)新這兩個主要文件。
Refersh 字段定義了刷新周期時間。從服務(wù)器每3h 時間就從主服務(wù)器上拷貝數(shù)據(jù)文件到從服務(wù)器上,如果想修改了主服務(wù)器上的數(shù)據(jù)文件,必須改變2000020501; 序列號,增加1為2000020502, 這樣的從服務(wù)器就在3h 后就會先檢查序列號如果比自己的序列號高的話,如果會自動拷貝文件到從服務(wù)器上,如果不增加“序列號”那么即使3h 后也不會拷貝主服務(wù)器的內(nèi)容到從服務(wù)器上。
@ SOA jh.myhome.com. root.jh.myhome.com. (
2000020502;
3h; 刷新周期的時間
1h;
1w;
1h)
補充:
named.conf的配置語句
命令 用法
acl 定義IP 地址的訪問控制清單
control 定義ndc 使用的控制通道
include 把其他文件包含到配置文件中
key 定義授權(quán)的安全密鑰
logging 定義日志寫什么,寫到哪
opitons 定義全局配置選項和缺省值
server 定義遠(yuǎn)程服務(wù)器的特征
trunsted-keys 為服務(wù)器定義DNSSEC 加密密鑰
zone 定義一個區(qū)