环境声明

主DNS环境

  • 系统: Centos7.4
  • IP地址: 192.168.132.111
  • 网卡模式: 桥接模式
  • 软件版本: bind-9.9.4-50

辅助DNS环境

  • 系统: Centos7.4
  • IP地址: 192.168.132.100
  • 网卡模式: 桥接模式
  • 软件版本: bind-9.9.4-50

客户端环境

  • 客户端: Centos6.5
  • 客户端IP: 192.168.132.120
  • 网卡模式: 桥接模式

环境部署

服务安装

1
yum install bind bind-chroot -y

image-20211209105217493

配置文件

文件路径 文件说明
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones 区域文件
/var/name/ 用来存放解析文件等
/var/name/named.localhost 本地主机解析库

记录类型

记录类型 作用
A记录 将域名指向一个IPv4地址
CNAME记录 将域名指向另一个域名,实现与被指向域名相同的访问效果
MX记录 将域名指向邮件服务器地址(用于电子邮件服务)
NS记录 将子域名指向某个域名服务器解析(域名解析服务器记录)
TXT记录 可任意填写,一般用做SPF记录(反垃圾邮件)

地址解析

项目要求

  • 解析下方表格内容
解析域名 www.a.com w2.a.com ftp.a.com mail.a.com
解析地址 192.168.132.111 www.a.com 192.168.132.112 192.168.132.113
记录类型 A CNAME A MX

服务配置

修改配置文件/etc/named.conf,将下方的none改为any(接受其他主机的访问与查询)

1
2
3
options {
listen-on port 53 { any; }; # 改为any
allow-query { any; };

修改配置文件/etc/named.rfc1912.zones,指定正反向配置文件、类型等

1
2
3
4
5
6
7
8
9
10
11
12
13
# 正向解析
zone "a.com" IN {
type master;
file "a.com.zone";
allow-update { none; };
};

# 反向解析
zone "132.168.192.in-addr.arpa" IN {
type master;
file "192.168.132.zone";
allow-update { none; };
};

正向解析

创建正向解析文件,将域名解析到指定IP下

1
2
3
cd /var/name
cp -p named.localhost a.com.zone
vim a.com.zone
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum

@ IN NS dns.a.com.

dns IN A 192.168.132.111
www IN A 192.168.132.111
ftp IN A 192.168.132.112
w2 IN CNAME www.a.com.
@ IN MX 10 mail.a.com.
mail IN A 192.168.132.113

反向解析

1
2
3
cd /var/name
cp -p named.localhost 192.168.132.zone
vim 192.168.132.zone
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum

@ IN NS dns.a.com.

111 IN PTR dns.a.com.
111 IN PTR www.a.com.
112 IN PTR ftp.a.com.
113 IN PTR mail.a.com.
@ IN MX 10 mail.a.com.

解析测试

先清空服务器的防火墙配置、关闭selinux

1
2
iptables -F
setenforce 0

修改客户机的DNS配置文件,将nameserver配置为DNS服务器的IP地址

1
2
3
vim /etc/resolv.conf 

nameserver 192.168.132.111

在客户机中使用nslookup进行正反向解析测试

1
2
3
4
# 正向: 域名解析为IP地址
# 反向: IP地址解析为域名

nslookup 域名或IP

image-20211209160705256

image-20211209160754544

辅助DNS

辅助DNS可以作为主DNS的备份,减轻主DNS服务器的负载,主辅DNS服务器可以通过区域传输完成区域数据的同步

项目要求

  • 配置辅助DNS,将客户端的DNS改为辅助DNS的IP地址,进行解析测试

主DNS配置

在上方的基础上修改/etc/named.rfc1912.zones文件,将allow-transfer中的值修改为辅助DNS的IP地址,修改完成后保存重启named服务

1
2
3
4
5
6
7
8
9
10
11
zone "132.168.192.in-addr.arpa" IN {
type master;
file "192.168.132.zone";
allow-transfer { 192.168.132.100; };
};

zone "a.com" IN {
type master;
file "a.com.zone";
allow-transfer { 192.168.132.100; };
};

辅助DNS配置

按上方的步骤安装完bind后,修改配置文件/etc/named.conf,将下方两行用//注释掉

1
2
3
options {
//listen-on port 53 { any; };
//allow-query { any; };

修改配置文件/etc/named.rfc1912.zones,将type值修改为slave,将masters值修改为主DNS的IP地址

1
2
3
4
5
6
7
8
9
10
11
12
13
// 反向
zone "132.168.192.in-addr.arpa" IN {
type slave;
file "192.168.132.zone";
masters { 192.168.132.111; };
};

// 正向
zone "a.com" IN {
type slave;
file "wuhu.com.zone";
masters { 192.168.132.111; };
};

修改完成后重启name服务,将客户端DNS配置信息修改为辅助DNS的IP地址

1
2
3
vim /etc/resolv.conf

nameserver 192.168.132.100

再将辅助DNS的防火墙配置清空、关闭selinux

1
2
iptables -F
setenforce 0

再使用客户端进行正反向解析测试

image-20211209162850972