BIND(Berkeley internet Name Daemon)也叫做NAMED,是现今互联网上使用最为广泛的DNS 服务器程序。这篇文章将要讲述如何在 chroot 监牢中运行 BIND,这样它就无法访问文件系统中除“监牢”以外的其它部分。
在这篇文章中,我会将BIND的运行根目录改为 /var/named/chroot/。当然,对于BIND来说,这个目录就是 /(根目录)。 “jail”(监牢,下同)是一个软件机制,其功能是使得某个程序无法访问规定区域之外的资源,同样也为了增强安全性(LCTT 译注:chroot “监牢”,所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件进行操作,从而保证整个服务器的安全)。Bind Chroot DNS 服务器的默认“监牢”为 /var/named/chroot。
基本环境
10.29.181.61 Master DNS服务器
10.29.181.62 Slave DNS服务器
DNS服务器的合法域名:zts.local
要求
允许所有来源的主机对改域名进行解析,内网其他主机访问外网时候走ISP的DNS,只解析内网IP主机的请求进行转发,不会对外网主机的解析请求进行转发。
搭建主从DNS服务器集群
1、安装Bind Chroot DNS 服务器
|
|
2、拷贝bind相关文件,准备bind chroot 环境
|
|
3、在bind chroot 的目录中创建相关文件
|
|
4、 将 Bind 锁定文件设置为可写
|
|
5、 将 /etc/named.conf 拷贝到 bind chroot目录
|
|
6、 在/etc/named.conf中对 bind 进行配置
在 named.conf 文件尾添加 zts.local 域信息, 创建转发域(Forward Zone)与反向域(Reverse Zone)(LCTT 译注:这里zts.local 并非一个真实有效的互联网域名,而是通常用于本地测试的一个域名;如果你需要做权威 DNS 解析,你可以将你拥有的域名如这里所示配置解析。):
[root@nrozntgbd2 ~]# vi /var/named/chroot/etc/named.conf
a. 编辑配置文件/etc/named.conf,找到listen-on这一行,改为:
|
|
b. 找到allow-query这一行,改为:
|
|
c. 添加要解析的域
|
|
d. 对DNS配置文件进行一下语法检查:named-checkconf /var/named/chroot/etc/named.conf
named.conf 完全配置如下:
|
|
7、 为 zts.local 域名创建转发域与反向域文件
a)创建转发域
[root@nrozntgbd2 ~]# vi /var/named/chroot/var/named/zts.local.zone
添加如下内容并保存:
对区域文件进行有效性检查:
b)创建反向域
[root@nrozntgbd2 ~]# vi /var/named/chroot/var/named/10.29.181.zone
|
|
对区域文件进行有效性检查:
8、启动 bind-chroot 服务
启动named,日志可以在/var/log/messages
下查看
设置开机启动
|
|
9、搭建从DNS服务器
a)安装从DNS服务器
1.重复步骤1-5
2.编辑配置文件/var/named/chroot/etc/named.conf,找到listen-on这一行,改为:
|
|
- 3.找到allow-query这一行,改为:
|
|
4.在/var/named/chroot/etc/named.conf中增加区域配置
1234567891011zone "zts.local" {type slave;file "zts.local.zone"; ###将同步后的文件放置在哪里,这里是/var/named/masters { 10.29.181.61; }; ###指定主服务器的ip地址};zone "181.29.10.in-addr.arpa" IN {type slave;file "10.29.181.zone";masters { 10.29.181.61; }; ###指定主服务器的ip地址};5.修改权限(建议同时修改主、从DNS服务器)
1chown named:named /var/named/chroot/var/named
b)修改主DNS服务器配置
修改/var/named/chroot/etc/named.conf
,并验证:named-checkconf named.conf
|
|
c)重启主、从DNS服务器
- 1.重启主服务器:
service named restart
- 2.重启从服务器:
service named restart
- 3.若报错,可检查日志文件
vim /var/log/messages
,这里我们检查下从服务器同步日志
|
|
- 4.检查从服务器
/var/named/chroot/var/named/zts.local.zone
、/var/named/chroot/var/named/10.29.181.zone
文件是否生成。
|
|
9、测试
登录10.29.181.62,修改DNS服务器地址vim /etc/resolv.conf
(这种方式是临时的,重启网卡后,就刷新掉了):
[root@nrozntgbd3 roc]# vim /etc/resolv.conf
|
|
建议使用修改网卡的dns的方式:vim /etc/sysconfig/network-scripts/ifcfg-eth0,这种方式会永久设定dns
使用dig测试
注意查看;; ANSWER SECTION:
输出
|
|
使用nslookup测试
|
|
测试反向代理
|
|
解析内部、外部域名
|
|