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

企业内部经常需要搭建内部的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. 6.windows-oracle实战第六课 --数据管理

    数据库管理员: 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责. 对于dba来说,会权限管 ...

  2. Gitbook在 Mac 环境上的安装及使用

    一.在 Mac 环境上搭建 gitbook #.安装node.js,在node.js官网下载,直接安装稳定版本. https://nodejs.org/en/ #.检测 node.js 是否安装成功 ...

  3. [GX/GZOI2019]特技飞行(扫描线+置换)

    感觉是6题中最难的一题,其实这题是一个二合一: 第一问:给定平面上若干点和k个关键点,关键点覆盖一个45°倾斜的正方形范围r,求有多少点被至少一个关键点覆盖.这个可以曼哈顿转切比雪夫距离,然后再扫描线 ...

  4. vue2.0+mintui+hbuilder 打包移动端app之后出现空白页面的解决方案

    1.首先使用的是vue-cli构建的页面,用hbuildX打包成移动端的安装包(hbuildX打包成app的流程,请看自行搜索) 2.cnpm install build 生成dist文件夹,里面包含 ...

  5. shell_innobackup增量备份步骤

    alias start='service mysql.server start'alias restart='service mysql.server restart'alias stop='serv ...

  6. 没有更好的,五种操作系统助力研发,IMX6开发板做得到

    核心板参数 尺寸 51mm*61mm 四核商业级-2G NXP 四核 i.MX6Q,主频 1 GHz 内存:2GB DDR3:存储:16GB EMMC:SATA接口:支持 双核商业级-1G NXP 双 ...

  7. win10下使用UEFI安装Linux Mint18

    基本的配置: 型号:HP G4-2045TX CPU:i3-2370 硬盘:一块120G的SSD装了win10,efi引导:另外一块500G的HDD没有装系统,GPT格式,分了4个区 内存:6G 想法 ...

  8. LeetCode No.118,119,120

    No.118 Generate 杨辉三角 题目 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例 输入: 5 输出: [ ...

  9. RPM包和YUM仓库管理

    1.RPM包管理 RPMRPM Package Manger,前身Redhat Package Manger,由红帽开发用于软件包的安装升级卸载与查询有一个完整的数据库体系,每个RPM包的所有信息都固 ...

  10. Estimating Gene Frequencies| method of maximum likelihood|point estimate

    I.11 Estimating Gene Frequencies 在小样本上计算基因A的概率PA,举例如下: 通过加大样本会将通过观察值得到的数趋近于真实数据,所以该问题转化为了统计学上利用大量观察值 ...