经常上网的朋友可能经常去新浪、搜狐等大型网站,只需要在浏览器输入它们的网址即可实现访问,看似非常简单,但是从技术层面来讲,却包含了一个复杂的过程:在访问网页的时候,首先在浏览器输入网站域名,接着浏览器会根据本机DNS服务器的设置将输入的网站域名转换为对应的IP地址,然后才去这个IP对应的服务器上请求数据,最后将请求得到的数据通过浏览器显示出来。这个过程最主要的一个环节就是从域名到IP地址的转换,而这个工作就是靠DNS服务器实现的。

一、 DNS服务概述

DNS是Domain Name System的缩写,即域名系统,DNS服务主要的功能是将域名转换为相应的IP地址,提供DNS服务的系统就是DNS服务器。

DNS服务器可以分为3种,主域名服务器(Master DNS)、辅助域名服务器(Slave DNS)和高速缓存服务器(Cache-only server)。

Master DNS,本身提供dns服务,并且本身含有区域数据文件。

Slave DNS,和Master一起提供dns服务,当Master服务器上的配置信息修改的时候,会自动更新到Slave服务器达到同步。

Cache-only server,没有自己的区域数据文件,只是帮助客户端向外部dns请求查询,然后将查到的结果保存到它的缓存中。

在linux系统下DNS服务的功能是通过bind软件实现的,几乎每个linux发行版都自带了这个DNS服务软件,下面将具体讲述DNS服务的安装、配置与使用。

二、 DNS服务的搭建

这里我们的讲述环境为:

操作系统:Red Hat Enterprise Linux Server release 5

bind软件版本:系统自带bind-9.3.4

1. 安装bind软件

Rhel5系统下安装bind需要同时安装bind-utils、bind-chroot、ypbind、bind-libs、caching-nameserver几个支持bind的软件包。检查系统是否正确安装了bind软件,执行如下命令:

[root@localhost ~]# rpm -qa |grep bind

bind-libs-9.3.4-6.0.2.P1.el5_2

bind-utils-9.3.4-6.0.2.P1.el5_2

bind-chroot-9.3.4-6.0.2.P1.el5_2

ypbind-1.19-8.el5

bind-9.3.4-6.0.2.P1.el5_2

[root@localhost ~]# rpm -qa |grep caching-nameserver

caching-nameserver-9.3.4-6.0.2.P1.el5_2

上面的几个软件包都可以从系统安装光盘找到,如果没有安装或者缺少某些包,请自行通过rpm方式进行安装,这里不在过多讲述。

如果你的系统支持yum方式自动升级,只需执行如下命令即可自动完成安装:

[root@localhost ~]#yum install bind caching-nameserver

2.配置DNS服务

Bind软件在rhel 5版本中使用了chroot技术,与其它linux版本下的配置不尽相同,例如没有DNS服务的核心配置文件named.conf以及任何区域数据文件,安装程序的路径也与其它版本不同。不过这些并不影响我们对DNS的配置,下面首先讲述bind在rhel5下的安装目录结构。

Bind安装完毕,主程序目录默认为/var/named,由于rhel5下的bind默认安装后没有named.conf文件,而我们在上面安装了caching-nameserver包,这个包提供了rhel5下bind的初始化模板文件,所以/var/named/chroot/etc是DNS的核心配置文件目录,/var/named/chroot/var/named目录则是系统自带的区域数据文件及自己建立的区域数据文件的位置。

(1)named.conf文件详解

这里我们通过系统提供给bind的初始化模板文件构造出named.conf文件来。

[root@localhost ~]#cd /var/named/chroot/etc

[root@localhost etc]# cp named.rfc1912.zones named.conf

[root@localhost etc]#chown root:named named.conf

在这里,我们通过拷贝named.rfc1912.zones文件构造出了named.conf主配置文件。然后将named.conf的权限设置为root:named,注意,这个授权很重要,要不然DNS无法正常工作。

[root@localhost ~]#vi /var/named/chroot/etc/named.conf

// named.rfc1912.zones:

// Provided by Red Hat caching-nameserver package

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// See /usr/share/doc/bind*/sample/ for example named configuration files.

在named.conf配置文件中主要使用“//”和“/* */”来进行注释。

options {

directory "/var/named";

};

上面这段通过OPTIONS选项定义了一些影响整个DNS服务器的环境设置,directory选项指定named从/var/named目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下。

zone "ixdba.net" IN {

type master;

file "ixdba.net";

allow-update { none; };

};

上面这段设置是用zone关键字来定义一个正向域区,对应的域名分别为ixdba.net,一个zone关键字定义一个域区。在这里type类型有三种,它们分别是master,slave和hint,它们的含义分别是:

 Master:表示定义的是主域名服务器。

 slave:表示定义的是辅助域名服务器。

 hint:表示是互联网中根域名服务器。

file用来指定存放DNS记录的文件,allow-update定义是否允许客户主机或服务器自行更新DNS记录,上面指定的这个正向区域不允许更新DNS记录。

zone "60.168.192.in-addr.arpa" IN {

type master;

file "60.168.192.zone";

allow-update { none; };

};

上面这段设置是定义一个IP为192.168.60.*的反向区域。

(2)区域数据文件的设定

在/var/named/chroot/var/named目录下,我们定义出上面指定的几个区域数据文件。

[root@localhost ~]#cd /var/named/chroot/var/named

[root@localhost named]#cp localhost.zone ixdba.net

[root@localhost named]#cp named.local 60.168.192.zone

[root@localhost named]#chown root:named ixdba.net 60.168.192.zone

下面我们分析下正向区域数据文件的格式和含义,主要看下我们已经设定好的ixdba.net区域数据文件:

[root@localhost named]#more /var/named/chroot/var/named/ixdba.net

自己电脑当linux服务器,在Linux下轻松搭建自己的DNS服务器相关推荐

  1. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  2. 轻松搭建一个Windows SVN服务器

    轻松搭建一个Windows SVN服务器 前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个 ...

  3. 一分钟快速搭建Windows防污染DNS服务器——Pcap_DNSProxy

    最近在G+上无意发现一个一个好东西--Pcap_DNSProxy,这是一个运行在Windows上的DNS服务程序,主要功能是防止DNS污染.以前我都是在linux系统上使用Pdnsd搭建防污染的DNS ...

  4. 终端dns服务器,如何使用终端在Mac上更改DNS服务器 | MOS86

    您可以随时使用系统网络首选项面板来更改Mac上的DNS服务器,一些极客们更愿意使用终端来完成工作.使用终端更改DNS服务器具有其优点,就像它允许您使用SSH远程访问DNS服务器,并且甚至在GUI在您的 ...

  5. Linux实训项目——第十一章:基础DNS服务器与主从同步

    域名系统(DNS)的起源与发展.原理及解析流程 BIND是什么 WHO WHEN WHAT WHY WHERE HOW BUT 实训目的 1.掌握LINUX系统下主DNS服务器的配置 2.掌握LINU ...

  6. linux的unbond服务无法启动,用unbound搭建简单的DNS服务器

    unbound是一款相对简单的DNS服务软件,相对于bind9的复杂配置,更适合新手搭建DNS服务器使用. 话不多说,下面介绍一下unbound的配置. 截止笔者写这篇文章时,unbound已经更新到 ...

  7. 网吧cf正在连接服务器,windows10系统下运行cf游戏提示连接服务器失败怎么解决...

    最近有windows10系统用户到本站反馈说碰到这样一个情况,就是在运行cf游戏的时候,提示连接服务器失败,导致无法运行cf游戏,该怎么解决这样的问题呢?现在就给大家讲解一下windows10系统下运 ...

  8. 指定dns加密服务器,[教程] Windows下部署dnscrypt-proxy服务加密DNS请求

    什么是加密DNS?为什么要使用加密DNS? 由于国内运营商网络的问题,很多宽带自带的DNS存在劫持问题,甚至某些宽带存在劫持53端口,直接强制使用运营商DNS.这就有可能会造成DNS解析结果的异常或者 ...

  9. jsp+php 服务器环境,Windows下Apache+Tomcat+jsp+php的服务器整合配置

    具体配置参照 Windows下Apache+Tomcat+jsp+php的服务器整合配置出现Service Unavailable错误 Service Unavailable The server i ...

  10. 如何在win7建网站服务器,win7系统下利用iis如何进行web服务器搭建

    众所周知,web服务器主要功能是提供网上信息浏览服务,实现资源共享,同时还可以借助于局域网服务器访问页面可以有效的实现信息的同步,还可以随时随地将自己的信息上传到服务器端,但是,要如何实现web服务器 ...

最新文章

  1. please get a license from www.texturepacker.com
  2. swagger 怎么去掉get delete_自学 Java 怎么入门?
  3. 战斗机各种世界之最,涨知识了。。。
  4. 改变centos系统的时区
  5. 伪静态php空间,Win空间上如何实现WordPress博客的完美伪静态
  6. mongoDB's Optimization example
  7. 【Python脚本进阶】2.4、conficker蠕虫(中):Python脚本与Metasploit交互
  8. HTML YouTube 视频
  9. 卷尺精度标准_钢卷尺精度等级介绍
  10. 借东风拉马力,龙头券商东方财富发展持续向好
  11. 如何将文件打包到jar包里面
  12. 微信群发消息注意事项
  13. VNC桌面无法打开终端:Failed to execute default Terminal Emulator. Input/output error.
  14. quartus linux 安装教程,在Linux下安装Quartus II
  15. 警示灯E-mark认证要怎么办理?
  16. java模拟器ios版安装失败,iOS 在模拟器上安装 Debug 调试包(.app)
  17. python如何不以科学计数法形式输出小数
  18. spool模式导出数据库指定表的数据到Excel
  19. 一些工具 covim, Topcoat, Runscope, Ghost
  20. 网络与验证服务器失联怎样修复,GCP用一键服务器失联了,如何重装系统?

热门文章

  1. 【C语言工具】AddressSanitizer - 内存检测工具
  2. MyBatis学习(三)--MyBatis配置文件简介
  3. 信息安全之程序实现简单替换加密,并用字母频率统计进行破解
  4. 【ZZ】神与学霸的区别
  5. 熟悉常规B/S、C/S系统开发实现原理
  6. 和别人老公上床后的感觉~
  7. 孙鑫VC学习笔记:第二讲 掌握C++
  8. python货币转化为资本的前提_深度剖析比特币背后的技术细节
  9. k-近邻算法 ---sklearn
  10. php服务器启动错误,服务器意外重启之后PHP-FPM不能启动