域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样我们只需要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS域名解析技术的正向解析也是我们最常使用的一种工作模式。

三种类型的DNS服务器

DNS域名系统技术作为互联网基础设施中的重要一环,为了提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转,提供了以下三种类型的服务器:

  • 主服务器: 在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系;

  • 从服务器: 从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况;

  • 缓存服务器: 通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并经常查询的域名信息保存到服务器本地,以

此来提高重复查询的效率。

简单来说,主服务器是用于管理域名和IP地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,.从而减轻主服务器的负载压力。缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。

DNS配置文件

/etc/named.conf                     主配置文件,服务器主要运行参数

/etc/named.rfc1912.zones    区域文件,主要指定要解析哪个域名

/var/named/xxx.xx                    数据文件,用来正向和反向的解析

DNS 排错

它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :
– NOERROR : 查询成功
– NXDOMAIN : DNS 服务器提示不存在这样的名称
– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

DNS资源记录

DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型

– A :   名称至 IPv4 地址

– AAAA : 名称至 IPv6 地址

– CNAME : 别名
                     bbs CNAME www.westos.com
                   实现负载均衡
                   www A 172.25.254.100
                   www A 172.25.254.200

– PTR : IPv4/IPv6 地址至名称

– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )

westos.com. MX 10 mail.westos.com.
                      mail A 172.25.254.136

– NS : (name server)域名的名称服务器: ZONE –> FQDN(dns.westos.com.)
                      NS dns.westos.com.

– SOA : (start of authority):起始授权记录,表识多个dns存在时,哪个是主dns(权威的dns服务器)
ZONE NAME   TTL   IN SOA 主dns的FQDN mail

TTL值“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。

(
serials number ;2017010703
refresh ;刷新
retry ;未获得答案时多久再次请求
expire ;过期
na ttl ;无答案时的有效期
)  
FQDN(full qulified domain name) ##正式域名

.dig输出的部分内容解释

• 标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 )

– QUESTION : 提出实际的 DNS 查询

– ANSWER : 响应 ( 如果有 )

– AUTHORITY : 负责域 / 区域的名称服务器

– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器

– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

/etc/named.conf的语法

• // 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释 (可以跨越多行)

• 指令以分号结束 (;)

• 许多指令认为地址匹配列表放在大括号中、以CIDR表示法表示的IP地址或子网列表中 , 或者命名的ACL中

( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )

• 文件以 options 块开始 , 其中包含控制 named如何运作的指令

• zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域

高速缓存服务器DNS

高速缓存DNS解析速度快,内部访问,不占用传输带宽。
实验环境:
<1>虚拟机server(172.25.254.181),作为dns服务器,提前配置好yum源;
<2>虚拟机desktop(172.25.254.200),作为客户端进行访问测试

实验过程

对服务器端的配置:172.25.254.181
<1>安装并开启DNS服务功能软件bind

yum install bind -y        #####安装dns服务软件; -y不用与系统进行交互式访问,直接安装

BIND (Berkeley Internet Name Domae most commonly used namedaemon.

systemctl start named      ####开启服务(在启动过程中,因为加密字符不够,服务重启一直在等待,这时需要敲击键盘直到服务启动)

systemctl stop firewalld  //关闭防火墙

netstat -antlupe | grep named           ###查看named服务监听的端口

可以看到该服务端口为53,此时端口只开启在lo回环接口,127.0.0.1代表回环接口ip

<2>查找并修改配置文件

[root@localhost ~]# rpm -qc bind                      ##查找配置文件
[root@localhost ~]# vim /etc/named.conf         ##编辑配置文件
 11         listen-on port 53 { any; };                      ##监听所有的53号端口,此处可以根据需要设置需要监听的IP
 17         allow-query     { any; };                          ##允许所有客户主机可以连接访问该服务器端                    
 18         forwarders { 114.114.114.114; };       ##设置转发 如果本DNS服务器无法解析,就转发其他DNS服务器。这里转发请求到114.114.114.114

33     dnssec-validation no;                                ##将yes设置为no

<3>重启named服务

[root@localhost ~]# systemctl restart named

重新查看53端口状态,可以看出此时端口53开启在所有网卡上,包括本机的eth0网卡,IP=172.25.254.181

对客户端的配置:172.25.254.200

[root@localhost ~]# vim /etc/resolv.conf             ###编辑本地解析文件

nameserver 172.25.254.181                              ###这里的ip是dns服务的主机ip

客户机测试:dig 域名

第一次测试:

耗时为:

第二次测试相同的域名:

耗时为:

可以看出解析速度明显提升了。

DNS 服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。

我们也可以在两台不同的客户端对相同的域名解析速度进行测试:

把另一台测试的客户端的本地解析文件的指向同样改为dns服务器端的ip,即172.25.254.181

vim /etc/resolv.conf             ###编辑本地解析文件

在客户端1上进行测试:

dig  www.qq.com

在客户端2上进行测试:dig相同的域名

可以看出解析速度明显也提升了。

DNS本地正向解析

正向解析(A,MX,CNAME,负载均衡):域名——>IP

实验环境:同时作为dns服务器和客户端的一台虚拟机:IP=172.25.254.181

配置过程:

<1>修改主配置文件

[root@client ~]# vim /etc/named.conf

//      forwarders       {114.114.114.114;};          ##注释上次实验添加的forwarders,因为在本次实验中服务器自己充当DNS

<2>编辑named的区域文件,添加域

[root@client ~]# vim /etc/named.rfc1912.zones

25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { none; };

<3>修改westos.com.zone配置文件

[root@client ~]# cd /var/named
[root@client named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@client named]# cp -p named.localhost westos.com.zone   ###连同权限复制文件内容

[root@client named]# vim westos.com.zone

dns.westos.com.表示dns服务器的名称,mine.westos.com.表示管理dns服务器的用户

1 $TTL 1D
  2 @       IN SOA  dns.westos.com.  mine.westos.com. (           
  3                                         0       ; serial            ####一致性标记,在做dns集群的时候会用到                                          
  4                                         1D      ; refresh       ####dns缓存刷新的时间
  5                                         1H      ; retry            ####如果出现解析错误后,重新尝试的时间
  6                                         1W      ; expire        ####过期时间,此处为1周
  7                                         3H )    ; minimum    ####主服务器挂后,从服务器至多工作的时间,可以保护dns防止ddos攻击
  8              NS      dns.westos.com.
  9 dns        A       172.25.254.181       ###地址解析服务端
 10 www     A       172.25.254.100      ###指定本地存在的域名解析
 11 music   A       172.25.254.10        ###指定本地存在的域名解析
注:@=westos.com   @的作用:所有不以'.'结尾的文件后自动补齐'westos.com'

<4>重新开启服务

[root@client named]# systemctl restart named

客户端测试:

<1>设置客户端的dns解析地址为172.25.254.181(即dns服务器ip)

[root@client named]# vim /etc/resolv.conf

nameserver 172.25.254.181

<2>查看不同域名对应的ip  dig  域名

[root@client named]# dig  music.westos.com

正向轮询式域名解析

大多数域名注册商都支持对同一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡。

DNS负载均衡原理

DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录。在默认情况下,DNS 服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的。该功能提供了一种非常简便的方法,用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。

要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个主机资源纪录,并启用DNS服务器循环复用。如果DNS服务器禁止循环复用,那么这些查询的响应顺序以应答列表中资源记录在区域中存储时的静态排序为基础。

实验环境:在上述本地正向解析成功的基础上

依然使用同时作为dns服务器和客户端的一台虚拟机:IP=172.25.254.181

<1>修改westos.com.zone配置文件

[root@client named]# vim westos.com.zone

$TTL 1D
@       IN SOA  dns.westos.com.  mine.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                 NS                dns.westos.com.
dns           A                  172.25.254.181
www        CNAME       music.a.westos.com.        ##将规范名称转换为非规范名称
music.a    A                  172.25.254.20                  ## 轮询服务器1
music.a    A                  172.25.254.10                  ## 轮询服务器2

<2>重启服务

[root@client named]# systemctl restart named

客户端测试:

1.首次访问域名

2.隔几秒钟后再次访问该域名

DNS邮件服务器解析

MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。

当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。

配置过程:

<1>修改westos.com.zone配置文件

[root@client ~]# vim /var/named/westos.com.zone

westos.com.  MX 10  172.25.254.111.              ###加入邮件解析


westos.com.   MX 10    mx1.westos.com.
mx1                  A             172.25.254.111       ###该方式与上述方式解析效果一样

<2>重启服务

[root@client named]# systemctl restart named

<3>测试

mail zhang@westos.com    ###给该域内的某一用户发送文件

[root@client ~]# mail zhang@westos.com                  ##邮件发送至westos.com的zhang用户
Subject: test
jhsjxjbjsbcjh
.                                                                                         ##用"."来结束录入内容并发送
EOT

mailq          ###查看邮件队列

dig -t mx westos.com           ###查看westos.com的MX记录

DNS反向解析

反向解析(P解析): IP——>域名

实验环境:同时作为dns服务器和客户端的一台虚拟机:IP=172.25.254.181

配置过程:

<1>编辑named的区域文件,添加域

[root@client ~]# vim /etc/named.rfc1912.zones

49 zone "254.25.172.in-addr.arpa" IN {
 50         type master;
 51         file "172.25.254.ptr";                ##反向解析域名文件

52         allow-update { none; };
 53 };

<3>修改westos.com.zone配置文件

[root@client ~]# cd /var/named
[root@client named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  westos.com.zone
[root@client named]# cp   -p    named.loopback    172.25.254.ptr          ###连同权限复制文件内容

[root@client named]# vim   172.25.254.ptr

$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.181
111     PTR     hello.westos.com.               ###访问172.25.254.111对应的域名
222     PTR     book.westos.com.              ###访问172.25.254.222对应的域名

<4>重新开启服务

[root@client named]# systemctl restart named

客户端测试:
反向解析,测试dig -x ip       ###查看该ip对应的域名信息

DNS双向解析

DNS双向解析指内网与外网解析分离

内网:1.1.1.0/24             www.westos.com---172.25.254.xx
外网:any                         www.westos.com---192.25.254.x

实验环境:

配置dns服务器端的网卡为多个ip:

[root@client named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

重启网络服务生效

[root@client named]# systemctl restart network

配置过程:

<1>修改主配置文件/etc/named.conf,实现内网与外网分离

[root@client named]# vim /etc/named.conf

/*
zone "." IN {
        type hint;                                         ###注释掉原文件里的该段内容
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
*/
view localnet{
        match-clients{1.1.1.0/24;};
        zone "." IN {
                type hint;                                      ###内网访问1.1.1网段,内网主机读取/etc/named.rfc1912.inter内容
                file "named.ca";
        };
include "/etc/named.rfc1912.inter";
};

view internet{
        match-clients{any;};
        zone "." IN {
                type hint;                           ###外网主机读取/etc/named.rfc1912.zones内容
                file "named.ca";
        };
include "/etc/named.rfc1912.zones";
};

<2>分别为内网与外网修改区域配置文件

[root@client named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
[root@client named]# vim /etc/named.rfc1912.inter

25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.inter";
 28         allow-update { none; };

<3>分别为内网与外网修改域名解析文件

[root@client named]# cp -p westos.com.zone westos.com.inter
[root@client named]# vim westos.com.inter

通过:%s/172.25.254/1.1.1/g将文件里的ip地址全部转换为1.1.1网段

<4>重启named服务

[root@client named]# systemctl restart named

测试:

在两台ip分别处于所配置的内网段和外网段的主机上进行测试

在另一台虚拟机desktop上配置ip地址为1.1.1.100(内网)

ifconfig   eth0   1.1.1.100/24

配置其解析文件,设置dns服务器为1.1.1.181

vim    /etc/resolv.conf

dig   www.westos.com          ##查看域名解析的信息

在真机(ip为172.25.254.81)上进行测试:(外网)

配置其解析文件,设置dns服务器为172.25.254.181

vim    /etc/resolv.conf

dig   www.westos.com          ##查看域名解析的信息

对比以上两个域名解析结果,我们可以发现,两台主机dig到的ip是不一样的,这样做的好处是保证一定的安全性,设置其他主机看不到到真实的域名和ip的关系,进而保证企业的安全。

DNS域名解析服务1(高速缓存dns,dns正向解析,dns正向轮询解析,dns反向解析,dns双向解析)相关推荐

  1. DNS域名解析服务(正向解析)

    DNS域名解析服务 文章目录 DNS域名解析服务 BIND域名服务基础 DNS系统的作用 DNS的定义: 域名的结构 DNS服务器类型: DNS解析查询方式 BIND软件安装 构建DNS域名解析服务器 ...

  2. DNS域名解析服务(正向解析、反向解析、主从服务器)

    介 绍 Internet发展至今,在网的服务器和个人主机数量庞大,每个用户通过记忆IP地址访问网络资源并不现实了. 目前大家访问互联网进行上网浏览信息时,正常是通过域名进行访问(例如:www.baid ...

  3. CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器实时同步 | 分离解析 | 排错思路及方案 | 超详细

    CenOS7 运维 - DNS域名解析服务 一.DNS系统的作用 二.域名的结构 根域 顶级域 二级域 子域 主机 三.DNS服务器类型 ►主域名服务器 ►从域名服务器 ►缓存域名服务器 ►转发域名服 ...

  4. DNS域名解析服务的正向和反向解析

    DNS域名解析服务 文章目录 DNS域名解析服务 一.DNS系统的作用 1.域名结构 2.DNS的定义 3.DNS服务器类型 二.构建DNS域名解析服务器步骤 1.关闭防火墙 2.安装bind软件包 ...

  5. Linux网络服务之DNS域名解析服务

    Linux网络服务之DNS域名解析服务 DNS简介 DNS名词介绍 DNS系统的作用 DNS分布式数据结构 DNS系统类型 DNS的查询方式(递归查询和迭代查询) 本地主机映射文件hosts 域名的解 ...

  6. Linux网络 DNS域名解析服务

    目录 1. DNS域名解析服务 (1)DNS系统的作用及类型 (2)缓存域名服务器 (3)DNS系统类型 (4)BIND的安装和配置文件 (1)BIND软件安装 (2)DNS的分布式互联网解析库 (5 ...

  7. 网络服务之----DNS域名解析服务篇

    前言:上一章和拐友们讲了DHCP,这章我们来了解一下DNS,DNS可以使用户更加方便的访问互联网,而不用再去记住能够被机器直接读取的IP数串,简单来说就是将域名转换为IP地址(或者将IP地址转换为相应 ...

  8. Linux系统安装DNS域名解析服务

    在linux系统下安装DNS域名解析服务 步骤如下: 1>查看挂在镜像位置 2>查看光盘是否挂载 3>查看需要挂在的位置 4>进行挂载 [root@localhost mnt] ...

  9. 在linux下dns绑定域名,在Linux系统中,使用Bind搭建DNS域名解析服务

    DNS域名解析服务(DomainNameSystem)是用于解析域名与IP地址对应关系的服务作用为维护着一个地址数据库,记录着各种主机域名与IP地址的对应关系,以便为客户提供正向或反向的地址查询服务, ...

  10. linux下DNS配置及域名解析服务,linux DNS域名解析服务

    DNS域名解析服务 (一)Dns软件包安装 Bind:提供域名服务的主要程序及相关文件 Bind-utils:测试dns工具(nslookup.host) Yum仓库安装软件 Yum install ...

最新文章

  1. pls-00302: 必须声明 组件_vue学习手册-单文件组件使用
  2. php记录代码执行时间
  3. 互联网人的恶梦是加班?不,是饥荒!
  4. 用boost库实现traceroute小工具
  5. 汇编语言(二十九)之数值的二进制和十进制
  6. 前端学习(1751):前端调试值之编辑源并同步到本地文件
  7. zabbix php 安装,zabbix_Linux安装php5.6.31
  8. 华为鸿蒙ipc时延,虚搜
  9. 求解斐波那契第n项的几种解法(含矩阵乘法+快速幂) Python实现
  10. 伊洛纳登录显示服务器连接中,伊洛纳萌新入坑常见问题汇总
  11. Drools 规则引擎的使用
  12. coreos mysql_Fedora CoreOS 介绍
  13. OpenKG开源系列 | 大规模中文概念图谱OpenConcepts (浙江大学)
  14. 把ipad作为window系统电脑的扩展屏
  15. 新手爬取51job,智联,boss网站职位信息总结和代码(小杜总结)
  16. Android网络编程(八) 之 HttpURLConnection原理分析
  17. Android输入框下拉列表
  18. 【关闭Antimalware Service Executable(windows defender)】
  19. 不小心点了计算机一键还原怎么操作,电脑按了一键还原系统怎么办
  20. numpy 学习汇总5-数组运算 tcy

热门文章

  1. 【题解】HDU2571 命运
  2. 跨境电商工具盘点,超级浏览器成新宠
  3. css扫光效果总结,css文字扫光,css图片扫光
  4. win7计算机双击空白,Win7系统电脑Windows功能无法显示怎么办|Windows功能显示空白的两种解决方法...
  5. java.sql.SQLException: Field 'id' doesn't have a default value解决方案
  6. 宇枫资本四个步骤做好投资理财
  7. 2018-10-19-C#-AddRange-添加位置
  8. 群辉Docker 下载仓库镜像提示失败 解决办法
  9. Opencv copyTo() 与clone()的区别
  10. unity识别地形材质