DNS 服务与管理
# DNS 服务与管理
# 掌握要点
(1)了解 BIND 服务的安装配置。
(2)使用 bind-chroot 搭建 DNS 服务
(3)配置 DNS 服务的正反向解析。
# 基础准备
# 1.规划节点
⚫部署主从节点 DNS 服务+正反向解析
⚫配置好本地的DNS地址
⚫安装bind工具,通过bind工具管理DNS服务器
IP | 主机名 | 节点 |
---|---|---|
192.168.1.5 | master | 主 DNS 服务器 |
192.168.1.11 | slaver | 从 DNS 服务器 |
# 2.关闭防火墙
[root@master ~]# setenforce 0
[root@master ~]# systemctl stop firewalld
# 3.安装配置Bind
以下操作在master和slave节点进行
⚫安装配置 DNS 软件 BIND(两个节点),使用yum命令安装 bind-chroot DNS
服务器。
⚫通过 rpm -ql bind-chroot
查询所安装的文件。
⚫进入 bind-chroot 目录,拷贝 bind 相关文件,准备 bind-chroot 环境
。
⚫ 创建 dynamic 目录,将 bind 文件设置为可写。
⚫将 DNS 服务 named.conf 文件拷贝到 bind-chroot
目录中。
[root@master ~]# yum install bind-chroot bind-utils -y
[root@master ~]# rpm -ql bind-chroot
/etc/named-chroot.files
/usr/lib/systemd/system/named-chroot-setup.service
/usr/lib/systemd/system/named-chroot.service
/usr/libexec/setup-named-chroot.sh
/var/named/chroot
[root@master ~]# cd /var/named/chroot
[root@master chroot]# cp -R /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/
[root@master chroot]# cp -R /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/
[root@master chroot]# cd var/named/
[root@master named]# chmod -R 777 data/
[root@master named]# mkdir dynamic
[root@master named]# chmod -R 777 dynamic
[root@master chroot]# cp /etc/named.conf /var/named/chroot/etc/named.conf
cp: overwrite ‘/var/named/chroot/etc/named.conf’? y
# 4.配置正反向解析
⚫编辑配置文件 named.conf
,需要将监听端口修改成any
,和allow-query也配置成any
,然后配置域名是test.com
的正向解析以及1.168.192
的反向解析。
⚫设置 named.conf 文件的用户权限为 named
。
[root@master named]# chown named /var/named/chroot/etc/named.conf
[root@master chroot]#vi /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; }; # 这里把127.0.0.1修改成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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; # 这里把localhost修改成any
·
·
·
zone "test.com" IN { #正向解析
type master;
file "test.com.zon"
allow-update {none;};
};
zone "1.168.192.in-addr.arpa" IN { #反向解析
type master;
file "test.com.arpa"
allow-update {none;};
};
5.配置转发域
⚫拷贝模板文件 named.localhost
到 test.com.zon。
⚫编辑 test.com.zon
文件为正向解析的转发域,赋予 test.com.zon 所有权限。
⚫编辑 test.com.arpa
文件为反向解析的转发域赋予 test.com.arpa 所有权限。
[root@master named]# cp /var/named/named.localhost /var/named/chroot/var/named/test.com.zon
[root@master named]# cat test.com.zon
$TTL 1D
$ORIGIN test.com.
@ IN SOA test.com. root.test.com. (
0 ; serial
1D ; refresh <---这部分是正向解析转发域--->
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.test.com.
ns1 IN A 192.168.1.5
www IN A 192.168.1.5
www2 IN A 192.168.1.5
ftp IN A 192.168.1.5
[root@master named]# cat test.com.arpa
$TTL 1D
@ IN SOA test.com. root.test.com. (
0 ; serial
1D ; refresh <---这部分是反向解析转发域--->
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.test.com.
IN A 192.168.1.5
5 IN PTR www.test.com.
[root@master named]# chmod 777 test.com.zon
[root@master named]# chmod 777 test.com.arpa
# 5.检查配置
[root@master named]# named-checkconf /var/named/chroot/etc/named.conf
[root@master named]# named-checkzone test.com test.com.zon
zone test.com/IN: loaded serial 0
OK
# 6.重启服务
⚫需要关闭 named
服务,取消开机启动。
⚫设置 bind-chroot
服务开机启动,并重启。
⚫配置主机 DNS
服务器。
⚫使用 bind
基本命令重载主配置文件和区域解析库文件
[root@master named]# systemctl stop named
[root@master named]# systemctl disable named
[root@master named]# systemctl enable named-chroot
ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'
[root@master named]# systemctl restart named-chroot
[root@master named]# vim /etc/resolv.conf
; Created by cloud-init on instance boot automatically, do not edit.
;
; generated by /usr/sbin/dhclient-script
search openstacklocal
nameserver 192.168.1.5
[root@master named]# rndc reload
[root@master named]# rndc reload test.com
[root@master named]# rndc notify test.com
[root@master named]# rndc reconfig
测试 DNS 解析是否正常。可以正常解析。
[root@master named]# nslookup
> www.test.com
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: www.test.com
Address: 192.168.1.5
# 7.配置主从 DNS
⚫首先,在 Master
上操作,修改 Master 的 named.conf 配置文件。
[root@master chroot]# cat /var/named/chroot/etc/named.conf
zone "test.com" IN {
type master;
file "test.com.zon"
allow-update {none;};
allow-transfer {192.168.1.11;}; <---添加这三行指定slave节点--->
notify yes;
also-notify {192.168.1.11;};
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "test.com.arpa"
allow-update {none;};
allow-transfer {192.168.1.11;};
notify yes;
also-notify {192.168.1.11;};
};
⚫然后, 在 slave
上操作,修改 slave 服务器上的 named.conf 文件。
⚫设置 slaves
目录权限和目录的所有者为 named 用户。
⚫检查语法,并在 master 和 slave
重启服务。
[root@slave chroot]# cat /var/named/chroot/etc/named.conf
zone "test.com" IN {
type slave; <---指定master节点--->
file "slaves/test.com.zon";
masters { 192.168.1.5; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "slaves/test.com.arpa";
masters { 192.168.1.5; };
[root@slave ~]# chmod -R 777 /var/named/chroot/var/named/slaves/
[root@slave ~]# chown -R named:named /var/named/chroot/var/named/slaves/
[root@slave ~]# named-checkconf /var/named/chroot/etc/named.conf
[root@slave ~]# systemctl restart named-chroot
[root@slave chroot]# ll /var/named/chroot/var/named/slaves/
total 16
-rwxrwxrwx 1 named named 56 Feb 10 13:29 my.ddns.internal.zone.db
-rwxrwxrwx 1 named named 56 Feb 10 13:29 my.slave.internal.zone.db
-rw-r--r-- 1 named named 287 Feb 10 13:37 test.com.arpa
-rw-r--r-- 1 named named 308 Feb 10 13:37 test.com.zon
# 8.主从测试
在 master 主机用从服务器解析,(@后面指定 DNS 服务器的地址,就可以不用改本机 的 DNS 了),解析到 www2 域名,表明配置成功
[root@master named]# dig www2.test.com @192.168.1.11
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www2.test.com @192.168.1.11
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22457
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www2.test.com. IN A
;; ANSWER SECTION:
www2.test.com. 86400 IN A 192.168.1.5
;; AUTHORITY SECTION:
test.com. 86400 IN NS ns1.test.com.
;; ADDITIONAL SECTION:
ns1.test.com. 86400 IN A 192.168.1.5
;; Query time: 0 msec
;; SERVER: 192.168.1.11#53(192.168.1.11)
;; WHEN: Thu Feb 10 14:18:08 UTC 2022
;; MSG SIZE rcvd: 92