如何利用Linux构建免费的缓存DNS服务器
 
实验背景:
      小诺公司目前的网络环境是所有用户都可以上外网,而且使用的DNS是通过DHCP服务器获取得到的,DHCP服务器上填写的DNS地址为公网上一台注册的DNS服务器。而小诺公司并没有搭建DNS服务器。随着业务的增加,小诺公司员工上网的频率越来越大,由于域名解析的问题经常造成网络的拥塞,而且经常有员工抱怨浏览的网页在工作期间(浏览高峰期)总是超时。现在公司要求使用Linux搭建一台缓存型DNS服务器,将员工经常浏览的网站和对应的IP地址缓存到本地DNS服务器上,当员工再次访问访问过的网站时,只需要在本地缓存DNS服务器上进行域名解析,从而降低了网络拥塞问题。
安装缓存型DNS并不需要在公网上进行注册,只对用户查询过的域名解析记录进行缓存,当用户首次进行某域名的查询时,缓存服务器将向其他DNS服务器进行域名查询并将查询结果保存在缓存中。缓存服务器大大提高了常用域名的查询速度,因此特别适合于在局域网内部使用,其主要目的是提高域名解析的速度和节约对互联网访问的出口带宽。
 
实验步骤:
 
一、 安装域名服务(BIND服务器软件包)
       BIND软件包是目前Linux下使用最广泛的DNS服务器安装包,它可以运行到大多数UNIX服务器中,也包括Linux系统。RHEL4默认没有安装BIND服务器软件包,而只安装了名为bind-libs和bind-utils的两个域名解析相关的软件包,bind-libs软件中提供了实现域名解析功能必备的库文件,bing-utils中提供了对DNS服务器的测试工具程序。
 
RHEL4系统中提供了RPM格式的BIND服务器软件包,位于第4章光盘中,安装文件的名称是bind-9.2.4-2.i386.rpm。由于没有默认进行安装,需要管理员使用rpm命令进行手动安装。
 
BIND服务器的服务程序(脚本)名称是named,该服务程序在BIND服务器安装后默认不自动启动,需要使用chkconfig命令进行手动设置在运行级别3和5的启动状态。
 
BIND服务器的主配置文件是named.conf,保存在“/etc”目录中,该文件是安装bind软件包时生成的,而不是包括在该软件包中的。
 
BIND服务器中的域名区域文件需要保存在工作目录“/var/named/”中,bind软件包安装后,该目录包括两个空的子目录,管理员需要在该目录中保存DNS服务器的区域文件。目录data中保存所有主区域文件的数据库,slaves中保存所有从主DNS复制过来的区域文件,而且默认为只读。
 
 
二、 安装caching-nameserver软件包
RHEL4系统为配置缓存域名服务器专门提供了名为caching-nameserver的软件包,该软件包保存在第一张安装光盘中,系统默认没有安装,需要使用rpm命令进行手动安装。
 
安装完成之后,caching-nameserver将对BIND服务器的配置文件named.conf的内容进行更改,原有文件中的内容被保存在文件“/etc/named.conf.rpmorig”中。
 
 
三、 分析配置文件named.conf
 
1、named.conf中的全局设置
directory用于设置BIND服务器的工作目录,即域名区域文件保存的目录,设置的默认值为“/var/named”。
dump-file用于设置域名缓存文件的保存位置和文件名。
 
2、根区域设置及根区域文件
根区域是互联网中所有域名的开始,使用句号(.)表示,缓存服务器只有能够访问DNS根服务器才能提供正常的域名解析服务。配置信息如下:
type设置为hint表示该区域的类型是根区域。
file用于设置区域文件,根区域文件的名称是name.ca,该文件保存在BIND的工作目录中,即“/var/named”目录中。
name.ca文件中包括了全世界范围内互联网使用的所有DNS根服务器的地址解析信息,是由互联网管理机构统一发布的,因此不需要用户更改其中的内容。
 
所有配置的区域文件都保存在“/var/named/”中
 
name.ca文件去除注释行后的内容和形式如下所示:
显示的全国13台根DNS服务器的IP地址以及对应的域名。
 
3、localhos正向解析
Localhost区域的作用是对主机名称localhost和回环地址127.0.0.1之间进行解析,代表本机,可作本机的网卡测试用。使用的参数含义如下:
type master 表示该区域的类型为主服务器。
file设置localhost域的区域文件名为localhost.zone
 
localhost.zone区域文件为localhost.zone,可以查看到一条A记录对应127.0.0.1。
 
4、localhos的反向解析文件
在DNS区域中,每个区域的正向解析必然有对应的反向解析区域,反向解析区域的作用是将IP地址转换为对应的域名。
内容如下:
Localhost的反向解析区域的名称是0.0.127.in-addr.arpa,名称后缀为“.in-addr.arpa”的区域都是反向解析区域,名称中0.0.127是IP地址127.0.0的倒置,这样的反向解析区域名称是named.conf配置文件中的约定。
 
0.0.127.in-addr.arpa区域的类型是master,即主服务器。区域文件的名称是named.local,该区域文件具有如下内容:
在named.local区域文件中使用下面的记录设置了IP地址127.0.0.1对应的主机域名为localhost。
 
 
四、 缓存域名服务器的启动和测试
缓存域名服务器在安装caching-nameserver软件包不需要任何其它的配置就可以启动运行,只要这台DNS服务器能够访问公网就可以了,使用的是那十三台根服务器,通过迭代的方式进行域名查询。
 
启动named服务器。
 
测试缓存域名服务器,测试localhost的正向解析和127.0.0.1的反向解析。如果能够上公网也可以测试网络上某一域名的正向解析和反向解析。

如何利用Linux构建免费的缓存DNS服务器相关推荐

  1. Linux中怎么搭建主DNS、辅助DNS、缓存DNS服务器

    文章目录 Linux中怎么搭建主DNS.辅助DNS.缓存DNS服务器 一.认识DNS: 1.DNS概述: 2.DNS查询过程: 3.DNS常见名词: 二.DNS配置: 三.搭建DNS服务器: 搭建we ...

  2. 基于Centos7.2的自选域名配置实现正向和反向解析以及部署并测试缓存DNS服务器

    自选域名配置实现正向和反向解析 (注:下文中 IP 192.168.200.101为我的虚拟机IP,涉及上述"192.168.200.101"以及"192.168.200 ...

  3. Linux下的主辅DNS服务器同步

    Linux下的主辅DNS服务器同步 一.系统环境介绍 二.辅助DNS搭建 1.安装yum包 2.设置服务自启 3.编辑dns主配置文件 4.编辑区域文件 5.配置正向文件 6.配置反向文件 7.重启服 ...

  4. 惟缓存DNS服务器与备用DNS服务器配置

    一.惟缓存DNS服务器 事先准备:两台纯净虚拟机(以下简称虚拟机A与虚拟机B),一台真机 配置静态IP:给两台虚拟机都分配到同一vmnet,同一网段 虚拟机A为192.168.1.1 虚拟机B为192 ...

  5. RHCE--Linux中搭建主DNS、正反批量解析、区域传送、辅DNS、缓存DNS服务器

    文章目录 DNS的概念 DNS域名解析全过程 因特网的域名结构 DNS中的七大资源记录 1.A记录 格式:完整主机名(FQDN) IN A IP地址 2.NS记录 格式:区域名 IN NS 完整主机名 ...

  6. Linux环境下搭建主从DNS服务器

    2017年09月21日 23:33:04 张应明 阅读数 2075 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhangym199312/art ...

  7. linux shell dig nslookup 指定dns服务器 查询域名解析

    一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手. 如果是在linux下的话,只要装上dnsutils这个包就可以使用dig命令, 安装bin ...

  8. linux mysql dns_Linux下搭建DNS服务器及踩坑

    DNS服务 域名系统(DNS)是建立在分布式数据库上的分层命名系统.该系统将域名转换为IP地址,并可以将域名分配给Internet组资源和用户,无论实体的物理位置如何. 说白了就是:域名与IP之间的相 ...

  9. linux dns中文域名,Linux 搭建中文域名的DNS服务器

    配置之前先来解释一下中文域名是如何工作的: 当我们在浏览器上输入 朝阳.北京.中国 这个域名的时候 浏览器会把中文域名翻译成Punycode编码然后再 传送给DNS服务器解析,例如 朝阳.北京.中国 ...

最新文章

  1. 并发编程-05线程安全性之原子性【锁之synchronized】
  2. 配置oracle驱动_Myeclipse中添加Oracle
  3. 计算机主机声音怎么办,电脑主机声音大怎么解决 电脑主机嗡嗡响是怎么回事...
  4. Qt学习笔记-服务器端获取UDP封包源IP地址
  5. Mybatis逆向工程(生成实体类)开发指南
  6. 整数、区间与区间端点
  7. java 顺序表的实现_顺序表的简单实现(Java)
  8. Java - 生成健康证图片,各种模板图片
  9. kux格式怎么转换 kux完美转换成MP3音频的技巧分享
  10. python 方向盘_码农:科目二(可以摸方向盘了)
  11. 3D游戏里的男女性角色模型是这样建模出来的
  12. 呼叫中心系统对接开发-网关和中继的对接
  13. 水务综合运营管理系统
  14. win10双显示器 鼠标移动总感觉到另一屏困难
  15. 【web】【django】datatable的button扩展实现纯前端下载和copy指定列内容,以及django的HTTPResponse实现下载功能
  16. linux qq java_Java实现QQ登陆界面
  17. 微信小程序几个空判断整理
  18. java封装继承多态的理解_用最傻瓜式的方法理解Java中的封装、继承和多态
  19. 主题:基于改进粒子群算法的含源配电网静态重构 利用IEEE-33节点系统进行仿真计算
  20. 微波辐射数据读取与处理

热门文章

  1. 实验室信息管理系统(LIMS)的应用流程
  2. 做一场虚拟直播要准备哪些主要设备?
  3. 【TS】10 多个 TypeScript 高级用法总结
  4. 数据中心机房建设中的设计配合
  5. vue3+Ts使用pinia(vue-lic搭建项目)
  6. 应用交付网络(Application Delivery Network,ADN)详解
  7. 汇编中AREA指令的使用
  8. 腾讯云GPU服务器部署Ai绘画Stable Diffusion 小白可用
  9. 超详细C语言版数据结构:图的深度优先遍历(推荐收藏)
  10. Android状态栏--实现状态栏全透明