簡述使用BIND配置本地DNS伺服器(centos 6.8)
阿新 • • 發佈:2019-01-27
DNS簡介:
DNS,Domain Name System,域名系統,用於Internet上域名和IP地址的相互對映,使得使用者不用記憶主機IP地址,僅通過與之對應的域名就可以訪問該主機。
下面是本地dns伺服器搭建過程,環境-centos6.8,本地IP-192.168.3.60。
1.yum安裝bind和bind-utils,後者包含dns查詢工具dig。
$ yum install bind bind-utils -y
2.修改配置檔案 named.conf
$ vim /etc/named.conf
修改內容如下:
options {
//新增監聽IP-192.168.3.60
listen-on port 53 { 127.0.0.1;192.168.3.60; };
};
//建立正向解析域(本地域)
zone "test.com" IN {
type master;
file "test.com.zone";
};
//建立反向解析域(本地域)
zone "3.168.192.in-addr.arpa" IN {
type master;
file "3.168.192.zone";
};
檢查配置語法正確與否:
$ named-checkconf
3.建立區域檔案
正向解析:
使用named.localhost檔案的副本,更改屬組為named。
$ cp named.localhost test.com.zone
$ chgrp named test.com.zone
$ vim test.com.zone
test.com.zone 內容如下:
$TTL 1D
@ IN SOA @ admin.test.com. (
2017020601 ; serial
1D ; refresh
1 H ; retry
1W ; expire
3H ) ; minimum
NS ns.test.com.
MX 5 mail.test.com.
ns A 192.168.3.60
mail A 192.168.3.61
www A 192.168.3.62
bbs A 192.168.3.63
檢查語法正確與否:
$ named-checkzone "test.com" /var/named/test.com.zone
反向解析:
使用named.localhost檔案的副本,更改屬組為named。
$ cp named.localhost 3.168.192.zone
$ chgrp named 3.168.192.zone
$ vim 3.168.192.zone
3.168.192.zone 內容如下:
$TTL 1D
@ IN SOA @ admin.dt.com. (
2017020701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.dt.com.
60 IN PTR ns.dt.com.
61 IN PTR mail.dt.com.
62 IN PTR www.dt.com.
63 IN PTR bbs.dt.com.
檢查語法正確與否:
$ named-checkzone "3.168.192.in-addr.arpa" /var/named/3.168.192.zone
4.啟動named,測試dns解析
$ /etc/init.d/named start
$ dig @192.168.3.60 bbs.test.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> @192.168.3.60 bbs.test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16609
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;bbs.test.com. IN A
;; ANSWER SECTION:
bbs.test.com. 86400 IN A 192.168.3.62
;; AUTHORITY SECTION:
test.com. 86400 IN NS ns.test.com.
;; ADDITIONAL SECTION:
ns.test.com. 86400 IN A 192.168.3.60
;; Query time: 0 msec
;; SERVER: 192.168.3.60#53(192.168.3.60)
;; WHEN: Wed Feb 8 13:28:57 2017
;; MSG SIZE rcvd: 77
遇到的問題和解決方法
1.修改完區域檔案,重啟named,出錯:
$ /etc/init.d/named restart
Stopping named: [ OK ]
Starting named:
Error in named configuration:
dns_rdata_fromtext: test.com.zone:10: near 'mail.test.com.': not a valid number
zone test.com/IN: loading from master file test.com.zone failed: not a valid number
zone test.com/IN: not loaded due to errors.
_default/test.com/IN: not a valid number
zone 3.168.192.in-addr.arpa/IN: loaded serial 2017020701
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
[FAILED]
原因是正向解析區域檔案中,MX記錄缺少優先順序,由“MX mail.test.com”改為“MX 5 mail.test.com”,不再報錯。
2.使用named-checkzone檢查區域檔案,出錯:
dns_rdata_fromtext: /var/named/test.com.zone:3: near '1D': not a valid number
zone test.com/IN: loading from master file /var/named/test.com.zone failed: not a valid number
zone test.com/IN: not loaded due to errors.
解決方法:
在第2行” IN SOA “後、” ( “前,新增” @ “或” test.com. “,正確語句如下:
@ IN SOA @ admin.test.com. (
......
@ IN SOA test.com. admin.test.com. (
......