Linux下快速搭建DNS(bind9)服务器

发布时间:2020-10-20编辑:脚本学堂
本文介绍 Linux下快速搭建DNS(bind9)服务器 的方法,供大家参考学习。

本文介绍 linux下快速搭建DNS(bind9)服务器 的方法,供大家参考学习。

一、相关术语解释
TTL Time To Live 缓冲保留时间
ORIGIN 属于哪个域
@ 代指域
IN 开头需要空格
SOA 一行记录类型的开始
参数:forwarders {} 指向自己无法解析的域名跳转到外部dns服务
测试方法:host 域名(host IP) 使用nslookup方法测试 使用dig @ns ip或域名
测试邮件服务 dig 域名 mx
mx 邮件交换记录 IN MX 10 域名

二、实施步骤
1、下载bind9.7程序安装包

2、解压缩tar包tar -zxvf bind-9.7.4-P1.tar.gz

3、cd bind-9.7.4-P1
运行./configure检查运行环境发现未找到openssl

4、检查是否安装了openssl程序

复制代码 代码如下:
rpm -qa|grep "open*"

5、检查到已安装了程序包进一步检查安装路径

复制代码 代码如下:
rpm -ql openssh-server-3.6.1p2-18

6、配置环境变量
环境变量一定要配置正确

7、使用没有openssl的方式安装程序

复制代码 代码如下:
./configure --prefix=/usr/local/named  --without-openssl

8、编译安装程序

复制代码 代码如下:
make

9、安装程序

复制代码 代码如下:
make install

10、配置dns服务器

复制代码 代码如下:
./rndc-confgen >>/usr/local/named/etc/rndc.conf

11、创建named.conf

复制代码 代码如下:
tail -n 12 rndc.conf > /etc/named.conf

12、在name.conf中添加

复制代码 代码如下:
options
{ directory "/usr/local/named/var";};
zone "."
{type hint; file "named.ca";};

13、在/usr/local/named/var目录下创建named.ca文件

14、启动dns服务

复制代码 代码如下:
cd /usr/local/named/sbin
./named -c /etc/named.conf

15.查询根目录dns
dig -t NS
如果回显域名服务器则继续下一步

16、dig -t NS >/usr/local/named/var/named.ca

17、配置named.conf

18、./named -g(tail -f /var/log/messages)查看错误信息 错误源 配置文件格式错误 严格按照配置文件模板格式进行配置
a)根据错误信息将配置文件named.conf拷贝到/usr/local/named/etc目录下
b)提示缺少该文件直接使用touch命令创建该文件 touch managed-keys.bind
c)依照配置格式严格配置named.conf 文件
d)依照配置格式严格配置正向解析和反向解析zone文件

三、附一个配置成功的文件供大家参考学习。

a)named.conf配置

复制代码 代码如下:
# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "UCfIZnTrrCZ+VD4lA23FqA==";
};
controls {
inet 127.0.0.1 port 953
#inet 127.0.0.1
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf
options {
directory "/usr/local/named/var";
pid-file "/usr/local/named/var/run/named/named.pid";
allow-transfer {none;};
querylog true;
forwarders { 10.19.98.45; 10.19.98.20; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.rev";
allow-update {none;};
};
zone "localhost" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "baidu.com" IN{
type master;
file "baidu.zone";
allow-update { none; };
};
zone "100.19.10.in-addr.arpa" IN {
type master;
file "baidu.rev";
allow-update { none; };
};
zone "www.126.com" IN {
type master;
file "126.zone";
allow-update { none; };
};
zone "98.19.10.in-addr.arpa" IN {
type master;
file "126.rev";
allow-update { none; };
};

b)正向解析域baidu.zone

复制代码 代码如下:
$TTL 86400
$ORIGIN baidu.com.
@ IN SOA baidu.com. root.baidu.com.(
201112300 ;
3H ;
15M ;
1W ;
1D ) ;
@ IN NS baidu.com.
 IN A 10.19.100.164
ftp IN A 10.19.100.163
www IN A 10.19.100.162
feng IN A 10.19.100.1
mail IN CNAME feng

c)反向解析域baidu.rev

复制代码 代码如下:
$TTL 86400
@ IN SOA baidu.com. root.baidu.com. (
42 ;
3H ;
15M ;
1W ;
1D );
@ IN NS baidu.com.
164 IN PTR baidu.com.
162 IN PTR www.baidu.com.
163 IN PTR ftp.baidu.com.
1 IN PTR mail.baidu.com.

原文作者:fengzhanhai