前言

DNS(Domain Name System),域名系统,提供由域名解析到ip的服务,是互联网的重要基础服务。
下面我们就来在CentOS7上使用bind配置一下DNS服务器


 

一、安装配置DNS

(一)安装域名服务程序

yum install bind-chroot -y

 

centos不能解析mysql的域名 centos 域名解析_配置文件

 

(二)修改相关配置文件

 

域名解析服务Bind的程序名称叫做named,服务程序的配置文件如下:

主程序

/usr/sbin/named

主配置文件

/etc/named.conf

区域配置文件

/etc/named.rfc1912.zones

修改主配置文件

[root@tianzhankui-hbza ~]# vim /etc/named.conf
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
// See /usr/share/doc/bind*/sample/ for example named configuration files.
options {
//将下行中的127.0.0.1修改为any,代表允许监听任何IP地址。
listen-on port 53 { 127.0.0.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";
//将下行中的localhost修改为any,代表允许任何主机查询。
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";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

//此文件内定义了全球13台根DNS服务器的IP地址
zone "." IN {
type hint;
file "named.ca";
};

//此文件保存着正向与反向解析的区域信息,非常的重要。
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


修改后的文件:

centos不能解析mysql的域名 centos 域名解析_centos_02

二、解析实验

(一)将系统的DNS地址修改为本机

centos不能解析mysql的域名 centos 域名解析_centos_03

(二)正向地址解析实验

 

1.修改区域配置文件

正向解析的作用是根据主机名(域名)查找到对应的IP地址,区域文件中已有一些默认信息,可不必理会,直接在下面追加即可:

[root@tianzhankui-hbza ~]# vim /etc/named.rfc1912.zones
zone "centos.com" IN {
type master;
file "centos.com.zone";
allow-update {none;};

}

centos不能解析mysql的域名 centos 域名解析_配置文件_04

2.配置解析数据

可以直接复制正向解析模板文件:”/var/named/named.localhost“,填写信息后即可直接使用。

切换工作目录到bind(named)数据目录:

[root@tianzhankui-hbza ~]# cd /var/named/

查看区域数据文件的权限:

[root@tianzhankui-hbza named]# ls -al named.localhost
-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost

执行cp命令时加入-a,代表连通复制原来文件的属性、所有者、组等信息:

[root@tianzhankui-hbza named]# cp -a named.localhost centos.com.zone

编辑centos.com域名的区域数据文件:

[root@tianzhankui-hbza named]# vim centos.com.zone

如图:

centos不能解析mysql的域名 centos 域名解析_DNS_05


 

$TTL 1D

#生存周期为1天

 

 

 

 

@

IN SOA

centos.com.

root.centos.com.

(

 

 

#授权信息开始:

#DNS区域的地址

#域名管理员的邮箱(不要用@符号)

 

 

 

 

 

0;serial

#更新序列号

 

 

 

 

1D;refresh

#更新时间

 

 

 

 

1H;retry

#重试延时

 

 

 

 

1W;expire

#失效时间

 

 

 

 

3H;minimum

#无效解析记录的缓存时间

 

NS

ns.centos.com.

#域名服务器记录

ns

IN A

192.168.20.100

#地址记录(ns.centos.com.)

 

IN MX 10

mail.centos.com.

#邮箱交换记录

mail

IN A

192.168.20.100

#地址记录(mail.centos.com.)

www

IN A

192.168.20.100

#地址记录(www.centos.com.)

bbs

IN A

192.168.20.100

#地址记录(bbs.centos.com.)


如图:

centos不能解析mysql的域名 centos 域名解析_DNS_06


重启named服务让配置文件立即生效:

[root@tianzhankui-hbza named]# systemctl restart named

centos不能解析mysql的域名 centos 域名解析_DNS_07

3.检验解析结果

nslookup命令用于检测能否从网络DNS服务器中查询到域名与IP地址的解析记录,检测named服务的解析能否成功。

此为查询DNS服务器的信息:

[root@tianzhankui-hbza ~]# nslookup
> www.centos.com
Server: 127.0.0.1
Address: 127.0.0.1#53

顺利的将域名的对应IP地址解析出来了:

Name: www.centos.com
Address: 192.168.10.10
> bbs.centos.com

centos不能解析mysql的域名 centos 域名解析_centos_08