使用BIND搭建内部DNS服务

企业内部经常需要搭建内部的DNS服务器,现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortium)编写和维护。BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows),BIND服务的名称称之为named。DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控 大专栏 使用BIND搭建内部DNS服务制使用)。 本文介绍了如何使用BIND软件轻松构建一套私有的DNS服务。
名词解析
- DNS
域名解析服务(Domain Name System),是用于解析域名与IP地址对应关系的服务。
- 正向解析
根据主机名(域名)查找对应的IP地址。
- 反向解析
根据IP地址查找对应的主机名(域名)。
部署过程
- 安装BIND服务,其二进制命令名称为named
yum -y install bind-chroot bind bind-utils bind-devel
- 编辑主配置文件
/etc/named.conf,需要修改的行数如下:(下面显示的是修改之后的配置)
[root@internal-dns]# vim /etc/named.conf
13 listen-on port 53 { any; }; //127.0.0.1修改为any,代表允许监听任何IP地址。
14 #listen-on-v6 port 53 { ::1; }; //注释掉这行
19 allow-query { any; }; //localhost修改为any,代表允许任何主机查询。
- 配置区域数据信息,文件名为
/etc/named.rfc1912.zones,在该文件最下面追加以下内容:
vim /etc/named.rfc1912.zones
# 正向解析
zone "linux.com" IN {
type master;
file "linux.com.zone";
allow-update { none; };
};
# 反向解析
zone "15.168.192.in-addr.arpa" IN {
type master;
file "1.0.0.127.zone";
};
- 配置解析数据信息
复制正向解析配置模板文件,填写相关记录值:
cp /var/named/named.localhost /var/named/linux.com.zone
修改后的正向解析文件内容如下:
[root@localhost named]# cat linux.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.linux.com.
dns IN A 192.168.15.150
www IN A 192.168.15.150
hehe IN A 192.168.15.150
复制反向解析配置模板文件,填写相关记录值:
cp /var/named/named.loopback /var/named/1.0.0.127.zone
修改后的反向解析文件内容如下:
[root@localhost named]# cat 1.0.0.127.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.linux.com.
150 IN PTR dns.linux.com.
150 IN PTR www.linux.com.
150 IN PTR hehe.linux.com.
检验配置文件语法是否正确:
named-checkconf /etc/named.conf
named-checkzone linux.com /var/named/linux.com.zone
named-checkzone 1.0.0.127.in-addr.arpa /var/named/1.0.0.127.zone

重启named服务:
systemctl restart named
- 检验解析结果
将本机DNS地址设置为本机IP:
[root@ineteral-dns named]# cat /etc/resolv.conf
nameserver 192.168.15.150
使用host/nslookup/dig等命令测试解析是否生效。

常见报错
在测试的时候,可能会遇到下面一些报错。
一、Host not found
Host www.linux.com not found: 2(SERVFAIL)
报错原因可能是配置文件的权限问题,检查配置文件的属性:
[root@ineteral-dns named]# ll
总用量 24
-rw-r----- 1 root root 475 5月 7 13:26 1.0.0.127.zone
-rw-r----- 1 root root 248 5月 7 13:26 linux.com.zone
修改域文件的属性:
chmod 640 *.zone
chgrp named linux.com.zone
chgrp named 1.0.0.127.zone
再次测试,即可返回正确的解析结果。
[root@ineteral-dns named]# host www.linux.com
www.linux.com has address 192.168.15.150
二、正向解析正常,反向解析错误
反向解析的时候,出现以下报错:
** server can't find 150.15.168.192.in-addr.arpa.: NXDOMAIN
可能的原因是反向解析文件的区域配置错误,检查区域信息配置:
zone "15.168.192.in-addr.arpa" IN {
type master;
file "1.0.0.127.zone";
};
再次测试,成功解析:
[root@ineteral-dns named]# nslookup
> 192.168.15.150
Server: 192.168.15.150
Address: 192.168.15.150#53
150.15.168.192.in-addr.arpa name = www.linux.com.
150.15.168.192.in-addr.arpa name = dns.linux.com.
150.15.168.192.in-addr.arpa name = hehe.linux.com.
>
The End.
使用BIND搭建内部DNS服务的更多相关文章
- Kubernetes 部署集群内部DNS服务
Kubernetes 部署集群内部DNS服务 部署官网:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/ ...
- Centos 搭建named dns服务无法解析外网地址
搭建了DNS服务器来解析自定义的域名,但是在遇到非自定义的域名时,不会去自动解析.使用nslookup 会提示 ** server can't find xxxx: NXDOMAIN 网上找了说要配置 ...
- CentOS6.7搭建部署DNS服务 (详解主配置文件)
-DNS服务器的基本原理 域名简介:使用tcp/udp协议,默认使用53端口号 默认情况下,客户端发起的查询请求都是用UDP/53查询的. 默认情况下,从从服务器到主服务器传输数据用的是TCP/53. ...
- 搭建内部NuGet服务
简介 NuGet相当于Python中的pip,nodejs中的npm,用来管理.net/.net core的程序集版本,也叫包管理器.在框架化.模块化开发中使用nuget服务必不可少,尤其是在abp开 ...
- 用sinopia搭建内部npm服务
sinopia搭建 这里默认你已经有node环境了,执行下面命令,全局安装 sinopia npm install -g sinopia 安装好后,执行下面命令启动 sinopia sinopia 你 ...
- 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务
@ 目录 一.为啥写这篇文章? 二.DNS的作用 三.域 四.DNS工作原理 五.搭建DNS服务器 5.1.Bind 5.2.系统环境准备 5.3.安装 5.4.查看bind的相关文件 5.5.查看b ...
- Linux下DNS服务(Bind9)之Web管理利器-NamedManager部署说明
NamedManager 是一个基于Web的DNS管理系统,可用来添加.调整和删除DNS的zones/records数据.它使用Bind作为底层DNS服务,提供一个现代Ajax的Web界面,支持 IP ...
- Windows中的DNS服务——正向解析&反向解析配置 分类: AD域 Windows服务 2015-07-16 20:21 19人阅读 评论(0) 收藏
坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...
- LINUX中的DNS服务---高速缓存DNS
一.什么是DNS Domain Name System,域名系统. 万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...
随机推荐
- typescript 使用的几种情况
接口的创建 可以使用 type 和 interface 来创建类型 type 特有的优点: 声明基本类型别名,联合类型,元组等类型 type S = string; type IFoo = IBar ...
- Java之异常的处理(try-catch)
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java. ...
- IIS设置禁止某个IP或IP段访问网站的方法
网站被刷,对话接不过来 打开IIS,选中禁IP的站点,找到“ip地址和域限制”这个功能,如果没有安装,打开服务器管理器,点击角色,窗口右边找到添加角色服务,找到“IP和域限制”并勾选安装. 打开ip地 ...
- git commit撤回操作
git commit 之后没有push,怎么回撤commit操作呢? $ git reset HEAD~
- Servlet中转发和重定向的路径问题以及表单提交路径问题
一.请求转发与响应重定向的种类 有两种方式获得Servlet转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher() ...
- GpsNet2020 车联网平台
车联网产业是汽车.电子.信息通信.道路交通运输等行业深度融合的新型产业,是全球创新热点和未来发展制高点.车企通过部署车联网系统,为车主提供更好的出行服务体验,增加产品竞争力.依托华为云.边.端协同优势 ...
- [LC] 347. Top K Frequent Elements
Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...
- 吴裕雄--天生自然C语言开发:位域
struct { unsigned int widthValidated; unsigned int heightValidated; } status; struct { unsigned ; un ...
- 不同SQL数据库之间表数据的实时同步-发布与订阅
https://blog.csdn.net/rand_muse/article/details/81326879 上述文章中,如果是实时同步,选择 事务发布即可 在快照代理 那里,不需要勾选 运行 ...
- 常见字体图标库——font-awesome
1.简介 FontAwesome一种带有网页功能的象形文字语言,并收集在一个集合里.字库中有675个图标,只支持英文搜索,中文地址:http://www.fontawesome.com.cn/ 2.使 ...