服务器端

(1)通过在线方式安装bind9

1
yum install -y bind bind-utils

(2)启动服务

1
systemctl start named

(3)查看服务状态

1
systemctl status named

(4)配置服务为开机自启动

1
systemctl enable named

(5)修改named服务配置文件,配置DNS日志路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
vi /etc/named.conf
-------------------named.conf-------------------
options {
// 接受来自任何网络接口的DNS请求
listen-on port 53 { any; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
// 允许访问的ip范围
allow-query { 10.10.0.0/16; };

# 为排版方便此处省略部分提示信息
};
logging {
// channel default_debug {
// file "data/named.run";
// severity dynamic;
// };

channel named_log {
// 指定日志文件的路径,设置日志文件的版本数量限制为5个,每个文件的最大大小为50m
file "/var/log/dns/named.log" versions 5 size 50m;
// 日志记录的时间格式采用ISO 8601标准
print-time iso8601;
// 打印日志条目的类别
print-category yes;
// 打印日志条目的严重性
print-severity yes;
severity info;
};
// 定义多个日志记录类别
category default { named_log; };
category general { named_log; };
category config { named_log; };
category client { named_log; };
category network { named_log; };
category notify { named_log; };
category queries { named_log; };
category update { named_log; };
category query-errors { named_log; };
category resolver { named_log; };
category xfer-in { named_log; };
category xfer-out { named_log; };
category dnssec { named_log; };
};
# 为排版方便此处省略部分提示信息
-------------------named.conf-------------------

(6)配置DNS区域,完成DNS服务器的搭建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
vi /etc/named.rfc1912.zones
-------------------named.rfc1912.zones-------------------
// If private ranges should be forwarded, add
// disable-empty-zone "."; into options
//

zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};

zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
// 自定义域名区域和DNS记录集合
zone "elk.com" IN {
type master;
file "/var/named/elk.com.zone";
allow-update { none; };
};
-----------------------------------------------

(7)创建”elk.com”的区域数据文件,并定义DNS服务器的域名为“dns.elk.com”和客户机的域名为“test.elk.com”。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建"elk.com"的区域数据文件
vi /var/named/elk.com.zone
# 定义DNS服务器和客户机的域名
-------------------named.rfc1912.zones-------------------
$TTL 1D
@ IN SOA dns.elk.com. admin.elk.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.elk.com.
dns IN A 10.10.2.103
test IN A 10.10.2.113
-------------------------------------------------------

(8)设置日志服务权限,配置防火墙,重启服务使得配置生效

1
2
3
4
5
6
7
8
9
# 创建存放日志的目录并赋权
mkdir /var/log/dns
chmod -R 777 /var/log/dns/
# 配置dns服务访问策略,使其能够正常访问
firewall-cmd --permanent --add-service=dns
# 重新加载防火墙策略
firewall-cmd --reload
# 重启named服务,让配置生效
systemctl restart named

(9)修改DNS为“10.10.2.103”,并重启网络生效。

1
2
# 使用nmtui管理网络连接
nmtui

选择“编辑连接”,回车,选择网卡“ens32”,在“编辑连接”界面中将DNS服务器修改为“10.10.2.103”,保存退出。如图6-1-1、6-1-2所示。

imgimg

保存退出后,重启网络让DNS服务器配置生效。

1
systemctl restart NetworkManager

(10)验证DNS服务器是否配置成功。

1
2
3
ping www.baidu.com
ping dns.elk.com
ping test.elk.com

客户机端

修改DNS配置为“10.10.2.103”,具体步骤参照《步骤1:虚拟机规划》的“(9)”。

重启网络网络后,验证DNS配置是否生效。

1
2
3
ping www.baidu.com
ping dns.elk.com
ping test.elk.com