DNS服务器介绍(一)——创建DNS正反解析区域

背景介绍

DNS服务作为互联网上一个基础服务承担着将用户请求的名称转换成对应的IP或将IP转换为名称的功能。DNS实际上是将互联网上所有主机的FQDN以“.”分割成若干个区域,每一个区域都有特定的主机来进行管理。以正向解析为例:当用户发起对www.contoso.com名称的解析请求时,本地DNS服务器会先查询缓存内是否有该名称的IP,如果没有此时就分为两种情况:

当客户端向本地的DNS服务器发起请求时(1),如果本地DNS服务器不允许递归查询,他会立即向客户端反馈找不到该名称对应的IP(2),此时的查询过程称为迭代查询;如果本地DNS服务器允许递归查询,当他在缓存及本地的区域解析库文件中找不到该名称对应的IP时,首先会去根域进行查询(3),根域会告诉本地DNS服务器.com域的IP(4),本地DNS服务器再去找.com域进行查询(5),以此类推直到获得到www.contoso.com主机的IP后(10),本地DNS服务器才会将该地址告诉客户端(2),客户端再次使用得到的IP去访问www.contoso.com主机(11),本地DNS服务器同时将该名称和IP的对应信息记录在自己的缓存中。

通过上述得知,除了(2)是迭代查询外,(3)-(10)都是递归查询,由于递归查询会大量消耗服务器资源,所以很多大型的DNS服务器比如根域服务器就不允许做递归查询,打开或关闭的方法是在bind的配置文件/etc/named.conf中定义。

当用户输入一个地址后,例如www.contoso.com,如果本地DNS服务器没有该地址的记录它会去找根区域解析,通过前文得知区域是以“.”来进行划分的,每一个FQDN的结尾处其实都有一个用于结尾的“.”,只是该“.”可以省略,而结尾处的“.”就代表根区域的意思,www.contoso.com完整的FQDN为www.contoso.com.,DNS在解析时采用从后往前的方式逐一进行区域查找,全球一共有13个根域名解析服务器,而根区域“.”默认在安装DNS服务时就已经自带,在bind的配置文件/etc/named.conf中可以查看到记录根区域的文件。

创建正向解析DNS服务器

1.使用yum install bind -y 安装DNS服务。DNS的配置文件采取分段的方式除了主配置文件/etc/named.conf外,也可以在/etc/named.rfc912.zones文件中定义,默认情况下DNS服务安装完成后只侦听在自己的127.0.0.1:53套接字上,不对外提供任何服务,如果需要对外提供服务,需要将自己的IP地址添加到侦听列表中,并设置allow-query为any,允许任何人访问。dnssec是一种防止DNS被污染的机制,初学者或者测试阶段建议关闭该选项,bind配置文件中以//作为注释符。directory定义了区域解析库文件的存放目录,一般情况下区域解析库文件在/var/name目录下以XXXX.zone的名称存在。

完成上述修改后,可以重启named服务或者使用rndc reload命令通知named服务重读配置文件,如果该服务器能访问互联网此时就是一个缓存DNS服务器。

2.创建解析区域。在/etc/named.rfc912.zones文件中添加要解析的区域,type定义了这台DNS服务器在contoso.com区域所扮演的角色,此处定义为主服务器,file指明了区域解析库文件的位置,由于在/etc/named.conf配置文件中设置了directory的值,所以此处可以使用相对路径,contoso.com.zone文件的绝对路径为/var/named/contoso.com.zone。

3.创建区域解析库文件。区域解析库文件是由众多RR(Resource Record)值组成,资源记录的格式为:

domain_name    [TTL]    IN    rr_type    value

domain_name:当前区域的名字,如contoso.com.(结尾的“.”不能省略),因为在/etc/named.rfc912.zones配置文件中已经定义的当前区域名称,所以此处可以使用@来简写

TTL:可以从全局继承,即在区域解析库文件的首部使用$TTL来定义;

rr_type:SOA、A、CNAME、MX、NS等。一个区域解析库有且仅能有一个SOA(Start Of Authority)记录,而必须为解析库的第一条记录;

value:有多个部分组成。(1)当前区域主DNS服务器的FQDN,也可以是当前区域的名字(简写为@) (2)当前区域管理员的邮箱地址,因为@在该文件中有特殊用法,所以邮箱中出现@的地方都已“.”来代替。

在该文件中如果下一行的相同位置与上一行一致,可以省略,他会继承上一行对应位置的值,如:NS的资源记录类型;另外在该文件中如果不是以“.”结尾的值它会自动补上区域名称,所以此处可以是ns2,也可以是ns2.contoso.com. ,但如果是ns2.的话就是错误的数值,他会认为这是ns2.与contoso.com.两个不同的区域。

创建完区域解析库文件后,可以使用named-checkcong和named-checkzone两条命令来检查配置文件和区域解析库文件是否存在语法错误

检查无误后使用dig命令进行测试,其中aa(authority answer)表示这是一个权威回答,只有本负责本区域的DNS服务器的回答才称为权威回答,除此之外的回答全部都是非权威回答,如:递归过程中由其他DNS服务器缓存给出的回答。

需要注意的一点是:使用管理员创建完的区域解析库文件任何人都可以读取,在安全上会有风险,建议将权限改为640并且将属组改为named。

创建反向解析DNS服务器

首先需要说明的是:反向解析区域与正向解析区域是两个不同的区域,每个区域都有各自的区域解析库文件,并且这两个区域可以不在同一台服务器上,大多数场景是将正反解析区域部署在同一台服务器,此处也在同一台服务器上部署正反解析区域。

1.创建解析区域。反向解析域的解析区域名称为:网络地址反写.in-addr.arpa,在/etc/named.rfc1912.zone配置文件中添加一个反向解析区域。对于解析区域(zone)其结尾的“.”可以省略,而区域解析库文件(file)的名称是可以随意命名的。

2.在/var/named/目录下创建一个名为172.16.10.zone的反向区域解析库文件,反向区域解析库文件不需要MX和A,以及AAAA记录;以PTR记录为主。$ORIGIN的作用是将名称补全,如:10会补全为10.10.16.172.in-addr.arpa.(这个变量可以不用设置,因为在创建解析区域zone时就已经定义过区域名称),需要注意的是此处的value值不能简写,否则他会使用10.16.172.in-addr.arpa.补全。

3.同样使用chmod和chown命令更改创建的/etc/72.16.10.zone区域解析库文件权限和属组,使用named-checkcong和named-checkzone检查无误后,使用dig -x 172.16.10.20 @172.16.10.10或者host命令验证,此处以host为例

补充说明

dig命令不会查询本地host文件;

rndc: remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能,侦听在TCP的953端口

时间: 2024-09-29 20:07:39

DNS服务器介绍(一)——创建DNS正反解析区域的相关文章

DNS服务器介绍(二)——主从复制和区域转发

背景介绍 实际环境中为了避免单点故障,DNS服务器是由一组服务器组成每一个服务器上都有若干个区域,不同服务器上的相同区域分为主和从两种角色.由于正向和反向是不同的区域,所以多台服务器间的相同区域可以互为主从或者一主多从,本处以右图为例进行演示. DNS服务器的主从复制 1.之前已经在172.16.10.10/24主机上创建了contoso.com正反向解析区域并分别设置为主服务器,对于从服务器,只需要在配置文件中添加解析区域且zone名称必须和主服务器的zone名称保持一致,他会自动去主服务器上

DNS基本工作原理,及正反解析,主从同步,子域授权和视图

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别IP地址,而不能认识域名.我们无法记住多个IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫"DNS服务器"的计算机自动把我们的域名"翻译"成了相应的IP地址,然后调出IP地址所对应的网页. 什么是DNS? DNS( Domain Name System)是"域名系统"的英文缩写,是一种

Linux之DNS服务器搭建及常见DNS攻击和防御

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 主机名到IP地址的映射有两种方式: 1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用: 2)动态映射,建立一套域名解析系统(DNS),只在

DNS劫持 DNS污染 介绍 与 公共DNS 推荐

来源:http://www.itechzero.com/dns-hijacking-dns-pollution-introduction-and-public-dns-recommend.html 我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ISP 的正常上网设置无法通过域名取得正确的 IP 地址.常用的手段有:DNS劫持 和 DNS污染.DNS劫持 和 DNS污染 在天朝是非常常见的现象.一般情况下输入一个错误或不存在的 URL 后,本应该出现404页面,而我们

3、DNS服务器功能(正向、反向解析)

实验目的: 建立gr.org域的主名称服务器.解析: 名称 IP 用途 ns.gr.org        192.168.170.3          名称服务器 www.gr.org     192.168. 170.3         正规名 bbs.gr.org      192.168. 170.3         别名 mail.gr.org      192.168. 170.4        邮件服务器 下面蓝色的字体都为解释,不用写:红色字母为命令 正向解析:域名解析为IP地址

DNS服务器介绍及设置

DNS服务器是指"域名解析服务器",而域名就是我们通常所说的"网址".在互联网中识别和寻找不同的计算机,实际上是需要知道该计算机的IP地址才能进行访问.比如220.181.38.4,这个IP就是百度的电信线路IP中的一个,电信用户在地址栏中输入这个IP地址就可以直接访问百度了,而每个网站都有一个或多个IP地址,如果客户在浏览网页时要输入这些IP地址来进行访问的话,无疑是有很大记忆难度的,而通常我们都是通过域名(网址)来对网站进行访问的. 一.DNS服务器的工作原理大

解决dns服务器未找到问题 &&DNS解析服务器

第一部分: 有时已经连接到了网络,但是却提示未找到dns服务器,或未连接dns服务器,这多是因为dns设置的问题.下面是几种可行的解决方法. 方法一: 1. win + R   -> cmd -> netsh winsock reset 来重置网络目录.   2. 重启计算机. 问题: 不会存在多余的问题. 方法二: 1. 网络设置 -> 状态 -> 网络重置. 2. 五分钟后电脑自动重启. 问题: 会重置你之前设置的网络以及保存的密码. 方法三: 1. win + R ->

Linux dns服务器介绍

DNS(Domain Name System),域名解析,简单说就是域名查找ip,也可以是ip查找域名,可以相互解析.正向解析 :FQDN --> IP反向解析 :IP --> FQDN解析过程大致如下: 资源记录:Resource Record, 简称rr: 记录有类型:A, AAAA, PTR, SOA, NS, CNAME, MX SOA:Start Of Authority,起始授权记录: 一个区域解析库有且只能有一个SOA记录,而且必须放在第一条: NS:Name Service,域

DNS服务器的正反解析及主从复制

在最开始的计算机网络中,人们只能通过输入某个网页的IP地址才能够进行对该网站的访问,因此记忆一个网站的完整的IP地址就成为了一件非常头疼的事,显然,人们对文字的记忆远比对数字的记忆强,为了能够解决这一个问题,DNS就出现了. DNS(Domian Name Server)即域名服务器,dns建立了主机名和IP地址之间的映射关系,他是一个可以帮我们将用文字组成的主机名解析为IP的一个工具,尤其当使用IPV6之后,DNS将扮演一个更加重要的角色.那么本节我们就来了解一下DNS服务器相关的知识. 这里