基于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系统下网络环境配置的方法! 在配置网络环境之前,首 ...
随机推荐
- 用好Git stash,助你事半功倍
git stash: 用法:git stash list [<选项>] 或:git stash show [<选项>] [<stash>] 或:git stash ...
- MySQL中特别实用的几种SQL语句【转】
一.插入或替换 如果我们想插入一条新记录(INSERT),但如果记录已经存在,就先删除原记录,再插入新记录. 情景示例:这张表存的每个客户最近一次交易订单信息,要求保证单个用户数据不重复录入,且执行效 ...
- 【Web动画】科技感十足的暗黑字符雨动画
本文将使用纯 CSS,带大家一步一步实现一个这样的科幻字符跳动背景动画.类似于这样的字符雨动画: 或者是类似于这样的: 运用在一些类似科技主题的背景之上,非常的添彩. 文字的竖排 首先第一步,就是需要 ...
- Java的equsals和==
先上结论:在我们常用的类中equals被重写后,作用就是为了比较对象的内容,==是比较对象的内存地址.但并不能说所有的equals方法就是比较对象的内容. Java 中的==: 1.对于对象引用类型: ...
- 月薪20k+的Android面试都问些什么?(含答案)
金九银十跳槽季接近尾声了,可是今年由于疫情的影响仍然不太好找工作,相信大家肯定急需一套Android面试宝典,下面就分享给大家我珍藏已久的Android高阶面试宝典,供大家学习 ! 1.自定义Hand ...
- 说实话,Android开发月薪3W,谁不酸呢?
近期有个网友在某匿名区晒字节跳动Offfer,毕业一年月薪3W,引发众多读者羡慕,纷纷留言酸了.酸了.但进大厂的要求还是蛮高的,需要在技术实力上有一定的积累,今天给大家分享一份高质量笔记, 助力大家技 ...
- Terracotta 2.7.2 Admin Console Guide
http://www.terracotta.org/confluence/display/docs27/Admin+Console+Guide#AdminConsoleGuide-Roots
- 关于Algorithm in Nutshell源代码
获取源码包 "Algorithm in Nutshell"的源码包ADK-1.0.zip在这本书主页上"Download Example Code"页面的Rel ...
- ES6继承和ES5继承是完全一样的么?
继承方式 ES5 prototype 继承 通过原型链(构造函数 + [[prototype]])指向实现继承. (备注:后续__proto__我都会写成[[prototype]]这种形式) 子类的 ...
- git config 配置简写命令
在多人协作开发时,一般用git来进行代码管理. git有一些命令如:git pull . git push等等,这些命令可以设置alias,也就是缩写. 如:git pull 是 git pl, gi ...