前言
DNS(Domain Name System),域名系统,提供由域名解析到ip的服务,是互联网的重要基础服务。
下面我们就来在CentOS7上使用bind配置一下DNS服务器
一、安装配置DNS
(一)安装域名服务程序
yum install bind-chroot -y
(二)修改相关配置文件
域名解析服务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";
修改后的文件:
二、解析实验
(一)将系统的DNS地址修改为本机
(二)正向地址解析实验
1.修改区域配置文件
正向解析的作用是根据主机名(域名)查找到对应的IP地址,区域文件中已有一些默认信息,可不必理会,直接在下面追加即可:
[root@tianzhankui-hbza ~]# vim /etc/named.rfc1912.zones
zone "centos.com" IN {
type master;
file "centos.com.zone";
allow-update {none;};
}
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
如图:
$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.) |
如图:
重启named服务让配置文件立即生效:
[root@tianzhankui-hbza named]# systemctl restart named
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