yum install -y bind bind-chroot bind-utils
chroot是通過相關文件封裝在一個偽根目錄內,已達到安全防護的目的,一旦程序被攻破,將只能訪問偽根目錄內的內容,而不是真實的根目錄
BIND安裝好之后不會有預制的配置文件,但是在BIND的文檔文件夾內(/usr/share/doc/bind-9.9.4),BIND為我們提供了配置文件模板,我們可以直接拷貝過來:
cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/ cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/
配置BIND服務的主配置文件(/var/named/chroot/etc/named.conf),命令:vim /var/named/chroot/etc/named.conf;
內容很多使用簡單配置,刪除文件中logging以下的全部內容,以及option中的部分內容,得到如下配置
vim /var/named/chroot/etc/named.conf options { // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // "Working" directory listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; };
在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone參數
vim /var/named/chroot/etc/named.conf options { // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // "Working" directory listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; }; zone "yaohjk.com" { type master; file "yaohjk.com.zone"; };
新建yaohjk.com.zone文件,yaohjk.com的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以已/var/named/chroot/var/named/named.localhost為模板。
命令:
cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/yaohjk.com.zone
文件yaohjk.com.zone的內容如下:
[root@xxx]# cat yaohjk.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 gz IN A 192.168.0.199 boss IN A 192.168.0.199 login IN A 192.168.0.199 pay IN A 192.168.0.199 wx IN A 192.168.0.199
禁用bind默認方式啟動,改用bind-chroot方式啟動。命令如下:
[root@xxx named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on [root@xxx named]# systemctl stop named [root@xxx named]# systemctl disable named [root@xxx named]# systemctl start named-chroot [root@xxx named]# systemctl enable named-chroot [root@xxx named]# [root@xxx named]# ps -ef|grep named named 25984 1 0 13:41 ? 00:00:00 /usr/sbin/named -u named -c /etc/named.conf -t /var/named/chroot root 29267 48688 0 13:54 pts/1 00:00:00 grep --color=auto named [root@xxx named]#