做者:沈小然 服務器
北京證聯支付有限責任公司
dom
OS:Red Hat Enterprise Linux Server release 6.3 (Santiago) ide
DNS 服務器:172.21.20.1/255.255.0.0 oop
# yum -y install bind 測試
編輯 /etc/named.conf 配置文件,添加一個域 ui
options { spa listen-on port 53 { 172.21.20.1; }; .net listen-on-v6 port 53 { ::1; }; debug directory "/var/named"; rest dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; recursion yes;
dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto;
/* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic"; };
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file "named.ca"; };
zone "aaa.com" IN { type master; file "aaa.com.zone"; #解析aaa.com域記錄的文件名 allow-update { none; }; };
zone "20.21.172.in-addr.arpa" { type master; file "20.21.172.ptr"; allow-update { none; }; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; |
根據上面DNS主配置文件的配置,正向解析文件位置在 /var/named目錄下
利用bind提供的模版文件咱們建立aaa.com.zone,提供了兩個模版文件
l 正向解析模版named.localhost;
l 反向解析模版named.loopback;
# cp named.localhost aaa.com.zone
編輯/var/named/aaa.com.zone文件
$TTL 1D @ IN SOA dns.aaa.com. root.aaa.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.aaa.com. dns IN A 172.21.20.1 www IN A 172.21.20.1 test IN A 172.21.20.1 |
注意:這裏用的都是全域名,後面都有一個 . 符號。
# cp named.loopback 20.21.172.ptr
編輯 /var/named/20.21.172.ptr文件
$TTL 1D @ IN SOA dns.aaa.com. root.aaa.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.aaa.com. 1 IN PTR dns.aaa.com. 1 IN PTR www.aaa.com. |
# ll
total 36
-rw-r----- 1 root named 176 Aug 14 12:01 20.21.172.ptr
-rw-r----- 1 root named 218 Aug 14 10:57 aaa.com.zone
說明:只要保證屬組是named就能夠了,屬主是root或named不影響。
重啓DNS服務
# /etc/init.d/named restart
Stopping named: .[ OK ]
Starting named: [ OK ]
設置開機自動啓動
# chkconfig named on
# vi /etc/resolv.conf
nameserver 172.21.20.1
# ping www.aaa.com
PING www.aaa.com (172.21.20.1) 56(84) bytes of data.
64 bytes from localhost (172.21.20.1): icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from localhost (172.21.20.1): icmp_seq=2 ttl=64 time=0.021 ms
結果返回172.21.20.1地址說明咱們本地的DNS服務能夠正常解析了。
# ping www.baidu.com
PING www.a.shifen.com (119.75.217.56) 56(84) bytes of data.
64 bytes from 119.75.217.56: icmp_seq=1 ttl=51 time=4.61 ms
64 bytes from 119.75.217.56: icmp_seq=2 ttl=51 time=4.04 ms
也能夠代解析互聯網其餘服務器
# nslookup
> www.aaa.com
Server: 172.21.20.1
Address: 172.21.20.1#53
Name: www.aaa.com
Address: 172.21.20.1
# nslookup
> 172.21.20.1
Server: 172.21.20.1
Address: 172.21.20.1#53
1.20.21.172.in-addr.arpa name = dns.aaa.com.
需求:
公司內部服務器須要一臺內網的DNS服務器,用來幫助解析互聯網的域名。
原理:
互聯網的域名管理都是由各自的NS記錄指向的DNS服務器管理的。咱們不能直接在內網DNS服務器上添加A記錄,咱們必須添加這些域名的NS記錄,這樣每當內網客戶機經過內網的DNS查詢時,內網DNS首先去找管理這些域名的DNS詢問對應的IP地址,而後在返回給客戶機。
[domain] IN [RR type] [RR data]
主機名稱. IN A IPv4 的 IP 位址
主機名稱. IN AAAA IPv6 的 IP 位址
領域名稱. IN NS 管理這個域名的DNS服務器主機名字. (例如cns2.icbc.com.cn.)
領域名稱. IN SOA 管理這個領域名稱的起始受權的DNS名字.
領域名稱. IN MX 優先級 郵件服務器的主機名字.
主機別名. IN CNAME 實際表明這個主機別名的主機名字.
舉例說明,咱們想知道中國銀行域名 www.boc.cn 由哪一個DNS服務提供,咱們須要查詢這個域名所在的NS記錄。查詢的時候,咱們得輸入全域名即 www.boc.cn才行。使用下面的命令查詢
# dig -t ns www.boc.cn
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> -t ns www.boc.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4595
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.boc.cn. IN NS
;; AUTHORITY SECTION:
boc.cn. 3551 IN SOA ns3.boc.cn. hostmaster.ns3.boc.cn. 2013081996 10800 3600 604800 86400
;; Query time: 0 msec
;; SERVER: 172.21.20.1#53(172.21.20.1)
;; WHEN: Thu Aug 14 16:40:33 2014
;; MSG SIZE rcvd: 79
說明:咱們查到www.boc.cn域名的SOA記錄是 ns3.boc.cn,這個就是提供www.boc.cn解析的主DNS服務器的名字。
1. 編輯/etc/named.conf,添加一個ns.com域
zone "ns.com" IN {
type master;
file "ns.com.zone";
allow-update { none; };
};
2. 編輯 /var/named/ns.com.zone文件,添加不一樣域名的NS記錄
$TTL 1D @ IN SOA dns.ns.com. root.ns.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.ns.com. dns IN A 172.21.20.1 www.95599.cn IN NS ns1.shdc.95599.cn. corporbank.icbc.com.cn IN NS cns2.icbc.com.cn. ebspay.boc.cn IN NS ns3.boc.cn. www.cebbank.com IN NS dns3.cebbank.com. unionpaysecure.com IN NS ns1.dnsv5.com. bjportal.zqpay.com IN NS dns17.hichina.com. www.boc.cn IN NS ns3.boc.cn. |
配置好後,不須要重啓named服務便可生效。
# vi /etc/resolv.conf
nameserver 172.21.20.1
# ping www.95599.cn
PING www.shdc.95599.cn (124.74.251.240) 56(84) bytes of data.
64 bytes from 124.74.251.240: icmp_seq=1 ttl=239 time=25.2 ms
64 bytes from 124.74.251.240: icmp_seq=2 ttl=239 time=25.5 ms
表示能夠成功解析。
現象以下所示:
# nslookup
> 172.21.20.1
Server: 172.21.20.1
Address: 172.21.20.1#53
** server can't find 1.20.21.172.in-addr.arpa: SERVFAIL
分析:首先咱們查看named.conf文件是否配置正確。而後檢查 /var/named/目錄下是否存在反向解析文件。最後檢查/var/named目錄下的解析文件的屬組是不是named,若是不是named,DNS服務是沒有權限讀取這個文件的,也會提示can’t find 的錯誤。
解決:果真是由於該文件的屬組不是named致使的問題。
客戶機配置了/etc/resolv.conf文件,可是卻沒法提供解析
# cat /etc/resolv.conf
nameserver 172.21.20.1
現象:解析測試失敗,內容以下
# nslookup
> www.sina.com
Server: 172.21.20.1
Address: 172.21.20.1#53
** server can't find www.sina.com: REFUSED
分析:查看DNS的messages日誌,顯示以下:
Aug 18 11:29:31 Monitor named[9161]: client 172.21.20.2#36810: query (cache) 'quit/A/IN' denied
估計是DNS配置了某種解析限制,查看/etc/named.conf文件,修改下面的部分
options { listen-on port 53 { 172.21.20.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; 改爲 allow-query { any; }; recursion yes;
dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto;
/* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic"; }; |
重啓BIND服務
# /etc/init.d/named restart
Stopping named: .[ OK ]
Starting named: [ OK ]
再次測試客戶機的解析,一切正常了。
# nslookup
> www.sina.com
Server: 172.21.20.1
Address: 172.21.20.1#53
Non-authoritative answer:
www.sina.com canonical name = us.sina.com.cn.
us.sina.com.cn canonical name = wwwus.sina.com.
Name: wwwus.sina.com
Address: 12.130.132.30
編輯/etc/sysconfig/named
#OPTIONS="whatever",註釋掉whatever
OPTIONS="-4"
保存,重啓named服務