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配置及域名解析服务

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 风雨矿机路_二手矿机吧

    风雨矿机路_二手矿机吧   本文超过6500字。为了读者阅读方便,核心要点如下:1.杨作兴在芯片设计一线呆了20多年,在2014年进入矿圈。2.比特大陆的S7、S9矿机芯片,是杨作兴在业余时间兼职设计的。在他离开比特大陆后,比特大陆在比特币矿机芯片生产上砸了几十亿元,耗费两年时间却未能实现突破。3.杨作兴曾在2015年12月份与比特大陆讨论股权的事情,一直谈到2016年5月份,最终因为觉得比特大…

  • web默认端口号是多少_web网站的默认端口为

    web默认端口号是多少_web网站的默认端口为代理服务器常用端口计算机端口号范围1~65535,端口不能重复HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080SOCKS代理协议服务器常用端口号:1080FTP(文件传输)协议代理服务器常用端口号:21Telnet(远程登录)协议代理服务器常用端口:23常用端口说明端口:21服务:FTP说明:FTP服务器所开放的端口,用于上传、下载。…

  • [CV] Structure from motion(SFM)- 附我的实现结果

    [CV] Structure from motion(SFM)- 附我的实现结果【更新】我的新博客:www.ryuzhihao.cc,当然这个csdn博客也会更新本文在新博客中的链接:点击打开链接完成时间:2017年2月27日博客时间:2017年4月26日去年,我有幸了解到image-basedmodeling的相关知识。作为一个大三本科生,虽说自己此前也做过一些相关工作,但是要自己实现Structuref…

  • pycharm激活码2021.12.12_最新在线免费激活

    (pycharm激活码2021.12.12)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • ie11兼容性视图设置怎么能自动兼容_ie11兼容模式ie8

    ie11兼容性视图设置怎么能自动兼容_ie11兼容模式ie8ie11浏览器不兼容的解决办法Edge浏览器已然成为最新win10系统的默认浏览器,但是用户量却远远不及IE11,IE11虽然性能得到了大的改进,但在浏览网页的时候还是会出现一些兼容性的问题,下面小编就讲为大家分享IE11浏览器网页不兼容的四个有效解决方法。方法一、添加受信任的站点1、打开IE11浏览器,点击浏览器右上角的“工具”选项,再选择“Internet选项”;2、点击界面的上方的“安全…

  • java Map遍历的5种方法和一些基本使用

    java Map遍历的5种方法和一些基本使用一:基本使用Map<String,Integer>map=newHashMap<>();map.put("a",1);map.put("b",2);booleanb=map.containsKey("3");//map中是否包含key为3的键值。System.out.pr.

发表回复

您的电子邮箱地址不会被公开。

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