服务器端#
(1)通过在线方式安装 bind9
yum install -y bind bind-utils
(2)启动服务
systemctl start named
(3)查看服务状态
systemctl status named
(4)配置服务为开机自启动
systemctl enable named
(5)修改 named 服务配置文件,配置 DNS 日志路径
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 服务器的搭建
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”。
# 创建"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)设置日志服务权限,配置防火墙,重启服务使得配置生效
# 创建存放日志的目录并赋权
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”,并重启网络生效。
# 使用nmtui管理网络连接
nmtui
选择 “编辑连接”,回车,选择网卡 “ens32”,在 “编辑连接” 界面中将 DNS 服务器修改为 “10.10.2.103”,保存退出。
保存退出后,重启网络让 DNS 服务器配置生效。
systemctl restart NetworkManager
(10)验证 DNS 服务器是否配置成功。
ping www.baidu.com
ping dns.elk.com
ping test.elk.com
客户机端#
修改 DNS 配置为 “10.10.2.103”,具体步骤参照《步骤 1:虚拟机规划》的 “(9)”。
重启网络网络后,验证 DNS 配置是否生效。
ping www.baidu.com
ping dns.elk.com
ping test.elk.com