题目要求

服务器IspSrv工作任务

2.  DNS

配置为 DNS 根域服务器;

其他未知域名解析,统一解析为该本机 IP;

创建正向区域“chinaskills.cn”;

类型为 Slave;

主服务器为“AppSrv”;

启用 chroot 功能,限制 bind9 在/var/named/chroot/下运行;

隐藏 bind 版本号,版本显示为“unknow”。

项目配置

点击查看视频解析

安装软件包:

root@Ispsrv:~# apt install bind9 -y

查看软件目录:

root@IspSrv:~# cd /etc/bind/
root@IspSrv:/etc/bind# ls -l
总用量 48
-rw-r--r-- 1 root root 2761 6月  17  2021 bind.keys
-rw-r--r-- 1 root root  237 6月  17  2021 db.0
-rw-r--r-- 1 root root  271 6月  17  2021 db.127		# 方向解析数据库
-rw-r--r-- 1 root root  237 6月  17  2021 db.255
-rw-r--r-- 1 root root  353 6月  17  2021 db.empty
-rw-r--r-- 1 root root  270 6月  17  2021 db.local	# 正向解析数据库
-rw-r--r-- 1 root bind  463 6月  17  2021 named.conf		# bind的著配置文件,不包含DNS数据以在该文件中添加解析区域
-rw-r--r-- 1 root bind  498 6月  17  2021 named.conf.default-zones	# 默认区域,可以在该文件中添加解析区域
-rw-r--r-- 1 root bind  165 6月  17  2021 named.conf.local	# 用于定义解析域,也可以直接在named.conf中直接添加
-rw-r--r-- 1 root bind  846 6月  17  2021 named.conf.options	# 配置文件,全局选项配置
-rw-r----- 1 bind bind   77 11月  9 19:45 rndc.key	# rndc可以管理本地端或是远程的named
-rw-r--r-- 1 root root 1317 6月  17  2021 zones.rfc1918	# RFC 1918定义了私有IPv4的区段
root@IspSrv:/etc/bind#

定义解析区域及隐藏版本号:

配置根域及chinaskills.cn区域:

root@IspSrv:/etc/bind# cat /etc/bind/named.conf.local
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "." IN {
        type master;
        file "/etc/bind/db.root";
};
zone "chinaskills.cn" IN {
        type slave;
        masters { 81.6.63.254; };
};
root@IspSrv:/etc/bind#

网络系统管理Linux环境——ISPSRV之DNS_ide

配置根域解析:

root@IspSrv:/etc/bind# cp -a db.local db.root
root@IspSrv:/etc/bind# cat db.root
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
*       IN      A       81.6.63.100
root@IspSrv:/etc/bind#

网络系统管理Linux环境——ISPSRV之DNS_vim_02

隐藏版本号 在options字段中添加 version "unknow";:

root@IspSrv:/etc/bind# vim named.conf.options
# 22行添加:
version "unknow";

启用chroot功能:

修改在/var/named/chroot下运行:

root@IspSrv:/etc/bind# vim /etc/default/bind9

网络系统管理Linux环境——ISPSRV之DNS_IP_03

守护进程重新加载:

root@IspSrv:/etc/bind# systemctl daemon-reload

启用chroot,创建运行目录:

chroot,即 change root directory (更改 root 目录)。 在 linux 系统中,系统默认的目录结构都是以/ ,即是以根 (root) 开始的。 而在使用 chroot 之后,系统的目录结构将以指定的位置作为根目录

root@IspSrv:~# mkdir -p /var/named/chroot/{etc,dev,run/named,/var/cache/bind}

创建虚拟设备(dev),日志记录的时候有的选项可能用到,在默认情况下,是使用/dev/目录下的文件, 但是我们需要把DNS限制到一个目录,所以必须完全把/dev下用到的文件(或者说设备)模拟过来才可以 将其中的1,3这样的数字记录下来,这表示主设备号和次设备号(一般来说主设备号用来区分设备的种 类,次设备号则是为了唯一性区分,标明不同属性 注意,在unix系统中是把设备也当做文件来对待 的)

root@IspSrv:~# mknod /var/named/chroot/dev/null c 1 3
root@IspSrv:~# mknod /var/named/chroot/dev/random c 1 8
root@IspSrv:~# mknod /var/named/chroot/dev/urandom c 1 9
root@IspSrv:~#

修改权限,使之不具备执行权限:

root@IspSrv:~# chmod 660 /var/named/chroot/dev/{null,random,urandom}

将bind目录移动到chroot目录下:

root@IspSrv:~# mv /etc/bind /var/named/chroot/etc/

创建软链接:

root@IspSrv:~# ln -s /var/named/chroot/etc/bind /etc/bind

更改所有权:

root@IspSrv:~# chown bind:bind /var/named/chroot/run/named
root@IspSrv:~# chmod 775 /var/named/chroot/{var/cache/bind,run/named}
root@IspSrv:~# chgrp bind /var/named/chroot/{var/cache/bind,run/named}
root@IspSrv:~#

启用chroot还需要/usr/share/dns下的文件:

创建目录,复制文件:

root@IspSrv:~# mkdir /var/named/chroot/usr/share/dns -p
root@IspSrv:~# cp /usr/share/dns/* /var/named/chroot/usr/share/dns/
root@IspSrv:~#

最后配置rsyslog在正确位置监听绑定日志:

root@IspSrv:~# echo "/$AddUnixListenSocket /var/named/chroot/dev/log" >> /etc/rsyslog.d/bind-chroot.conf
root@IspSrv:~#

重启rsyslog和bind9:

root@IspSrv:~# systemctl restart rsyslog.service
root@IspSrv:~#
root@IspSrv:~# systemctl restart bind9
root@IspSrv:~#

评分标准

(1) 安装 BIND9(执行指令: systemctl status bind9) ; 【6 分】

评分要点:

bind9 服务征程运行“ active running ;

运行目 录为 -t /var/named/chroot ;

注意如果不是/var/named/chroot 该小题不得分。 )


网络系统管理Linux环境——ISPSRV之DNS_ide_04

(2) 根域服务器搭建; 【2 分】  

评分要点:

存在“zone . /IN loaded serial 2”

root@IspSrv:~# named-checkconf -z

网络系统管理Linux环境——ISPSRV之DNS_ide_05

(3) 正向区域“chinaskills.cn”搭建。 【2 分】 

评分要点:

type 类型为 slave, masters 设置为 81. 6. 63. 254 ;

网络系统管理Linux环境——ISPSRV之DNS_ide_06