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

linux下DNS配置及域名解析服务一.DNS(DomainNameSystem,域名系统)    因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。    DNS服务器将域名解析出来,找到域名对应的ip地址的…

大家好,又见面了,我是你们的朋友全栈君。

一.DNS(Domain Name System,域名系统)

       因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

      DNS 服务器将域名解析出来,找到域名对应的ip地址的服务,可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 可以提高解析速度。

 

二.配置实验环境

 

1.安装DNS服务;

  yum install bind.x86_64 -y   利用yum将DNS服务下载下来

linux下DNS配置及域名解析服务
2.firewall-config                     打开防火墙图形设置开启dns服务,将Configuration旁下拉勾选Permanent,然后勾选dns :

然后点击Options下的Reload Firewalld重新加载防火墙

3.firewall-cmd –list-all             查看是否修改成功,如图所示,dns服务已被防火墙允许:

 

linux下DNS配置及域名解析服务
4.systemctl restart named       重新启动dns服务
5.netstat -antlpe | grep named 查看53接口是否打开,下图表示53接口未对本机打开:
linux下DNS配置及域名解析服务
6.vim /etc/named.conf             编辑dns配置文件,将接口打开:
linux下DNS配置及域名解析服务
7.systemctl restart named        重启服务让修改生效
8.netstat -antlpe | grep named  再次查看53接口是否被打开,由下图可知,已经打开:
linux下DNS配置及域名解析服务
9.vim /etc/resolv.conf               将dns设置为本机ip
linux下DNS配置及域名解析服务

 

dns服务安装配置完成

 

三.下面简单介绍一下dns的域名解析服务:

 

DNS 总揽

权威名称服务器

存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。

权威名称服务器的类型包括 
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器 
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器

非权威 / 递归名称服务器

– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括 
存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性

DNS 查找

客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器,如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端,否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端,如果缓存中没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜索, 直至对于信息有具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。

DNS资源记录

DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型。 
– A : 名称至 IPv4 地址 
– AAAA : 名称至 IPv6 地址 
– CNAME : 名称至 ”规范名称 “ ( 包含 A/AAAA 记录的另一个名称 ) 
– PTR : IPv4/IPv6 地址至名称 
– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 ) 
– NS : 域名的名称服务器 
– SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )

DNS排错

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

dig输出的部分内容

• 标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 ) 
– QUESTION : 提出实际的 DNS 查询 
– ANSWER : 响应 ( 如果有 ) 
– AUTHORITY : 负责域 / 区域的名称服务器 
– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器 
– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

缓存 DNS 服务器

BIND 是最广泛使用的开源名称服务器,在 RHEL 中 , 通过 bind 软件包提供防火墙开启端口 53/TCP 和 53/UDP。BIND 的主配置文件是 /etc/named.conf 。/var/named 目录包含名称服务器所使用的其他数据文件

/etc/named.conf 的语法

• // 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释 ( 可以跨越多行 ) 
• 指令以分号结束 (;) 
• 许多指令认为地址匹配列表放在大括号中、以CIDR 表示法表示的 IP 地址或子网列表中 , 或者命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )。 
• 文件以 options 块开始 , 其中包含控制 named如何运作的指令。 
• zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域。

 

##(1)正向解析:通过域名,找到ip地址
1.cd /var/named/         切换到/var/named/目录下
2.cp -p named.localhost hk.com  将named.localhost里的内容复制生成新文件为hk.com (文件名自定义):
3.vim /hk.com   编辑文件如下图所示:
linux下DNS配置及域名解析服务
4.vim /etc/named.rfc1912.zones    编辑文件,将如下信息编辑到文件中:
linux下DNS配置及域名解析服务
5.systemctl restart named              重启服务让修改生效
6.测试
dig news.hk.com                           输入域名让dns解析出ip:
linux下DNS配置及域名解析服务
dig www.hk.com                            解析第二个域名:
linux下DNS配置及域名解析服务

###(2)反向解析:解析ip找到与之对应的域名
1.cd /var/named/                              切换到/var/named/目录下
2.cp -p named.loopback hk.com.ptr   复制named.loopback生成hk.com.ptr文件

 

3.vim /hk.com.ptr                              编辑文件如图所示:

linux下DNS配置及域名解析服务
4.vim /etc/named.rfc1912.zones  编辑文件如图所示:
linux下DNS配置及域名解析服务
5.systemctl restart named                 重启服务让修改生效
6.测试

 

 

dig -x 172.25.254.121                       解析第一个ip :

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

 

 

dig -x 172.25.254.122             接着解析第二个ip,解析出来的域名与之前编辑的文件内容一致:

 

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

 

###(3)解析反馈设置(给予不同ip用户不同答案)
1.cd /var/named/                      切换到/var/named/目录下
2.cp -p hk.com hk.com.net       复制生成hk.com.net文件

 

 

3.vim /hk.com.net                     编辑文件如图所示:

linux下DNS配置及域名解析服务
4.cp -p /etc/named.rfc1912.zones /etc/named.rfc1916.zones   复制产生一个新的文件/etc/named.rfc1916.zones
5.vim /etc/named.rfc1916.zones  编辑文件如图所示:
linux下DNS配置及域名解析服务
6.vim /etc/named.conf           编辑文件如图所示,给予不同ip用户不同答案,将文件中51到58行注释掉:

 

 

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

 

然后编辑内容59到80行,如图所示,只有172.25.254.21能够看到/etc/named.rfc1912.zones文件中解析出来的ip,其他ip用户可以看到

/etc/named.rfc1916.zones文件中解析出来的ip地址:

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

7.systemctl restart named       重启服务,让修改生效

 

8.测试 

 

在ip为172.25.254.21的主机上编辑文件vim /etc/resolv.conf,将本机ip作为172.25.254.21的主机的dns:

 

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

 

在ip为172.25.254.21的主机上访问 www.hk.com,成功解析出来ip,与之前文件中一致:

 

linux下DNS配置及域名解析服务
本机自己访问 www.hk.com  和ip为172.25.254.21所看到解析出来的ip不同,说明配置成功:
linux下DNS配置及域名解析服务

###(4)dns集群:增加一个或多个主机一起解析,缓解主机压力(这次添加一台主机)

 

1.在ip为172.25.254.221的主机上下载dns服务,并在防火墙设置中允许运行服务:

firewall-config                         打开防火墙配置服务

firewall-cmd –list-all                查看修改后被允许的服务信息:

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

2.vim /etc/named.rfc1912.conf   编辑文件,将如图所示内容编辑到文件中:

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

 

3.vim /etc/named.conf               修改文件,如图所示:
linux下DNS配置及域名解析服务
4.将/var/named/slaves/目录下的文件删除
5.systemctl restart named       重启服务,让修改生效

 

6.查看/var/named/slaves/中是否有新的内容,可以看到本机的hk.com.net文件在目录下,说明配置没有问题:

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

 

###(5)同步:让两台或多台主机在进行域名解析时,所给出的答案一致
1.vim /var/named/hk.con.net  修改文件中的参数,将之前www对应的122改为124,看ip为172.25.254.221主机是否能够同步:
linux下DNS配置及域名解析服务
3.systemctl restart named            重启本机dns服务,让修改生效

 

 

4.dig www.hk.com                       本机查看信息是否修改,如图已经修改:

linux下DNS配置及域名解析服务
3.在ip为172.25.254.221主机,dig www.hk.com   查看信息是否与本机同步:
linux下DNS配置及域名解析服务
解析一致,同步成功

(6)加密key更新:(为了提升dns解析服务的安全性,需要进行加密更新配置,拥有密钥的的ip主机才能够对本机进行更新)
1.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST hongk     生成密钥
2.cat Khongk.+157+06432.key                                  查看密钥密码:
linux下DNS配置及域名解析服务
3.cp /etc/rndc.key /etc/hongk.key -p             生成dns的加密文件

 

 

4.vim /etc/hongk.key                          编辑加密文件,如图所示:

linux下DNS配置及域名解析服务
5.vim /etc/named.conf          指定dns服务读取的key文件:
linux下DNS配置及域名解析服务

 

 

6.vim /etc/named.rfc1912.zones      编辑文件,指定更新域为hongk,如图所示:

linux下DNS配置及域名解析服务
7.scp Khongk.+157+06432./* root@172.25.254.221:/mnt 将密钥发送给ip为i172.25.254.221的主机:
8.在本机配置DHCP服务:
vim /etc/dhcp/dhcpd.conf                编辑文件,如图所示:
linux下DNS配置及域名解析服务

 

 

继续编辑,将加密信息编辑到dhcp配置文件中:

 

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

9.systemctl restart dhcpd 重启dhcp服务

   systemctl restart named 重启dns服务

10.给本机/var/named/目录修改权限:chmod g+w /var/named/

11.测试:

将一台主机的主机名改为music.hk.com,设置为dhcp模式获取ip,获取到的ip为172.25.254.55,为上面dhcp配置文件中的地址池ip:

然后在本机 dig music.hk.com  可以解析到陌生主机名的ip:

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141998.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NetXray「建议收藏」

    NetXray「建议收藏」NetXRay是由CincoNetworks公司开发的一个用于高级分组检错的软件,功能很强大。IP地址查询工具。硬件要求硬件要求对硬件要求低,可运行常用的windows平台。主要功能主要功

    2022年7月2日
    22
  • 软件封装工具(牛人自制升降工具)

    平时Java项目的开发通常需要统一管理日志(Log)的输出,例如控制日志信息输送的目的地(控制台、文件等),控制每一条日志的输出格式,把日志分为不同的级别等。常用的比较成熟的Java日志管理工具有Apache的Log4j等。但有时我们平时一时兴趣想写个小Dmeo或小工具,想较好的控制日志的输出,引入专业的日志管理库又显得比较繁琐,下面我就自己封装一个简单的日志工具类(LogUtils.java)。

    2022年4月13日
    40
  • 最长上升子序列的两种解法

    最长上升子序列的两种解法问题描述一个数的序列bi,当b1你的任务,就是对于给定的序列,求出最长上升子序列的长度。动态规划法如何把这个问题分解成子问题呢?经过分析,发现“求以ak(k=1,2,3…N)为终点的最长上升子序列的长度”是个好的子问题――这里把一个上升子序列中最右边的那个数,称为该子序列的“终点”。虽然这个子问题和原问题形式上并不完全一样,但是只要这N个子问题都解决了,那么这N

    2022年4月30日
    55
  • WebService简单案例实例

    WebService简单案例实例本周工作日即将结束,下周项目经理安排了一项任务可能需要使用到webservice,但本人之前尚未使用过,网上查了一些案例看了看在此小记一篇留作日后回首也希望可以帮助到查看者朋友1、什么是WebService?WebService是一种远程调用技术,也叫XMLWebServiceWebService,是一种可以接收从Internet或者Internet上的其他系统中传递过来的请求,轻量级的独…

    2022年7月21日
    17
  • MySQL 数据库备份(完全备份与恢复)

    MySQL 数据库备份(完全备份与恢复)前言随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源一、MySQL完全备份1.数据库备份方式精讲1.1数据库备份的重要性生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果数据库备份的重要性主要体现在:提高系

    2022年5月14日
    34
  • scrum okr_Scrum方法

    scrum okr_Scrum方法OKR与Scrum如何强强联手

    2022年4月21日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号