​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌‌​​​​‌​​​​​​​‍​​​‌​‌​‌‌​‌​‌‌‌‍‌​‌‌‌‌​‌‍‌​‌‌​‌‌​‍‌​‌‌​​​‌‍‌​‌‌‌​‌‌‍​​‌‌​‌‌‌‌​‌​​‌​‍​‌​​​​‌​​​​​‌​‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌‌​‌‌‌‌​​​‌​‌‌‌‍‌​‌‌‌​‌‌‍‌​‌‌​​​‌‍‌​‌​‌‌​​‍​​‌‌​​​‌‌‌‌​​‌​‍​‌​‌‌​‌​‌​‌‌‌‌​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​​‌‌‌‌​‍‌​​‌‌​‌‌‍‌​​‌​​‌​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​​‌‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​​​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌‌​‍‌​​‌​‌​​‍‌​​‌​‌‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌‌​‌​​​‌‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌​​​‌‌‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌‌​​‍‌​​‌​‌‌‌‍‌​​‌​‌‌​‍‌​​​‌​​‌‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌‌​​‌​‌​‍‌‌​​‌‌​‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

企业内部经常需要搭建内部的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服务的更多相关文章

  1. Kubernetes 部署集群内部DNS服务

    Kubernetes 部署集群内部DNS服务 部署官网:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/ ...

  2. Centos 搭建named dns服务无法解析外网地址

    搭建了DNS服务器来解析自定义的域名,但是在遇到非自定义的域名时,不会去自动解析.使用nslookup 会提示 ** server can't find xxxx: NXDOMAIN 网上找了说要配置 ...

  3. CentOS6.7搭建部署DNS服务 (详解主配置文件)

    -DNS服务器的基本原理 域名简介:使用tcp/udp协议,默认使用53端口号 默认情况下,客户端发起的查询请求都是用UDP/53查询的. 默认情况下,从从服务器到主服务器传输数据用的是TCP/53. ...

  4. 搭建内部NuGet服务

    简介 NuGet相当于Python中的pip,nodejs中的npm,用来管理.net/.net core的程序集版本,也叫包管理器.在框架化.模块化开发中使用nuget服务必不可少,尤其是在abp开 ...

  5. 用sinopia搭建内部npm服务

    sinopia搭建 这里默认你已经有node环境了,执行下面命令,全局安装 sinopia npm install -g sinopia 安装好后,执行下面命令启动 sinopia sinopia 你 ...

  6. 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务

    @ 目录 一.为啥写这篇文章? 二.DNS的作用 三.域 四.DNS工作原理 五.搭建DNS服务器 5.1.Bind 5.2.系统环境准备 5.3.安装 5.4.查看bind的相关文件 5.5.查看b ...

  7. Linux下DNS服务(Bind9)之Web管理利器-NamedManager部署说明

    NamedManager 是一个基于Web的DNS管理系统,可用来添加.调整和删除DNS的zones/records数据.它使用Bind作为底层DNS服务,提供一个现代Ajax的Web界面,支持 IP ...

  8. Windows中的DNS服务——正向解析&反向解析配置 分类: AD域 Windows服务 2015-07-16 20:21 19人阅读 评论(0) 收藏

    坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...

  9. LINUX中的DNS服务---高速缓存DNS

    一.什么是DNS     Domain Name System,域名系统.     万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...

随机推荐

  1. 使用 try-with-resources 优雅关闭资源

    桂林SEO:我们知道,在 Java 编程过程中,如果打开了外部资源(文件.数据库连接.网络连接等.redis),我们必须在这些外部资源使用完毕后,手动关闭它们. 因为外部资源不由 JVM 管理,无法享 ...

  2. linux版本neo4j安装配置教程

    https://blog.csdn.net/weixin_44293236/article/details/89467489

  3. element ui 自定义异步验证

    之前提到过,axios是一个异步请求,但是很多时候我们都需要同步请求,比如在element的表单验证中需要验证一个用户名是否存在的时候,异步请求好像就不太好用了.前边博客中提到过,这种情况可以用es6 ...

  4. signal之——异步回收机制2

    前言:上一篇的处理方法可以解决所有回收问题,但是如果我们不考虑子进程的返回状态,那么可以使内核来进行对子进程的回收 代码如下: //如果无需关心进程结束状态 可以设置子进程结束时不产生僵尸进程有内核值 ...

  5. Java操作redis客户端Jedis使用

    1.1   jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java.C.C#.C++.php.Node.js.Go等. 在官方网站里列一些Java的客户端,有 ...

  6. iOS 中UIWebView的cookie

    有关cookie是什么,大家可以自行百度,本文我获得cookie的目的是得到一个userID. 下面的是代码. - (void)getUserIDFromCookie { NSHTTPCookieSt ...

  7. TCP与UDP 笔记

    本文整理自:<图解TCP/IP 第5版>作者:[日] 竹下隆史,[日] 村山公保,[日] 荒井透,[日] 苅田幸雄 著译者:乌尼日其其格出版时间:2013-07 TCP提供可靠的通信传输, ...

  8. SPI以及IIC的verilog实现以及两者之间的对比

    一.SPI是一种常用的串行通信接口,与UART不同的地方在于.SPI可以同时挂多个从机,但是UART只能点对点的传输数据,此外SPI有四条线实现数据的传输,而UART采用的是2条实现串行数据的传输 1 ...

  9. [LC] 58. Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  10. 统计学方法(t-检验)

    数据出来要做几件事:首先判断数据是否符合正态分布,如果符合的话,就要进行t-检验,那么进行t-检验的作用在哪呢? t-检验主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布 htt ...