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

发布时间:2018-05-24 18:48,

浏览次数:738

, 标签:

linux

DNS

一.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服务下载下来

2.firewall-config

打开防火墙图形设置开启dns服务,将Configuration旁下拉勾选Permanent,然后勾选dns :

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

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

4.systemctl restart named       重新启动dns服务

5.netstat -antlpe | grep named 查看53接口是否打开,下图表示53接口未对本机打开:

6.vim /etc/named.conf             编辑dns配置文件,将接口打开:

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

8.netstat -antlpe | grep named  再次查看53接口是否被打开,由下图可知,已经打开:

9.vim /etc/resolv.conf               将dns设置为本机ip

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   编辑文件如下图所示:

4.vim /etc/named.rfc1912.zones    编辑文件,将如下信息编辑到文件中:

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

6.测试

dig news.hk.com                           输入域名让dns解析出ip:

dig www.hk.com                            解析第二个域名:

###(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                              编辑文件如图所示:

4.vim /etc/named.rfc1912.zones  编辑文件如图所示:

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

6.测试

dig -x 172.25.254.121                       解析第一个ip :

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

###(3)解析反馈设置(给予不同ip用户不同答案)

1.cd /var/named/                      切换到/var/named/目录下

2.cp -p hk.com hk.com.net       复制生成hk.com.net文件

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

4.cp -p /etc/named.rfc1912.zones /etc/named.rfc1916.zones

复制产生一个新的文件/etc/named.rfc1916.zones

5.vim /etc/named.rfc1916.zones  编辑文件如图所示:

6.vim /etc/named.conf           编辑文件如图所示,给予不同ip用户不同答案,将文件中51到58行注释掉:

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

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

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

8.测试

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

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

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

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

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

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

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

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

3.vim /etc/named.conf               修改文件,如图所示:

4.将/var/named/slaves/目录下的文件删除

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

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

###(5)同步:让两台或多台主机在进行域名解析时,所给出的答案一致

1.vim /var/named/hk.con.net

修改文件中的参数,将之前www对应的122改为124,看ip为172.25.254.221主机是否能够同步:

3.systemctl restart named            重启本机dns服务,让修改生效

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

3.在ip为172.25.254.221主机,dig www.hk.com   查看信息是否与本机同步:

解析一致,同步成功

(6)加密key更新:(为了提升dns解析服务的安全性,需要进行加密更新配置,拥有密钥的的ip主机才能够对本机进行更新)

1.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST hongk     生成密钥

2.cat Khongk.+157+06432.key                                  查看密钥密码:

3.cp /etc/rndc.key /etc/hongk.key -p             生成dns的加密文件

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

5.vim /etc/named.conf          指定dns服务读取的key文件:

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

7.scp Khongk.+157+06432./* root@172.25.254.221:/mnt

将密钥发送给ip为i172.25.254.221的主机:

8.在本机配置DHCP服务:

vim /etc/dhcp/dhcpd.conf                编辑文件,如图所示:

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

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域名服务器,linux下DNS配置及域名解析服务相关推荐

  1. python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  2. linux 蓝牙 profile,Linux_Linux系统下蓝牙立体声配置A2DP profile,系统配置:Linux debian 2.6.22.6 #7 - phpStudy...

    Linux系统下蓝牙立体声配置A2DP profile 系统配置:Linux debian 2.6.22.6 #7 Mon Sep 3 10:46:00 CST 2007 ppc GNU/Linux ...

  3. linux配置过程未选gnome,Linux技巧:GNOME英文界面下安装配置SCIM输入法

    本文以SCIM输入法为例,具体介绍了在SCIM输入法在Linux下GNOME英文界面下安装与使用的配置过程. 安装中文字体 运行 emerge arphicfonts wqy-bitmapfont c ...

  4. linux php7 mongodb,CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis

    CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis 我是想能yum就yum,所有软件的版本一直会升级,注意自己当时的版本是不是已经更新了. 首先装CentOS 7 装好cento ...

  5. mysql 手动配置服务器_Win7系统下手动配置Apache+PHP+MySQL环境WEB服务器 -电脑资料...

    本来想学学php,于是就想搭建web服务器和sql环境,结果浪费掉了不少时间, 大致的总结下,也算是长个记性. 使用的安装包分别是httpd-2.2.22-win32-x86-no_ssl .msi, ...

  6. xp下如何配置php,windows xp下 如何配置 php

    在XP的IIS下安装 PHP 简单方法 安装前的准备(我这里用PHP4): PHP4.0以上的版本.只需以下三个文件就可以了: php4isapi.dll,php4ts.dll,php.ini-dis ...

  7. zabbix php 5.6 安装配置,CentOS 5.6下Zabbix 1.8.5 服务端安装部署

    CentOS 5.6下Zabbix 1.8.5 服务端安装部署 CentOS 5.6 x86_64 + Zabbix 1.8.5 IP:192.168.88.130 一.安装LAMP环境依赖包: # ...

  8. linux修改smb端口,centos下smb配置

    1,系统安装时安装samba 2,useradd -d /home/pub/ -m pub创建一个系统用户,设置密码为public 3,创建共享目录/home/pub/doc/ 4,修改smb配置文件 ...

  9. 戴尔服务器虚拟机配置ip地址,虚拟机下CentOS配置IP地址的三种方法

    1.自动获取IP地址 虚拟机使用桥接模式,相当于连接到物理机的网络里,物理机网络有DHCP服务器自动分配IP地址. #dhclient 自动获取ip地址命令 #ifconfig 查询系统里网卡信息,i ...

  10. opencv配置_Opencv在vs2012下的配置

    别问我为什么记录这么老的版本,问就是因为老师推荐和因为怕自己再次把小米的搜索框给忘记了,又找个好几十分钟的[环境变量]. 另外,要敲敲自己的脑袋,作为小米电脑的老用户怎么可以把搜索框给忘记了呢? 第一 ...

最新文章

  1. 架构篇:什么才是真正的架构设计?
  2. 浅谈WebService的调用转
  3. 逻辑回归python sigmoid(z)_python实现吴恩达机器学习练习2(逻辑回归)-data1
  4. 厂商占用mac地址段多少排名
  5. 第一章 计算机网络概述[知识点+课后习题+练习题]
  6. 研究发现,近一半生产容器存在漏洞
  7. haproxy之安装与配置详解
  8. 超级科技富豪:张朝阳跌宕起伏的人生
  9. ORA-15018: diskgroup cannot be created
  10. nginx限流防刷方案
  11. Easypoi Excel导出和word导出带图片(图片不显示问题必须用字节)
  12. sunday算法简介
  13. 解决tigger-iOS端失效的现象
  14. 最新BlOS详解,及UEFi引导重装系统方法
  15. 腾讯30亿入股盛大游戏;财付通支付宝被罚60万;特斯拉亏损7亿美金丨价值早报
  16. 13 1602液晶显示屏
  17. 上周回顾:华为拥抱赛门铁克 误杀事件走向法庭
  18. LTO磁带 PK 磁盘HDD:谁会让数据中心变“绿“?
  19. 职高计算机论文,职高计算机
  20. 软件测试缺陷 报告英文版,软件测试缺陷报告书.doc

热门文章

  1. 手机功能测试主要测哪些方面?
  2. 【DockerCE】Docker-CE 20.10.17正式版发布
  3. 表格序号_Word办公技巧:如何为文档中的表格添加居中对齐的自动序号?
  4. 增强型MOSFET导通条件
  5. 漫谈TCP-AIMD/BBR的公平性以及buffer bloat
  6. 【捣鼓】TypeError: “x” is not a constructor
  7. 关于VBV-------Video Buffering Verifier
  8. oracle vm.drop_caches,墨菲定律一个参数Drop_caches导致集群数据库实例崩溃
  9. 基于STC89C52单片机的LED显示电子钟的制作
  10. CPU的内部架构和工作原理(好文)