首页 > 编程知识 正文

dns是指什么服务器,dns的功能是什么

时间:2023-05-04 15:58:51 阅读:147729 作者:417

什么是DNS服务

Linux如何构建DNS服务器

一. DNS服务介绍

1 .域名系统(DNS )域名系统

互联网使用IP地址来确定计算机的地址。 用这样的数字表示的IP地址不容易记忆。 为了便于网络地址的管理和分配,人们采用了域名系统,引入了域名的概念。 通过为每台主机建立IP地址和域名的映射关系,用户可以避免难以记住的IP地址,并使用域名唯一标识网络中的计算机。 域名和IP地址的关系就像某人的名字和身份证号码的关系,显然记住名字比记住身份证号码更容易。

2 .主机名和域名之间的差异:

主机名是内部网的名称; 域名是外网的名称。

主机名和域名实际上是完全不同的名称,但许多软件(如邮件系统postfix )默认情况下可能是匹配的。

在DNS中,域名包含根域、顶级域、辅助域和主机名。 如下图所示

全世界有13台DNS根域服务器。

顶级域:由互联网名称证书颁发机构管理,有两种常见类型。 如下所示。

组织域:

.com (商业)、 org、 edu (.gov )、 net (.mil )、 info ) )信息)。

国家或地区顶级域:

Cn (中国)、hk )、香港)、uk )、英国)等

FQDN=主机名. DNS后缀(FQDN,Fully Qualified Domain Name,完全限定的域名/全名) ) ) ) ) ) ) ) ) ) ) ) )。

3 .域名解析流程

查询www.benet.com进程

从查询方式分类

递归查询:客户端只能获得成功或失败的结果

重复查询:如果客户端请求数据,DNS服务器会返回正确的地址

如果DNS服务器没有请求数据,则返回指针

根据查询内容进行分类

正向解决:基于主机名(域名)查找对应的IP地址反向解决)基于IP地址查找对应的主机域名二、在Centos7中构建DNS服务器

接下来,以著名的DNS服务器软件bind (berkeleyinternetnamedomain,伯克利internet域名域)为例,来看看在Linux上构建域名服务器的基本过程。 BIND是美国加州大学伯克利分校开发的域名服务包,Linux使用该包提供域名服务。 这个软件实现了DNS协议。 BIND的服务器端软件是一个称为named的守护进程。

1 .了解

实际上,每个DNS服务器只是管理特定DNS域或IP地址段(称为“区域”)中的主机域名和IP地址之间的对应关系。 根据所管理的区域地址数据的来源,可以将DNS系统分为不同的类型。 在同一DNS服务器中,不同的区域具有不同的身份。 一般类型如下。

高速缓存域名服务器

也称为缓存专用服务器

联系其他域名服务器以获取域名- IP地址记录

通过在本地缓存域名查询结果,在重复查询时提高了速度

域名服务器

特定DNS区域的官方服务器。 唯一负责维护来自域名服务器的该区域中所有域名- IP地址的映射记录

也称为辅助域名服务器,其维护的域名- IP地址记录来自主域名服务器2.BIND的安装和控制

BIND并不是唯一可以提供域服务的DNS服务程序,但使用最广泛,可以在大多数Linux/UNIX主机上运行。

1 )如下图安装bind软件。

2 )相关软件包

安装后检查软件包: rpm -qa | grep “^bind”

bind-9.9.4-37.el7.x86_64.rpm :提供域服务的主要程序和相关文件

bind-ch root-9.9.4-37.el7.x86 _ 64.rpm :为bind服务提供伪装根目录,将/rydgtx/named/chroot/文件夹作为bind的根目录

bind-libs-9.9.4-37.el7.x86 _ 64.rpm:bind,提供在bind-utils中使用的函数

提供用于DNS服务器的测试工具程序,例如bind-utils-9.9.4-37.el7.x86 _ 64.rpm:nslookup

3 )绑定服务控件

BIND软件包安装完成后,将自动添加名为named的系统服务,并使用脚本文件/etc/init.d/named或systemctl、service(centos6或更早版本)中的工具例如,开始系统开始命名、命名服务。

其他:

主例程:/usr/sbin/named服务脚本:/etc/init.d/named默认监听端口: 533.BIND服务配置文件

要使用BIND软件构建域名服务

,主要涉及两种类型的配置文件:主配置文件和区域数据文件。其中,主配置文件用于设置named服务的全局选项、注册区域及访问控制等各种运行参数,区域数据文件用于保存 DNS 解析记录的数据文件(正向或反向记录)。

1)主配置文件

/etc/name.conf(安装的是bind-xxx软件包)

/rydgtx/named/chroot/etc/named.conf(安装的是bind-chroot-xxx软件包)

主配置文件中,主要包括全局配置、区域配置两个部分,每一条配置记录的行尾以分号“;”表示结束,以“#”号或“//”开始的部分表示注释文字(大段注释可以使用“/*......*/的格式”)。

a.全局配置部分

 

 

如上图所示:

设置 DNS 服务器的全局参数包括监听地址/端口、数据文件的默认位置等使用 options { …… }; 的配置段b.区域配置部分

如上图所示:

设置本服务器提供域名解析的特定 DNS 区域包括域名、服务器角色、数据文件名等使用 zone “区域名” IN { …… }; 的配置段2)区域数据配置文件(保存 DNS 解析记录的数据文件)

/rydgtx/named/(安装的是bind-xxx软件包)

/rydgtx/named/chroot/rydgtx/named/(安装的是bind-chroot-xxx软件包)

每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置。(要与在全局配置中指定的文件名一样,不然会出错)

在区域数据文件中,主要包括TTL配置项、SOA(Start Of Authority,授权信息开始)记录、地址解析记录。文件中的注释信息以分号“;”开始。

a.全局 TTL 配置项及 SOA 记录

如上图所示:

“@”表示当前的DNS区域名,相当于“benet.com.”$TTL(Time To Live,生存时间)记录SOA(Start Of Authority,授权信息开始)记录分号“;” 开始的部分表示注释信息b.域名解析记录

正向解析记录:(如下图)

如上图所示:

NS 域名服务器(Name Server):记录当前区域的DNS服务器的主机地址MX 邮件交换(Mail Exchange):记录当前区域的邮件服务器的主机地址,数字10表示优先级。A 地址(Address):记录正向解析条目,只用在正向解析区域中CNAME 别名(Canonical Name):记录某一个正向解析条目的其他名称注:其中,NS、MX记录行首的“@”符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或Tab制表位。

反向解析记录:(如下图)

如上图所示:

PTR 指针(Point)记录,只用在反向解析区域中记录的第一列指定 IP 地址中的主机地址部分即可。如,上述中的“4 IN PTR mail.benet.com.”表示IP地址为173.16.16.4的主机的域名时maiil.benet.com.。注:在区域数据配置文件中,凡是不以点号“.”结尾的主机地址,系统在查找地址记录时都会自动将当前的域名作为后缀。例如,若当前的DNS域为“benet.com”,则在文件中的主机地址“www”相当于“www.benet.com.”。因此,当使用完整的FQDN地址时,务必记得地址末尾的点号“.”不能省略。

3)对配置文件进行语法检查

a.named-checkconf 工具

b.named-checkzone 工具

三、示例

1.构建缓存域名服务器

案例环境(如下图)

缓存域名服务器的 IP 地址为 192.168.1.5

局域网内的 PC 机将首选 DNS 服务器设为 192.168.1.5

缓存域名服务器能够访问 Internet 中的其他 DNS 服务器

负责处理局域网 PC 机的 DNS 解析请求,并缓存查询结果

基本步骤:(如下图)

1)建立主配置文件 named.conf

有时候为了提高解析效率,也可以不向根区域查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20、202.106.148.1),缓存服务器收到返回的查询结果后再转给客户端。只要去掉“zone “.” IN {....}” 的设置,并在全局配置中正确设置forwarders(转发)参数即可实现该功能。如下图

2)确认根域的区域数据文件 named.ca

根区域的区域数据文件默认位于文件/rydgtx/named/named.ca中,该文件记录了Internet中13台根域服务器的域名和IP地址等相关信息。

如: grep -v "^;" /rydgtx/named/named.ca | grep -v ^$

3)启动named服务,并确定named服务的端口监听状态。若服务启动失败或发现没有正常监听UDP53端口,可以根据错误提示信息(或/rydgtx/log/messages文件中的日志记录)排除错误。

如:systemctl start named //启动named服务

netstat -anput | grep named //确认named服务的端口监听状态

4)验证缓存域名服务器

在客户机中将 DNS 服务器设为该缓存域名服务器

执行nslookup www.google.com命令对其进行解析,验证其是否能获得该域名对应的IP地址信息。(如下图)

2.构建主域名服务器案例环境(如下图)

主域名服务器:ns1.benet.com,173.16.16.5

从域名服务器:ns2.benet.com,173.16.16.6

两台服务器均能够提供 benet.com 区域的域名解析

主要解析记录

网站服务器“www.benet.com”,IP地址为“173.16.16.1”

邮件服务器“mail.benet.com”,IP地址为“173.16.16.1”

在线培训站点服务器“study.benet.com”,IP地址为“173.16.16.2”

主域名服务器“ns1.benet.com”,IP地址为“173.16.16.5”

从域名服务器“ns2.benet.com”,IP地址为“173.16.16.6”

基本步骤:(如下图)

1)确认本机网络地址、主机映射、DNS 服务器地址

为了提高域名解析效率,建议将两个DNS服务器的地址映射直接写入到/etc/hosts文件中,并在/etc/resolv.conf文件中指定两个DNS服务器的地址。(如下图)

2)建立主配置文件 named.conf(如下图)

3)建立正、反向区域数据文件

根据named.conf中的zone区域设置,分别建立正向区域数据文件benet.com.zone,反向区域数据文件173.16.16.arpa。配置文件可以参考区域数据文件/rydgtx/named/named.localhost。(如下图)

4)启动或者重新加载 named 服务程序

如:systemctl reload named

5)验证主域名服务器

验证正向解析:nslookup study.benet.com

验证泛域名解析:nslookup xxyyzz.benet.com

验证反向解析: nslookup 173.16.16.2

3.构建从域名服务器基本步骤:(如下图)

建立主配置文件 named.conf(如下图)

验证从服务器时,只需要将客户端的首选DNS服务器地址设为从域名服务器的IP地址,使用nslookup命令进行正常测试即可。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。