###1. DNS简介
bind97:
/etc/named.conf #主配置文件
BIND进程的工作属性
区域的定义
/etc/rndc.key
rndc: Remote Name Domain Controller
密钥文件
配置信息:/etc/rndc.conf
/var/named/*
区域数据文件
/etc/rc.d/init.d/named
{start|stop|restart|status|reload}
二进制程序:named
###2. BIND安装
# 查询 BIND 软件
[root@CentOS ~]# yum list all | grep "^bind"
bind-libs.x86_64 32:9.7.0-5.P2.el6 @anaconda-CentOS-201106060106.x86_64/6.0
bind-utils.x86_64 32:9.7.0-5.P2.el6 @anaconda-CentOS-201106060106.x86_64/6.0
bind.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-chroot.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-devel.i686 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-devel.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-dyndb-ldap.x86_64 2.3-8.el6 base
bind-libs.i686 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-libs.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-sdb.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
bind-utils.x86_64 32:9.8.2-0.62.rc1.el6_9.1 updates
# 四个常用的 BIND 命令行工具
[root@CentOS ~]# rpm -ql bind-utils
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
# 安装库文件
[root@CentOS ~]# yum install bind-libs bind-utils
# 查询软件包是干嘛的
[root@CentOS ~]# yum info bind-devel
# 查找根域的所有 DNS 服务器
[root@CentOS ~]# dig -t NS .
# 通过某一特定的 DNS 服务器查找根有多少服务器
[root@CentOS ~]# dig -t NS . @a.root-servers.net.
# 备份主配置文件并且新建一个/etc/named.conf
[root@CentOS ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};
[root@CentOS ~]# chown root:named /etc/named.conf #更改数组
[root@CentOS ~]# chmod 640 /etc/named.conf #更改权限
[root@CentOS ~]# named-checkconf #检查配置文件是否错误
[root@CentOS ~]# named-checkzone "." /var/named/named.ca #检查区域是否错误
zone ./IN: has 0 SOA records
zone ./IN: not loaded due to errors
[root@CentOS ~]# named-checkzone "localhost" /var/named/named.localhost
zone localhost/IN: loaded serial 0
OK
[root@CentOS ~]# named-checkzone "localhost" /var/named/named.loopback
zone localhost/IN: loaded serial 0
OK
[root@CentOS ~]# named-checkzone "0.0.127.in-addr.arpa" /var/named/named.loopback
zone 0.0.127.in-addr.arpa/IN: loaded serial 0
OK
[root@CentOS ~]# service named configtest #使用一个命令完成检查
zone localhost/IN: loaded serial 0
zone 0.0.127.in-addr.arpa/IN: loaded serial 0
[root@CentOS ~]# tail /var/log/messages
Apr 24 21:27:48 CentOS NetworkManager[1951]: <info> gateway 192.168.1.1
Apr 24 21:27:48 CentOS NetworkManager[1951]: <info> nameserver '202.98.0.68'
Apr 24 21:27:48 CentOS NetworkManager[1951]: <info> nameserver '202.98.5.68'
Apr 24 21:42:02 CentOS pcscd: winscard.c:309:SCardConnect() Reader E-Gate 0 0 Not Found
Apr 24 21:42:02 CentOS pcscd: winscard.c:309:SCardConnect() Reader E-Gate 0 0 Not Found
Apr 24 21:42:02 CentOS pcscd: winscard.c:309:SCardConnect() Reader E-Gate 0 0 Not Found
Apr 24 21:42:02 CentOS pcscd: winscard.c:309:SCardConnect() Reader E-Gate 0 0 Not Found
Apr 24 21:43:02 CentOS yum: Installed: 32:bind-9.8.2-0.62.rc1.el6_9.1.x86_64
Apr 24 21:47:54 CentOS ntpd[2336]: synchronized to 193.228.143.23, stratum 2
Apr 24 21:59:33 CentOS ntpd[2336]: no servers reachable
[root@CentOS ~]# service named start
# 编辑自己的主机的DNS服务器指向
[root@CentOS ~]# vim /etc/resolv.conf
# 测试一下
[root@CentOS ~]# dig -t NS "."
[root@CentOS ~]# dig -t NS "." @A.root-servers.net.
[root@CentOS ~]# chkconfig --list named
named 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@CentOS ~]# chkconfig named on
[root@CentOS ~]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# 正向域名解析
[root@CentOS ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};
zone "centos.tst" IN {
type master;
file "centos.tst.zone"; #文件必须存在
};
[root@CentOS ~]# vim /var/named/centos.tst.zone
$TTL 600
centos.tst. IN SOA ns1.centos.tst. admin.centos.tst. (
2013040101
1H
5M
2D
6H )
IN NS ns1 #前面不谢代表继承上面的
IN MX 10 mail
ns1 IN A 192.168.1.109
[root@CentOS ~]# chmod 640 /var/named/centos.tst.zone
[root@CentOS ~]# chown root:named /var/named/centos.tst.zone
[root@CentOS ~]# named-checkzone "centos.tst" /var/named/centos.tst.zone
[root@CentOS ~]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
[root@CentOS ~]# vim /etc/resolv.conf #设置DNS指向自己
[root@CentOS ~]# dig -t 选项
# 配置反向域名解析
[root@CentOS ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};
zone "centos.tst" IN {
type master;
file "centos.tst.zone";
};
zone "1.168.192.in-addr.apra" IN { #正向域名解析
type master;
file "1.168.192.zone";
};
# 复制文件-p复制权限,改改即可使用
[root@CentOS ~]# cp /var/named/centos.tst.zone /var/named/1.168.192.zone -p
[root@CentOS ~]# vim /var/named/1.168.192.zone
$TTL 600
@ IN SOA ns1.centos.tst. admin.centos.tst. (
2013040101
1H
5M
2D
6H )
IN NS ns1.centos.tst
1 IN PTR ns1.centos.tst
ns1 IN A 192.168.1.109
[root@CentOS ~]# vim /etc/named.conf
[root@CentOS ~]# named-checkconf
[root@CentOS ~]# named-checkzone "1.168.192.in-addr.arpa" /var/named/1.168.192.zone
###3. 资料链接
Linux下DNS服务器搭建详解
Linux下搭建DNS教程,怎么\如何搭建DNS服务器
DNS服务器的搭建与使用详解
使用BIND配置DNS服务器—初级篇
CentOS下源码安装Bind 9.6.1搭建DNS服务器
BIND+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
域名服务BIND构建与应用配置
Ubuntu BIND9泛域名解析配置
CentOS 5.2下安装BIND9.6
DNS服务器配置图文详解