配置DNS服务器
- 创建解析:创建对
www.qwe.com
的解析。 - 启用chroot功能:限制
bind9
在/var/named/chroot/
目录下运行。 - 隐藏bind版本号:将版本显示设置为“unknow”。
配置步骤
目前发现bind9
使用chroot
限制时,在chroot
目录下需要有这些目录和其子目录文件:
/etc/bind/*
/usr/share/dns/*
/var/cache/bind/*
这些文件从chroot
目录到它们的路径,必须和根目录到它们原本的路径相同。例如,如果chroot
目录为/qwe
,那么bind
文件的chroot
路径就是/qwe/etc/bind/*
,这样从/qwe
到bind
路径为etc/bind/*
,与从根目录到原本的bind
路径相同。
1. 安装bind9,生成chroot环境,修改文件宿主
root@storagesrv:~# apt -y install bind9
root@storagesrv:~# mkdir -p /var/named/chroot
root@storagesrv:~# cd /var/named/chroot
root@storagesrv:/var/named/chroot# mkdir etc
root@storagesrv:/var/named/chroot# mkdir -p usr/share
root@storagesrv:/var/named/chroot# cp -pr /usr/share/dns/ usr/share/
root@storagesrv:/var/named/chroot# mkdir -p var/cache
root@storagesrv:/var/named/chroot# cp -pr /var/cache/bind/ var/cache/
root@storagesrv:/var/named/chroot# rm bind/ -r
root@storagesrv:/var/named/chroot# cp -pr /etc/bind etc/
root@storagesrv:/var/named/chroot# chown bind:bind /var/named/chroot -R
文件目录树结构示例:
2. 修改bind服务启动配置文件路径
root@StorageSrv:# cat /etc/default/bind9
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -t /var/named/chroot"
root@storagesrv:~#
3. 设置apparmor,运行bind服务访问/var/name/chroot文件夹
4. 以/var/named/chroot/etc/bind/中的文件为bind的配置文件
测试
成功运行后,bind
会在chroot
目录下生成run
文件夹:
该文件夹里面包含了named
服务的pid
和会话key
。