基于Linux系统的网络服务——高速缓存DNS及企业级域名解析服务
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及企业级域名解析服务的更多相关文章
- Linux 系统的网络基础_【all】
网络基础 1.网线:568B: 白橙 橙色 白绿 蓝色 白蓝 绿色 白棕 棕色 2.交换机:电信号转发的网络设备,它可以为接入交换机的任2个网络节点设备提供电信号通信 3.路由器:连接局域网,广域网的 ...
- Linux系统基本网络配置之ifconfig命令
Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...
- (转)Linux系统基础网络配置老鸟精华篇
Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...
- 基于Linux系统的Nagios网络管理模块的实现
基于Linux 系统的Nagios网络管理模块的实现 1.引言 随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一.在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境.计算机网络管理 ...
- Linux系统之网络相关的命令
Linux系统之网络相关的命令 网络概述 网络:通过通信介质和通信设备 将分布不同地点的两台或多台计算机,经过相应的程序实现通信switch 交换机router 路由器网络的功能:数据通信:利用网络传 ...
- 如何配置Linux系统的网络IP地址
一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...
- Linux系统NFS网络文件系统
Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...
- 基于Linux的TCP网络聊天室
1.实验项目名称:基于Linux的TCP网络聊天室 2.实验目的:通过TCP完成多用户群聊和私聊功能. 3.实验过程: 通过socket建立用户连接并传送用户输入的信息,分别来写客户端和服务器端,利用 ...
- CentOS(六)--Linux系统的网络环境配置
Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...
随机推荐
- 在Windows7/8/10 64位操作系统下安装并注册ocx控件
例如: 先网上下载一个MtbLine.ocx控件放入C:\Windows\SysWOW64\目录下 1.首先确保你的 Windows7 账户是管理员权限 2.下载MtbLine.ocx控件,网上可搜到 ...
- Python基础之用PyQt5写一个tabview
前面学习了menu的画图,现在学习tabview的画图,关于怎么打开designer.exe部分就不详细介绍了. 第一步:拖动一个Tab Widget控件到窗口去. 将控件拖上去之后就是这个样子,默认 ...
- Hadoop 3.1.1 - Yarn 服务 - 总览
YARN 服务 总览 Yarn 服务框架为在 Yarn 原生环境里长时间运行的服务,提供了一流的支持和接口.简言之,它扮演了容器编排系统的角色,统一管理 Yarn 上运行的容器化服务.它同时支持 Do ...
- Hadoop 3.1.1 - 概述 - 集群安装
Hadoop 集群安装 目标 本文描述了如何从少数节点到包含上千节点的大规模集群上安装和配置 Hadoop 集群.如果只是为了尝试,你可以先从单台机器上安装开始(参阅单节点安装). 本文并不包含诸如安 ...
- DC-1 靶机渗透测试
DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...
- Spring Boot从入门到精通(十一)集成Swagger框架,实现自动生成接口文档
Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.Swagger 是一组开源项目,其中主要要项目如下: Swagger-tools:提供各种与S ...
- Solon 1.5.22 发布
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...
- Java面向对象14——接口
接口 package oop.demon01.demon09; //抽象思维~Java //interface 定义的关键字 , 接口都需要有实现类 public interface Use ...
- 20分钟掌握Android Gradle
目前国内对Android领域的探索已经越来越深,不少技术领域如插件化.热修复.构建系统等都对Gradle有迫切的需求,不懂Gradle将无法完成上述事情.所以Gradle必须要学习. Gradle 里 ...
- 第3篇-CallStub新栈帧的创建
在前一篇文章 第2篇-JVM虚拟机这样来调用Java主类的main()方法 中我们介绍了在call_helper()函数中通过函数指针的方式调用了一个函数,如下: StubRoutines::cal ...