三台安装有CentOS 7操作系统的主机,第一台做主DNS服务器,IP地址配置为192.168.10.1/24; 第二台做辅助DNS服务器,IP地址配置为192.168.10.2/24;第三台做DNS客户端进行测试,IP地址配置为192.168.10.10/24; 在虚拟机设置中配置网络适配器模式为仅主机VMnet1模式,使三台主机能够互相通信。
一、安装DNS服务相关软件;
1、配置本地yum源或网络yum源
2、安装BIND相关软件包
[root@Centos7 ~]#yum install bind bind-chroot bind-utils -y
#bind为主服务程序;bind-chroot使得bind可以在chroot模式下运行;bind-utils是使用nslookup进行测试必备的软件工具包(CentOS7默认已安装)
二、配置DNS服务相关文件
DNS服务文件分为全局配置文件、主配置文件和正反向区域解析文件
1、配置DNS服务全局配置文件
[root@Centos7 ~]#vim /etc
options {
listen-on port 53 { any; }; #修改为any
listen-on-v6 port 53 { ::1; };
directory "/var/named"; #指定区域配置文件所在目录
dump-file "/var/named/data;;
statistics-file "/var/named/data;;
memstatistics-file "/var/named/data;;
allow-query { any; }; #修改为any
recursion yes;
dnssec-enable yes;
dnssec-validation no; #修改为no
#include "/etc;;
#主配置文件的示例文件,此处修改为"/etc;
include "/etc;; #修改后的内容
2、配置DNS服务主配置文件
[root@Centos7 ~]#cp -p /etc /etc
#将示例文件复制成一个新文件,名为named.zones,注意要与全局配置文件中修改的文件一致
[root@Centos7 ~]#vim /etc
zone "; IN { #配置域名
type master;
file ".zone"; #配置正向区域解析文件名称
allow-update { none; };
zone "10.168.192.in-addr.arpa" IN {
type master;
file "192.168.10.zone"; #配置反向区域解析文件名称
allow-update { none; };
3、配置DNS服务正向区域解析文件和反向区域解析文件
[root@Centos7~]#cp -p /var/named /var/named/.zone
#复制示例文件生成一个新的文件,名为.zone,该文件名要与主配置文件中的正向解析区域文件名一致
vim .zone
$TTL 1D
@ IN SOA @ root.. ( #root..相当于root@.这是管理员的邮箱地址,由于@有别的用途,因此此处用“.”来表示
0 ; serial #配置文件的序列号,用于主DNS服务器与辅助DNS服务器的同步
1D ; refresh #刷新时间间隔
1H ; retry #重试时间间隔
1W ; expire #过期时间
3H ) ; minimum #最小时间间隔
@ IN NS dns..
#定义该域的域名服务器,至少定义一个
@ IN MX 10 mail..
#定义邮件服务器,10表示优先级,取值范围为0-99,值越小,优先级越高。
dns IN A 192.168.10.1
#IN代表Internet,A代表主机资源,即定义了主机名与IP地址的对应关系
mail IN A 192.168.10.1
www IN A 192.168.10.1
ftp IN A 192.168.10.1
[root@Centos7~]#cp -p /var/named /var/named
#复制示例文件生成一个新的文件,名为.zone,该文件名要与主配置文件中的反向解析区域文件名一致
vim 192.168.10.zone
$TTL 1D
@ IN SOA @ root.. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns..
@ IN MX 10 mail..
1 IN PTR dns..
#PTR代表指针记录,即定义了IP地址与主机名之间的对应关系。
1 IN PTR mail..
1 IN PTR www..
1 IN PTR ftp..
三、启动DNS服务
[root@Centos7 ~]#systemctl start named
[root@Centos7 ~]#systemctl enable named
四、配置防火墙
[root@Centos7 ~]#firewall-cmd --permanet --add-service=dns
#在防火墙配置中允许dns服务
[root@Centos7 ~]#firewall-cmd --reload
#重启防火墙
[root@Centos7 ~]#firewall-cmd --list-all
#查看防火墙配置信息,查验上述配置是否生效
五、实验验证
1、配置Linux客户端IP地址为192.168.10.10,测试与服务器的连通性。
2、在Linux客户端配置DNS服务器地址为192.168.10.1
[root@Centos7 ~]#vim /etc
nameserver 192.168.10.1 #配置DNS服务器为192.168.10.1
3、用nslookup验证(如果无法使用,请安装bind-utils软件包)
[root@Centos7 ~]# nslookup
> server
Default server: 192.168.10.1
Address: 192.168.10.1#53
> www.
Server: 192.168.10.1
Address: 192.168.10.1#53
Name: www.
Address: 192.168.10.1
> 192.168.10.1
Server: 192.168.10.1
Address: 192.168.10.1#53
1.10.168.192.in-addr.arpa name = www..
1.10.168.192.in-addr.arpa name = ftp..
1.10.168.192.in-addr.arpa name = dns..
1.10.168.192.in-addr.arpa name = mail..
验证成功!
……未完待续,敬请期待!……