# rpm -ql bind-utils
/usr/bin/dig #dig測試指令工具
/usr/bin/host #host測試指令工具
/usr/bin/nslookup #nslookup測試指令工具
bind:
主配置檔案:named.conf,每個語句都要使用分号結尾;否則就是文法錯誤
程式檔案:/usr/sbin/named
dig指令: dig -t 資源記錄類型 名稱 @server-ip
option:
[ -t type] 指定類型
[-x addr] 指定IP
資源記錄類型名稱:
NS :對應DNS伺服器的FQDN
A :代表"主機名稱"與"IP"位址的對應關系, 作用是把名稱轉換成IP位址
PTR:代表"IP位址"與"主機名"的對應關系,作用剛好與A記錄相反
[@server-ip]:
不寫IP,預設是本地伺服器的IP
用@server-ip,指定伺服器的IP
# dig -x IP @server-ip查找反向解析
dig +trace 跟蹤解析
例如: #dig -t NS badu.com @192.54.112.30 +trace
#dig -t axfr zone 驗證完全區域傳送
例如: #host -t A www.51cto.com 172.16.0.1
nslookup FQDN [server-ip]
named-checkzone "zone_name" /path/to/zone_file檢測區域檔案文法錯誤
chroot /mnt/sysroot
限定在/mnt/sysroot/目錄下,防止被劫持而造成嚴重後果,一般生産環境中應用。
bind-chroot: named, /var/named/chroot/
一個FQDN可對應同多個IP:負載均衡
多個FQDN可對應一個IP:一台主機可以有多個名稱
named -chechconf檢測主配置檔案文法錯誤
named-checkzone "magedu.com" /var/named/magedu.com.zone檢測區域檔案文法錯誤
修改完如果service named restart會使服務終止,是以service named reload 重新加載檔案
#dig -t A www.magedu.com @172.16.100.1 檢視A記錄
#dig -t NS magedu.com @172.16.100.1 不能加www,因為NS後面是區域名稱
#host -t A www.magedu.com @172.16.100.1 檢視A記錄
#dig -t CNAME ftp.magedu.com @172.16.100.1 檢視别名
#dig -t axfr magedu.com @172.16.100.1 完全區域傳送 顯示所有資訊
編輯vim /etc/resolv.conf
修改直接指向本機ip位址, 這樣就不用每次都指向本機了
1、緩存伺服器;
如果沒有安裝bind包,就自己配置yum源,然後安裝bind包,例如:
#vim /etc/yum.repos.d/ yum.repo
【base】
name=RHEL6.4 x86_64
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/
gpgcheck=0
安裝bind
#yum -y install bind
主配置檔案/etc/named.conf的修改:注釋掉options段中如下選項,也可以修改
//listen-on port 53 { 127.0.0.1; };被注釋掉
//listen-on-v6 port 53 { ::1; };被注釋掉
//allow-query { localhost; };定義允許誰查詢
forwarders { 127.16.0.1; };定義轉發的伺服器的ip,一般為營運商的ip位址
啟動named服務:緩存DNS伺服器; service named start
第一次需要開啟服務,之後隻需要加載配置檔案即可
# service named reload (rndc reload)
# rndc status 顯示DNS伺服器的工作屬性
2、主伺服器
//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };
//allow-query { localhost; };
啟動named服務: service named start
正向的主DNS伺服器
在區域配置檔案/etc/named.rfc1912.zones建立一個區域:
zone "區域名稱" IN {
type master|slave|forward;
file "ZONE_NAME.zone";
};
例如 zone "magedu.com" IN {
type master;
file "magedu.com.zone"; /var/named為預設存放路徑
allow-transfer { allowxfer } 允許定義在allowxfer 的主機做區域傳送
}; 指定從伺服器的ip位址
檢測主配置檔案文法錯誤:named-checkconf
在/var/named下建立“ZONE_NAME.zone”檔案,通常隻包含宏定義和資源記錄,而第一個記錄必須是SOA記錄;例如:
$TTL 600
$ORIGIN magedu.com.
@ IN SOA dns.magedu.com. admin.magedu.com. (
2013081201
2H
10M
7D
6H )
IN NS dns.magedu.com.(或dns不加點)
IN MX 10 mail 10表示優先級
dns IN A 172.16.100.1
mail IN A 172.16.100.2
www IN A 172.16.100.6
ftp IN CNAME www 别名
確定屬組為named ,權限為640
named-checkzone "magedu.com" magedu.com.zone 檢查區域解析庫檔案
反向的主DNS伺服器
zone "4.16.172.in-addr.arpa." IN {
file "172.16.100.zone"; /var/named預設存放路徑
};
檢查主配置檔案 #named-checkconf
#cp -p magedu.com.zone 172.16.100.zone檢視屬性資訊
編輯檔案/var/named/172.16.100.zone
$TTL 600;
$ORIGIN 100.16.172.in-addr.arpa.
IN NS dns.magedu.com.
1 IN PTR dns.magedu.com.不能寫dns 因為會自動補成 dns.100.16.172.in-addr.arpa.
2 IN PTR mail.magedu.com.
6 IN PTR www.magedu.com.
8 IN PTR www.magedu.com.
8 IN PTR pop.magedu.com.
#named-checkzone "100.16.172.in-addr.arpa." /var/named/172.16.100.zone 檢查區域解析庫檔案
測試 #host -t PTR 172.16.100.1 解析172.16.100.1得主機名
3、輔助伺服器
如何建立從伺服器?(slave)
如果有多台DNS伺服器,必須為每個DNS伺服器建立NS記錄,否則主DNS将不向發送通知;
區域定義:
type slave;
file "slaves/ZONE_NAME.zone"; /var/named/slaves下儲存從伺服器檔案
masters {
MASTER_DNS_IP;
MASTER_DNS2_IP;
正向的從伺服器
#vim /etc/named.conf:注釋掉options段中如下選項,也可以修改
//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };
//allow-query { localhost; };
例如:在/etc/named.rfc1912.zones裡
zone "magedu.com" IN {
type slave; 指定類型為從伺服器
file "slaves/magedu.com.zone"; 指定檔案路徑
allow-transfer { none } 一般從伺服器不允許任何人做區域傳送
masters { 172.16.100.1; }; 指定主伺服器ip
#named-checkconf檢測主配置檔案是否有錯誤
在主伺服器上加一個記錄 vim magedu.com.zone
IN NS ns2
ns2 IN A 172.16.100.17
#named-checkzone "magedu.com" magedu.com.zone
#rndc reload
檢測一下 #dig -t NS magedu.com
#service named start啟動服務
可以看到 /var/named/下 有magedu.com
反向的從伺服器
vim /etc/named.rfc1912.zones
zone "100.16.172.in-addr.arpa." IN {
type slave;
file "slaves/172.16.100.zone";
masters { 172.16.100.1; };
};
在主伺服器上添加上:
IN NS ns2.magedu.com
17 IN PTR ns2.magedu.com
#named-checkzone “100.16.172.in-addr.arpa.” /var/named/172.16.100.zone
序列号加一表示修改過的
主和從伺服器都要重新加載、同步 #service named start ;(rndc reload)
驗證在windows上面的
打開輸入指令nslookup 進入交換式模式
#server 172.16.100.17 伺服器變成了172.16.100.17 啟動服務
檢視A記錄 set q=A
www.magedu.com
檢視NS set q=NS
magedu.com
MX記錄 set q=MX
本文轉自 宋鵬超 51CTO部落格,原文連結:http://blog.51cto.com/qidian510/1274631,如需轉載請自行聯系原作者