返回现场笔记
1 分钟阅读

本地DNS安装

在 CentOS 下使用 bind 搭建本地 DNS 服务的完整流程:安装 bind、配置 named.conf 与 zone 文件、处理权限问题,并通过 nslookup 验证域名解析。

  • #linux
  • #dns
  • #bind

在centOS里最常用的DNS服务工具应该是bind了。下面就以bind为例做一个DNS服务。

首先查看bind 是否已经安装

Rpm -qa | gerp bind

如果没有的话就用yum 安装一下Bind

Yum -y install bind

这样就安装好了bind

配置named.conf文件

listen-on port 53{x.x.x.x;};

改成 listen-on port 53{any;};

这样它就会监听所有的ip地址了

后边的ipv6可以把它注释掉。(也可以不管它),

后面再把 allow-query {localhost;};

改成 allow-quety{any;};

其它地方保持默认就好了

然后打开named.rfc1912.zone文件

输入自己需要部分,其它都删除掉就好了

EX.

zone "abc.com" IN {
type master;
file "abc.com.zone";
allow-update{ none };
};
zone  "1.168.192.in-addr.arpa" IN {
Type master;
File "1.168.192.zone";
Allow-update{none;};
};

然后打开named.conf文件中directory 指定的目录 /var/named

这些记不住没有关系 真正配置的时候可以参考下相同文件夹下的named.localhost文件

稍作修改就好了,反向查询可以通过 cp named.loopback 来进行

在这里建立一个zone文件

EX.

$TTL 86400
@ IN SOA dns.abc.com. root.abc.com.(
42;serial
3H;refresh
15M;retry
1W;expire
1D);minimum
@ IN NS dns.abc.com.
Dns IN A 192.168.1.1
www IN A 192.168.1.1

配置反向解析文件

EX.

$TTL 86400
@ IN SOA dns.abc.com. root.abc.com.(
42;serial
3H;refresh
15M;retry
1W;expire
1D);minimum
@ IN NS dns.abc.com.
3 IN PTR dns.abc.com
2 IN PTR dhcp.abc.com

:wq保存文件 就OK了

这里特别注意一下serial这个值必须都要不同 named服务才能启动

named -checkconf /etc/named.conf 来查看自己的配置有没有错误

要是没有任何问题,那么 service named start

用nslookup查看下域名是不是都能解析了?

也许很多人的解析还是失败的。因为大多数人在建立zone文件的时候都忽略了这个一个问题。自己在使用root权限!

所有这个时候建立的zone文件也都是属于root的

Bind没有那么高的权限,所以无法从zone文件中获得配置

这时候让我们来使用下 chgrp命令

chgrp named  /abc.com.zone
chgrp named  /1.168.192.zone

现在再看看是不是能解析了呢?