CentOS 7搭建DNS服务

整个Internet大家庭中连接了数以亿计的服务器,个人主机,其中大部分的网站、邮件服务器都使用了域名形式的地址。很显然这种地址形式要比使用IP地址更加直观,且更容易被用户记住。

如果想要搭建并管理好DNS服务器,那么必须了解的知识点有:

DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名和IP地址的对应关系,以方便客户程序提供正向和反向的地址查询服务,即:

正向解析:根据域名查找IP地址,即将指定的域名解析为相对应的IP地址;

反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。

DNS的组成:

常见的顶级域名、国家域名:

DNS服务的工作原理:

根据所管理的区域地址数据的来源不同,DNS系统可以分为不同的类型,在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份,常见的几种类型如下:

缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器是,必须设置根域或指定其他DNS服务器作为解析来源;

主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件;

从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对于客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。区别在于:从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

DNS服务器的角色只是针对某一个特定的区域而言,比如:一个区域的主域名服务器可以同时是另一个区域的从域名服务器。

接下来详细介绍如何在CentOS 7 中搭建DNS服务:
搭建主域名服务器:

[[email protected] ~]# yum -y install bind  *
#通过yum的方式安装bind服务

编写主配置文件

[[email protected] ~]# vim /etc/named.conf
#编写bind服务的主配置文件
                                        …………                    #省略部分内容
 12 options {
 13         listen-on port 53 { any; };
 # 指定域名服务监听的网络端口,默认是本机,不能对外提供服务,
 建议改为any ,表示任意主机,也可以删除;
 14         listen-on-v6 port 53 { ::1; };
 15         directory       "/var/named";
 # 指定从/var/named目录下读取DNS数据文件;
 16         dump-file       "/var/named/data/cache_dump.db";
 # 当执行导出命令时将DNS服务器的缓存数据存储到指定的文件中;
 17         statistics-file "/var/named/data/named_stats.txt";
# 指定named服务的统计文件,
当执行统计命令时会将内存中的统计信息追加到该文件中;
 18         memstatistics-file "/var/named/data/named_mem_stats.txt";
 19         allow-query     { any; };
 # 允许哪些客户端访问DNS服务,默认是本机,
 建议改为“any”,表示任意主机,也可以删除;
                                             …………                     #省略部分内容

 56 zone "benet.com" in {
 57         type master;
 58         file "benet.com.zone";
 59 };
# 添加正向解析数据文件的信息 ,服务器类型是主服务器,
文件名为“benet.com.zone”
 60 zone "10.168.192.in-addr.arpa" in {
 61         type master;
 62         file "192.168.10.arpa";
 63 };
#编写反向区域文件

编写区域配置文件

[[email protected] ~]# cd /var/named
[[email protected] named]# cp named.localhost benet.com.zone
#复制原本正向区域的模板
[[email protected] named]# cp named.loopback 192.168.10.arpa
#复制原本反向区域的模板
[[email protected] named]# vim benet.com.zone
#编写正向区域配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      ns1.benet.com.
ns1     IN      A       192.168.10.1
www     IN      A       192.168.10.10
ftp     IN      CNAME   www
serial:序列号。可以供从服务器判断何时获取新数据的。

refresh:指定多长时间从服务器要与主服务器进行核对

retry:如果从服务器试图检查主服务器的序列号时,
主服务器没有响应,则经过这个时间后将重新进行检查

expire:将决定从服务器在没有主服务器的情况下权威地持续提供域数据服务的时间长短

minimum:高速缓存否定回答的存活时间                         

配置选项详解:

[[email protected] named]# vim 192.168.10.arpa
#编写反向区域配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      ns1.benet.com.
1       IN      PTR     ns1.benet.com.
10      IN      PTR     www.benet.com.

编写完成后

[[email protected] named]# named-checkconf -z /etc/named.conf
#检查对应的数据库文件
zone benet.com/IN: loaded serial 0
zone 10.168.192.in-addr.arpa/IN: loaded serial 0
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
[[email protected] named]# named-checkconf /etc/named.conf
#检查主区域配置文件
[[email protected] named]# named-checkzone benet.com benet.com.zone
#检查区域配置文件
zone benet.com/IN: loaded serial 0
OK
[[email protected] named]# systemctl start named
#启动DNS服务
[[email protected] named]# nslookup
> www.benet.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.benet.com
Address: 192.168.10.10
> ns1.benet.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   ns1.benet.com
Address: 192.168.10.1

主域名服务器经过测试没问题!

搭建从域名服务器

[[email protected] ~]# yum -y install bind*
#安装bind服务
[[email protected] ~]# vim /etc/named.conf
#编写主配置文件
                                          ………………               #省略部分内容
 12 options {
 13         listen-on port 53 { any; };
 14         listen-on-v6 port 53 { ::1; };
 15         directory       "/var/named";
 16         dump-file       "/var/named/data/cache_dump.db";
 17         statistics-file "/var/named/data/named_stats.txt";
 18         memstatistics-file "/var/named/data/named_mem_stats.txt";
 19         allow-query     { any; };
 20         forwarders { 192.168.10.1; };
#转发器,本机解析不了转发到192.168.10.1
                                          ………………                  #省略部分内容
 57 zone "benet.com" in {
 58         type slave;
 59         masters { 192.168.10.1; };
 60         file "slaves/benet.com.zone";
 #复制下来的文件保存到/var/named/slaves/目录下
 61         allow-transfer { 192.168.10.1; };
 #允许从服务器上下载正向区域配置文件
 62 };
 63 zone "10.168.192.in-addr.arpa" {
 64         type slave;
 65         masters { 192.168.10.1; };
 66         file "slaves/192.168.10.arpa";
 67 };
 [[email protected] slaves]# named-checkconf -z /etc/named.conf
 #检查named服务数据库配置文件
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
[[email protected] /]# systemctl start named
[[email protected] /]# nslookup
> www.benet.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.benet.com
Address: 192.168.10.10
> ns1.benet.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   ns1.benet.com
Address: 192.168.10.1
[[email protected] /]# ls /var/named/slaves/
benet.com.zone
#从主域名服务器复制的正向区域文件

从域名服务器验证完成!

原文地址:https://blog.51cto.com/14157628/2417756

时间: 2024-11-03 19:38:00

CentOS 7搭建DNS服务的相关文章

CentOS 7 搭建DNS服务

一 DNS概述 1 简介 DNS即域名解析,是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务.IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址.域名解析就是域名到IP地址的转换过程.域名的解析工作由DNS服务器完成.域名解析也叫域名指向.服务器设置.域名配置以及反向IP登记等等.说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定.互联网中的地址是数

Centos 7 搭建DNS正向解析和反向解析

Centos 7 搭建DNS正向解析和反向解析 服务的三要素:安装-配置-启动 1.使用yum安装DNS yum install bind -y 2.修改配置文件 vi /etc/named.conf 修改以下内容: listen-on port 53 { any; }; allow-query { any; }; vi /etc/named.rfc1912.zones 在末尾添加以下内容: zone "hello.com" IN { -----正向解析 type master; fi

如何搭建DNS服务(转)

继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验环境: 1. Red Hat 6.3 2. IP 192.168.1.128 3. 欲搭建的域名 being.com 一.安装DNS软件 [[email protected] ~]# yum install bind* -y 查询相关软件包:[[email protected] ~]# yum se

搭建DNS服务,正向解析和反向解析搭建DNS服务器

搭建DNS服务器 DNS系统在网络中的作用:维护着一个地址数据库,其中记录了各种主机域名与IP地址的对于关系,以方便为客户程序提供正向或反向的地址查询服务,即正向解析与方向解析. 正向解析:将指定的域名解析为相对应的IP地址. 反向解析:将制定的IP地址解析为相对应的域名.   实验环境:在虚拟机Linux(redhat6.5)系统上搭建DNS服务,实现域名与IP地址的正向解析和反向解析. 一.正向解析 1. 安装DNS软件包 2. 更改主配置文件,开启监听端口53. 3. 更改区域配置文件 4

搭建DNS服务,正向解析域名

搭建DNS服务,实现正向解析功能;根据域名查询ip地址,即将指定的域名解析成相对应的ip,域名的正向解析是DNS服务器最基本的功能. 配置文件: 主配置文件:作用于服务器本身/etc/named.conf 区域配置文件:作用于相关的域名 /etc/named.rfc1912.zones 区域数据配置文件:作用于相关域名的解析/var/named/named.localhost bind软件包的安装,bind软件包安装完成之后,会增加一个名为named的系统服务,首先对主配置文件/etc/name

Linux搭建DNS服务

在Linux中搭建dns服务跟Windows上一样,服务原理都一样,DNS服务默认使用UDP53端口,在Linux中称为BIND服务,在Linux中,DNS分为不同的类型,常见的类型有:缓存域名服务器:只是提供域名解析结果的缓存结果,目的在于提高查询速度和效率.但是没有自己控制的区域地址 数据:主域名服务器:维护一个特定的DNS区域的地址数据库,对其中的解析服务具有自主控制权,是指定区域中唯一存在 的权威服务器.官方服务器: 从域名服务器:与主域名服务器提供相同的DNS解析服务,常常用于DNS服

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

DNS简介: 互联网中的地址是数字的IP地址,而我们平时用来访问网站的域名主要就是为了便于记忆.域名解析的作用就是把域名指向网站的IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务.域名解析就是域名到IP地址的转换过程.而域名的解析工作就是由DNS服务器完成. DNS系统的作用: 正向解析:根据主机名称(域名)查找对应的IP地址.反向解析:根据IP地址查找对应的主机域名. DNS系统类型: 缓存域名服务器:也称为高速缓存服务器,通过向其他域名服务器查询获得域名.IP地址记录,然后将域名

Linux / CentOs 7搭建DHCP服务

在前面介绍了怎么在Windows server 2016中搭建DHCP服务, 我们今天介绍如何在Linux / CentOS 7操作系统中搭建DHCP服务?跟在Windows server 2016中差不多,接下来我们一步一步来1.打开CentOS7 的服务器,首先确定IP地址,通过"ifconfig"查询本机的IP地址通过查询只发现Mac地址,并未发现IP地址2.我们通过更改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33来修改IP地址,使

linux服务器上搭建DNS服务

实验 实验环境: 虚拟机上搭建两台linux服务器,作主从服务器   实验要求:   一,使用BIND构建主域名服务器,配置正向地址解析记录和反向地址解析记录. 二,使用BIND构建从域名服务器,实现主从区域数据文件实现同步.   实验步骤:   一,使用BIND构建主域名服务器,配置正向地址解析记录和反向地址解析记录.   使用RPM方式安装DNS服务: 编辑/etc/named.conf配置文件: 全局配置部分: 编辑监听端口为本机IP地址,允许使用所有网段设置为any: 区域配置部分: 编