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

2.缓存 DNS
服务器

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

3.DNS分类
权威名称服务器
存储并提供某区域 ( 整个 DNS
域或 DNS 域的一部分 ) 的实际数据。
权威名称服务器的类型包括:
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器

Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据
的副本。有时称作 “次要 ”名称服务器

非权威 / 递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括

仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具
有权威性DNS 查找

4.DNS 查找
户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器

如果名称服务器对于请求的信息具有权威性 , 会将权威答案发
送至客户端否则 , 如果名称服务器在其缓存中有请求的信息 ,

则会将非权威答案发送至客户端
如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器
以查找信息 , 从根区域开始 , 按照 DNS
层次结构向下搜素 ,
直至对于信息具有权威性的名称服务器 , 以
此为客户端获得答案。在此情况中名 ch 称服务器将信息传递

至客户端并在自己的缓存中保留一个副本 , 以备以后查找

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

6.DNS 排错
它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败:
NOERROR :
查询成功
NXDOMAIN : DNS 服务器提示不存在这样的名称
SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败

REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

7.dig 输出的部分内容
标题指出关于查询和答案的信息 , 其中包括响应状态和设置的
任何特殊标记 (
aa 表示权威答案 , 等等 )
QUESTION : 提出实际的 DNS 查询
ANSWER : 响应 ( 如果有 )

AUTHORITY : 负责域 / 区域的名称服务器
ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器

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

缓存DNS服务器可以通过缓存减少DNS客户端访问外部DNS服务器的网络流量,降低DNS客户端解析域名的时间。

实验环境:虚拟机desktop和虚拟机server
服务端:desktop

1.安装并开启DNS服务功能软件bind

2.修改配置文件

文件的具体修改见下图红色标注:




3.重启服务

此时端口53开启在所有网卡上,包括eth0网卡,IP=172.25.254.105


客户端:server
1.修改客户端配置文件



2.客户端测试

第一次dig的速度很慢


第二次dig明显得到了提升

用于域名到IP地址的映射,当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,并返回给DNS客户端对应的IP地址。

服务器:desktop

1.修改配置文件



2.添加域



3.配置westos.com.zone文件



4.重启服务

客户端测试:
1.设置客户端的dns服务器为172.25.254.105(即dns服务器ip)

2.开始测试



用于IP地址到域名的映射,当DNS客户端请求解析某个IP地址时,DNS服务器通过反向查找,并返回给DNS客户端对应的域名。

服务端:desktop

1.修改named的配置文件(添加域)



2.编写westos.com.ptr文件

3.重启服务

客户端测试:
1.设置客户端的dns服务器为172.25.254.105(即dns服务器ip)

2.测试不同ip对应域名

具体结果如图示:


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

1.编写外网域名文件



2.编写外网配置文件



3.编写配置文件使内外网分离

4.设置服务端(内网)的dns服务器ip

客户端测试:
1.设置客户端(外网)的dns服务器为172.25.254.105(即dns服务器ip)

2.测试

辅助DNS主要是为了减轻主DNS服务器的工作负荷,可以配置多台辅助DNS服务器。

主DNS:172.25.254.105
副DNS:172.25.254.205 客户端:172.25.254.62
dns-master设置:

1.编写配置文件,将双向解析注释掉



2.修改配置文件使205可以传输信息

dns-slave设置:
1.安装dns服务软件

2.主配置文件的修改

3.修改named的配置文件



测试:查看dns-slave是有dns-master缓存

修改主dns的ip之前

对dns-master做出修改之后

服务端:

客户端:

在服务端生成 westos.com.zone.jnl

本实验必须在远程更新dns的基础上才可做。

服务端配置:

1.恢复实验环境

2.加密文件的生成

3.编辑key文件

4.编辑主配置文件



5.修改named配置文件

6.发送钥匙给允许动态更新该dns的主机;

客户端测试:在205远程更新dns新航道英语学校

切换到服务器dig看是否更新

本实验要确保基于key认证远程更新dns成功。

恢复实验环境

1.部署dhcp服务器
ip:172.25.254.105

重启服务

2.客户端测试



修改客户端主机名称

<3>修改dhcp分配的区域,重新使客户端获取ip,如果dig 主机名的结果随着ip的改变而改变,说明实验成功。

示图:dig主机名的ip为主机dhcp动态获取的ip,则实验成功.






实验成功!!!

小结:本篇博客难度较大,自己由于粗心导致很多错误,好在经过仔细排查更正过来,希望自己以后可以克服粗心的问题!

基于Linux系统的网络服务——高速缓存DNS及企业级域名解析服务的更多相关文章

  1. Linux 系统的网络基础_【all】

    网络基础 1.网线:568B: 白橙 橙色 白绿 蓝色 白蓝 绿色 白棕 棕色 2.交换机:电信号转发的网络设备,它可以为接入交换机的任2个网络节点设备提供电信号通信 3.路由器:连接局域网,广域网的 ...

  2. Linux系统基本网络配置之ifconfig命令

    Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...

  3. (转)Linux系统基础网络配置老鸟精华篇

    Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...

  4. 基于Linux系统的Nagios网络管理模块的实现

    基于Linux 系统的Nagios网络管理模块的实现 1.引言 随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一.在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境.计算机网络管理 ...

  5. Linux系统之网络相关的命令

    Linux系统之网络相关的命令 网络概述 网络:通过通信介质和通信设备 将分布不同地点的两台或多台计算机,经过相应的程序实现通信switch 交换机router 路由器网络的功能:数据通信:利用网络传 ...

  6. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

  7. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  8. 基于Linux的TCP网络聊天室

    1.实验项目名称:基于Linux的TCP网络聊天室 2.实验目的:通过TCP完成多用户群聊和私聊功能. 3.实验过程: 通过socket建立用户连接并传送用户输入的信息,分别来写客户端和服务器端,利用 ...

  9. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

随机推荐

  1. 第三篇 -- IDEA 创建Springboot Web项目并用Jmeter测试

    上一节使用Django写的一个接口程序,这一节讲用IDEA配合Springboot创建web项目.一个是python,一个是java. 参考链接:http://www.uxys.com/html/Ja ...

  2. 关于vue3简单状态管理约定引发的思考

    官方文档的代码是这样的 export const store = { debug: true, state: reactive({ message: 'Hello!' }), setMessageAc ...

  3. 使用递归计算1~n之间所有整数的和

    5+getSum(4) 5+4+getSum(3) 5+4+3+getSum(2) 5+4+3+2+getSum(1) 5+4+3+2+1 function getSum(n){ if(n===1){ ...

  4. 安卓安装https证书

    前置条件 1 手机要设置密码 然后安装charles 证书 2 赋予 adb shell root权限(安装magisk就行) adb shell # 连接手机进入shell模式 su root # ...

  5. Vue2中父子组件通信的几种常用方法

    源码地址 点击查看演示源码 Vue2父子传参:props 首先在父组件中引入子组件,然后以属性的方式将数据传递给子组件 父组件: <template> <div class=&quo ...

  6. JavaScript高级程序设计(第4版)-第一章学习

    第一章 什么是Javascript 一.历史 JavaScript的名字怎么来的 首先,我们从javascript的历史开始了解,在以前的时候网页要验证某个必填字段是否填写,或者是判断输入的值的正确与 ...

  7. 大龄程序员的出路在哪里?八年老Android的一点心得

    这篇文章,给大家聊聊Android工程师的职业发展规划的一些思考,同时也给不少20多岁.30多岁,但是对自己的职业未来很迷茫的同学一些建议. 笔者希望通过此文,帮大家梳理一下程序员的职业发展方向,让大 ...

  8. Top10 应用都在用的Android最新知识

    相信各位对Jetpack并不陌生,自从 Google 在 2018 年推出 Jetpack 之后,它就成为了 Android 未来发展的指向标. 作为一名安卓工程师,我们以前会经常吐槽Android碎 ...

  9. 守护线程_daemon

    守护线程_daemon 线程分为用户线程和守护线程 虚拟机必须确保用户线程(main)执行完毕 虚拟机不用等待守护线程(gc)执行完毕 如:后台记录操作日志,监控内存,垃圾回收等等 测试案例: pac ...

  10. JavaGUI画笔工具的使用

    JavaGUI画笔工具的使用 package GUI; import java.awt.*; public class TestPaint { public static void main(Stri ...