从的官方网站上下载bind最新版bind-9.3.3.tar.gz使用如下命令解压并安装
tar zxvf bind-9.3.3.tar.gz
cd bind-9.3.3
./configure --prefix=/usr/local/named
make
make install
现在bind已经被安装在/usr/local/named目录,进入该目录
cd /usr/local/named
把sbin目录中加入path路径,编辑用户目录中的.bash_profile文件
vi /root/.bash_profile
使用source /root/.bash_profile使其生效。
bind的主要配置文件在/usr/local/named/etc/named.conf
编辑其内容,我们首先建立主域服务器,下面是我的文件内容:
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
由于编译安装目前不存在/var/named目录,我手动建立mkdir /var/named
进入该目录使用dig -t NS . > /var/named/named.ca
由于我们要自己解析ip地址,所以把127.0.0.1的ip地址加入的/etc/resolv.conf中,使其处于其他的
dns服务器地址之前,echo "nameserver 127.0.0.1" >> /etc/resolv.conf
我们使用rndc控制服务器,所以首先我们要产生rndc的控制文件
rndc-confgen > /usr/local/named/etc/rndc.conf
查看产生的rndc.conf文件,发现注释提示为把其中的部分文件追加到named.conf文件中命令如下:
tail +13 /usr/local/named/etc/rndc.conf /usr/local/named/etc/named.conf
现在named.conf文件内容应如下所示:
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "1wi26LIi380wo6fEedbhIg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf
至此我们已经有了一个包含一个主域的dns服务器,现在我们启动named服务,直接使用命令named即可,为了
确定named已经启动我们使用如下命令查看,ps -aux|grep named 可以看到服务已经启动。
建立一个localhost的区
在named.conf中增加如下内容:
zone "localhost" {
type master;
file "named.local";
};
我们要在/var/named目录下建立named.local文件,编辑其内容如下所示:
$ttl 1D
@ 1D IN SOA localhost. root (
2006121601
1H
15M
1W
1D )
@ IN NS @
@ IN A 127.0.0.1
然后我们要重启服务:rndc reload
现在我们就可以解析我们的localhost的命令
host localhost
可以看到已被正确解析。
增加一个正向区
在named.conf中增加如下内容:
zone "hua.com" {
type master;
file "hua.com.zone";
};
同样我们要在/var/named目录下建立hua.com.zone文件,编辑其内容如下所示:
$ttl 1D
@ IN SOA hua.com. root (
2006121601
1H
15M
1W
1D )
IN NS ns
IN MX 10 mail
ns IN A 172.16.72.250
www IN A 172.16.72.250
mail IN A 172.16.72.252
news IN CNAME www
保存推出,重启服务rndc reload
现在已经可以正确解析hua.com域了,输入如下命令
host 可以看到解析为172.16.72.250,成功!
或者也可使用dig hua.com也可以看到成功!
建立反向区
在named.conf文件中增加如下内容:
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.zone";
};
同样我们要在/var/named目录下建立127.0.0.zone文件,编辑其内容如下所示:
@ IN SOA @ root.localhost. ( 2006121601 1H 15M 1W 1D )
IN NS localhost.
1 IN PTR localhost.
现在使用host 127.0.0.1可以解析出来为localhost了。
实例文件打包下载
建立子域
编辑hua.com.zone文件在其中增加如下内容:
domain IN NS ns.domain
ns.domain IN A 172.16.72.112
进入172.16.72.112上编辑named.conf文件增加:
zone "domain.hua.com" {
type master;
file "domain.hua.com.zone";
};
在/var/named目录中编辑domain.hua.com.zone
$ttl 1D
@ IN SOA @ root (
2006121601 1H 15M 1W 1D )
IN NS ns
ns IN A 172.16.72.112
www IN A 172.16.72.113
rndc reload
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
host ns.domain.hua.com
成功!
建立辅助服务器
编辑辅助服务器的named.conf文件,增加如下内容:
zone "hua.com" {
type slave;
file "hua.com.zone";
masters { 172.16.72.113; };
};
重启服务:rndc reload