歡迎您光臨本站 註冊首頁

bind (dns)基本配置方法

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
幾個重點:1、常識 2、安裝 3、主配置文件named.conf參數詳解 4、正向反向解析文件詳解 5、masterslave伺服器實例 6、區域授權實例.

DNS 域名解析, 在LINUX常用的DNS軟體為BIND

一、DNS常識
1、DNS查詢:分為遞歸查詢和迭代查詢兩種
(1) 遞歸查詢: 即客戶端向本地DNS伺服器請求查詢域名,本地DNS伺服器收到查詢任務后如自身無法回答則向其他伺服器查詢,直到查到結果后返回結果給客戶端.期間DNS伺服器可能要查詢很多其他DNS伺服器.
(2)迭代查詢:即客戶端向本地伺服器請求查詢域名,本地DNS伺服器無法回答,則給客戶端返回另一個能查詢域名的伺服器地址,客戶端再向另一伺服器查詢,期間可能客戶端需查詢多個DNS伺服器,最終查到結果.

2、DNS伺服器分類:

DNS伺服器分為:
(1)master(主DNS伺服器):擁有區域數據的文件,並對整個區域數據進行管理.
(2)slave(從伺服器或叫輔助伺服器):擁有主DNS服力器的區域文件的副 本,輔助主DNS伺服器對客戶端進行解析,當主DNS伺服器壞了后,可以完全接替主伺服器的工作.
(3)forward:將任何查詢請求都轉發給其他伺服器.起到一個代理的作用.
(4)cache:緩存伺服器.
(4)hint:根DNS internet伺服器集.


二、bind的安裝及運行目錄

1、安裝

一般安系統時都會選擇安裝,查看是否安裝: rpm -qa |grep bind
如果沒有安裝下載如下幾個包安裝:(下面是我在rh5中運行 rpm -qa |grep bind 后顯示的結果)
bind-libs-9.3.6-4.P1.el5 //提供實現域名解析功能必備的庫文件
bind-chroot-9.3.6-4.P1.el5 //將bind主程序關在家裡面(鳥哥是這樣描述的,不懂)
bind-9.3.6-4.P1.el5 //必須安裝的主文件,後面的是版本號


ypbind-1.19-12.el5
bind-utils-9.3.6-4.P1.el5 //客戶端工具,用於客戶端搜索主機名的相關指令,必須裝
caching-nameserver-9.3.3-7.e15.i386.rpm //配置緩存域名伺服器的話就需要安裝.安裝后一些模板文件和named.ca就會有,會方便很多.建議安裝.

2、運行目錄

我們通過查看/etc/sysconfig/named中的內容,可以看到系統將named的目錄指向哪裡. 一行為ROOTDIR=/var/named/chroot ,即指向了/var/named/chroot裡面.我們的配置文件和資料庫文件的存放點為:
/var/named/chroot/etc/named.conf //配置文件
/var/named/chroot/var/named //資料庫文件存放位置
/var/named/chroot/run/named //named程序默認將pid文件放置此目錄下
而我們自已把配置文件和資料庫文件存放到了以下地點:
/etc/sysconfig/named 由該文件控制是否動chroot及其他參數
/etc/named.conf //配置文件
/var/named/ //資料庫文件(如正向、反向、根文件)存放位置
/var/run/named: //named程序默認將pid文件放置此目錄下
一般系統會為我們默認做鏈接,把系統默認的存放點都做了鏈接到我們自已的存放點.如果系統沒有做,我們就手工做鏈接.


三、配置主配置文件 named.conf

注意:我現在裝的rh5版本,默認沒有named.conf這個文件,需手工建 立.
touch /etc/named.conf //建立主配置文件
vi /etc/named.conf //編輯配置文件,並后工添加配置文件,最好是找到範例文件複製過來,然後在裡面更改.
1、全局配置
options {
directory "/var/named"; //指定配置文件所在目錄,必須配置此科
dump-file "/var/named/data/cache_dump.db;; //保存DNS伺服器搜索到的對應IP地址的高速緩存


statistics_file "/var/named/data/named_stats.txt; //dns的一些統計數據列出時就寫入這個設置指定的文件中.即搜集統計數據.
pid-file "/var/run/named/named.pid ; //用於記錄named程序的PID文件,可在NAMED啟動、關閉時提供正確的PID
allow_query (any;); //是否允許查詢,或允許哪 些客戶端查詢,可以把any換上網段 地址,以設置允許查詢的客戶端)
allow_transfer(none;); //是否允許MASTER 里的信息傳到SLAVE伺服器, 只有在同時擁有MASTER伺服器和SLAVE伺服器時才設置此項.none為不允許
forwarders{ 192.168.3.11;192.168.3.44;} ;//設置向上查找的哪個「合法」的DNS.地址之間要用; 分隔. (我的理解是此處定義的如同windows里定義的轉發一樣,當本地DNS服力器解析不了時,轉發到你指定的一個DNS伺服器上去解析).當不配置此項時,本機無法解析的都會用name.ca中配置的根伺服器上查詢,但如果配置了此項,本機查找不到的,就丟給此項中配置的DNS伺服器處理.
forward only //讓DNS伺服器只作為轉發伺服器,自身不作查詢.
motify //當主伺服器變更時,向從伺服器發送信息. 有兩個選項,yes 和no
}; //以上是全局配置中常用到的選項,根據實際情況配置.
2、根域伺服器的指向 ,最好是找一個文件複製過來即可,此文件一般不用更改.
可從此處下載更新 ftp://ftp.rs.internic.net/domain/
zone "."IN {

type hint;
file" named.ca";

};
3、 定義正向解析文件,此處以域 29zjt.com域為例.
zone "29zjt.com" IN {
type master; //定義伺服器類型
file "29zjt.com"; //指定正向解析文件名.
};
4、定義反向解析文件
zone "9.168.192.in-addr.arpa" {

type master; //伺服器類型
file "named.192.168.9" ; //反向解析文件名



};



四、配置正向解析文件及反向解析文件

touch /var/named/29zjt.com
touch /var/named.192.168.9

1、正向解析文件的編輯
vi /var/named/29zjt.com


$ORIGIN 29zjt.com.
$TTL 86400 //外DNS伺服器請求本DNS伺服器的查詢結果,在外DNS伺服器上的緩存時間,以秒為單位


@ IN SOA WWW.29zjt.com. admin.29zjt.com. ( //格式為:
【主機名或域名】ttl] [calss] [type] [orgin] [mail]
主機名或域名:一般 用@代替.每個區域都有自已的SOA記錄,此處的為指定的域名.用@表示當前的源,也可以手工指定域名.
ttl:通常省略
class:類別,SOA記錄的類別對internet乖哦說預設為IN
type:類型,SOA記錄的類型就是SOA,指明哪個DNS伺服器對這個區域有授權.
origin:域區文件資 源,這個域區文件源就是這個域主DNS伺服器的主機名,注意這裡要求是完整的主機名,後面一定要加上「.".上例中:www.29zjt.com. 而不是www.29zjt.com 如果沒有加後面的點,結果將是:www.29zjt.com.29zjt.com
mail:一般指管理員的郵箱.但和一般 的郵箱不同,用"."代替了"@",尾部也 要加上「."


2009121001 //作為版本控制,當域區文件修改時,序號就增加,輔助伺服器對比發現與自已的不同后,就會做出更新,與主服力器同步
28800 //輔助伺服器與主伺服器進行更新的等待時間.間隔多久與主伺服器進行更新,單位為秒.
14400 //重試間隔.當輔助伺服器請求與主伺服器更新失敗后,再間隔多久重試傳遞
720000 //到期時間.當輔助伺服器與主伺服器之間刷新失敗后,輔助伺服器還提供多久的授 權回答.當與主伺服器失去聯繫一定時間后,(這個時間就是此處定義的時間),輔助伺服器會把本地數據當作不可靠的數據,將停止提供查詢.


如果主伺服器恢復正常,則輔助伺服器重新開始計時.
86400 ) //最小TTL,即最小有效時間,表明客戶端得到的回答在多長時間內有效.如果TTL時間長,客戶端緩存保存時間長,客戶端在收到查詢結果時開始計時(TTL)時間內有相同的查詢周日不再查詢服輸務器,直接查自已的緩存.如果TTL時間短,則緩存更新的頻率快

@ IN NS www.29zjt.com. //ns記錄
www IN A 192.168.9.4 //A記錄
ftp IN CName www.29zjt.com. //別名類型
mail IN MX 10 192.168.9.100 //郵件交換器
mail2 IN MX 20 192.168.9.101 //郵件交換器





2、反向解析文件的編輯

vi /var/named/named.192.168.9

$TTL 86400

@ IN SOA 9.168.192.in-addr.arpa admin.29zjt.com. (

2009121001
1H
15M
720000
86400 )

@ IN NS www.29zjt.com.
4 IN PTR WWW.29zjt.com. //反向指針類型


下面來詳解上面所遇到的記錄類型:

NS記錄: 指出該區域的名字伺服器的名字.指定一個區域的權威DNS伺服器.如果有一個以上的域名伺服器,可以在NS記錄中全部列出來.這些記錄一般在SOA後面.格式為: 【域名】 【 IN 】【 NS】 【 DNS伺服器電腦名】 ,域名可以用@代替或省略.
A記錄:(地址記錄) A類資 源記錄是記錄域名和IP地址的記錄.通常為主機名. 任何沒用「."結尾的主機名都會自動在後面加上域名. 一定要給NS記錄指定一條A記錄.


MX記錄:,指定某個郵件伺服器.以接受主機傳送郵件. 這兩條記錄中的10和20代表優先順序,級別越小,優先順序越高.如果優先順序高的發不出去,再以低級別的發送.


別名: cname. 為主機建別名.可把一台主機賦予多個別名

指針記錄:PTR 用於執行從IP到主機的逆向映射,保存逆向映射的IP地址.


Normal 0 0 2 false false false MicrosoftInternetExplorer4 st1:*{behavior:url(#ieooui) } 五、MASTER/SLAVE伺服器配置實例
如果安裝了
bind-chroot-9.3.4-10.P1.el5這個軟體,
就得把named.conf文件建在
/var/named/chroot/etc/目錄下.
正向和反向解析文件就得在:/var/named/chroot/var/named 目錄下.如果想在默認目錄下的就話,就得手工鏈接.
ln -s /var/named/chroot/etc/named.conf /etc/named.conf //把主配置文件做軟鏈接到/etc/目錄下.
allow-transfer{192.168.9.5:}; //只允許更新到192.168.9.5這台輔助域名伺服器 zone "."IN {

type hint;
file" named.ca";

};
0 2 false false false MicrosoftInternetExplorer4 一個DNS伺服器不可能接受所有客戶端的查詢,就需要把子網委派給另一個DNS伺服器管理.
@ IN NS www.29zjt.com.
@ IN NS dns2.29zjt.com.
tk3y.29zjt.com. IN NS manager.tk3y.29zjt.com.
manager IN A 192.168.9.10

[火星人 ] bind (dns)基本配置方法已經有519次圍觀

http://coctec.com/docs/linux/show-post-52545.html