centos怎么打开centos dns服务器配置

你的位置: >
> DNS服务器原理详解与Centos6.x下搭建DNS服务器【原创】
DNS 数据库的记录:正解,反解, Zone 的意义
通过这篇文章,我们知道了要想访问,最重要的就是 .这部DNS服务器内记录的信息了。这些记录的文件,我们可以称之为数据库,而在数据库里面针对每个要解析的领域(domain,如 .com, .cn, .org, .),就称为一个区域(zone)。有从主机名查询到IP的方式,也有从IP反查到主机名的方式,因此:
从主机名查询到IP和方式,称为:正解;
从IP反解析到主机名的方式,称为:反解;
不管是正解还是反解,每个领域的记录就是一个zone(区域)
正解的设定权以及 DNS 正解 zone 记录的标志
谁可以申请正解的 DNS 服务器架设权呢?答案是:都可以!只要该领域没有人使用, 你先抢到, 就能够使用了。 不过, 因为国际 INTERNIC 已经定义出 gTLD 以及 ccTLD 了,所以你不能自定义例如 sun.zmit这种网域的!还是要符合上层DNS 所给予的领域范围才行。像比较新的 *.xyz,和 *.我爱你 这样的领域名。
正解文件的zone里主要记录了哪些信息,因为正解的重点在于由主机名查询到IP,而且每部 DNS 服务器还是得要定义清楚,同时,你可能还需要架设master/slave 架构的 DNS 环境,因此,正解 zone 通常具有以下几种标志:
SOA:开始验证 (Start of Authority);
NS:名称服务器 (NameServer),后面记录的数据是 DNS 服务器的意思;
A:地址 (Address),后面记录的是 IP 的对应 (最重要)。
反解的设定权以及 DNS 反解 zone 记录的标志
正解的领域名只要符合 INTERNIC 及你的 ISP 规范即可,取得授权较为简单,自己取名字。那反解呢?反解主要是由 IP 找到主机名,因此重点是 IP 的所有人是谁。因为 IP 都是 INTERNIC 发放给各家 ISP 的,而且因路由问题,IP不能乱设定,所以,能够设定反解的就只有 IP 的拥有人,亦即你的 ISP 才有权力设定反解的。那你向 ISP 取得的 IP 能不能自己设定反解呢?答案是不行!除非你取
得的是整个 class C 以上等级的 IP 网段,那你的 ISP 才有可能给你 IP 反解授权。否则,若有反解的需求,就得要向你的直属上层 ISP 申请才行!
那么反解的 zone 主要记录的信息有哪些呢,除了服务器必备的 NS 以及 SOA 之外,最重要的就是:
PTR:指向 (PoinTeR) ,后面记录的数据就是反解到主机名
每部 DNS 都需要的正解 zone: hint
现在我们知道一个正解或一个反解就可以称为一个 zone 了,那么有没有哪个 zone是特别重要的呢?有的,那就是 .
,当 DNS 服务
器在自己的数据库找不到所需的信息时, 一定会去找 . ,那 . 在什么地方呢,所以就得要有记录 . 位置的 zone 才行,这个记录 . 的 zone 的类型,就被我们称为hint 类型,这几乎是每个 DNS 服务器都得要知道的 zone。
一部简单的正解 DNS 服务器,基本上就要有两个 zone 才行,一个是hint ,一个是关于自己领域的正解 zone。以为例,DNS 服务器内,至少就要有这两个 zone:
hint (root):记录 . 的 zone;
<:记录 .这个正解的zone。
Client 端的配置
从的文章中,我们了解到主机名对应到IP有两种方法, 早期的方法是直接写在档案里面来对应, 后来比较新的方法则是透过 DNS 架构。下面来分析两种方法和对应的配置文件:
/etc/hosts :这个是最早的 hostname 对应 IP 的档案;
/etc/resolv.conf :这个就是 ISP 的 DNS 服务器 IP 记录处;
/etc/nsswitch.conf:这个档案则是决定先要使用 /etc/hosts ,还是/etc/resolv.conf 的设定。
一般而言, Linux 的预设主机名与 IP 的对应搜寻都以 /etc/hosts 为优先。查看 /etc/nsswitch.conf ,并找到 hosts 的项目:
[Sun@localhost ~]$ sudo vim /etc/nsswitch.conf
上面那个 files 就是使用 /etc/hosts,而最后的 dns 则是使用 /etc/resolv.conf 的 DNS 服务器来进行搜寻。因此,会先以/etc/hosts 来设定 IP 对应,当然,你也可以将他调换过来,不过,总是 /etc/hosts 比较简单,所以将他摆在前面比较好。
配置/etc/resolv.conf
[Sun@localhost ~]$ sudo vim /etc/resolv.conf
DNS 服务器的 IP 可以设定多个, 因为,照设定的顺序,当第一部 DNS 114.114.114.114(国内)挂点时,我们客户端可以使用第二部 8.8.8.8(国外)来进行查询。 通常建议至少填写两部 DNS 服务器的 IP,不过在网络正常使用的情况下,永远只有第一部 DNS 服务器会被使用来查询,其他的设定值只是在第一部出问题时才会被使用。
1.尽量不要设定超过 3 部以上的 DNS IP 在 /etc/resolv.conf 中,因为如果是你的区网出问题, 导致无法联机到 DNS 服务器, 那么你的主机还是会向每部 DNS 服务器发出联机要求,每次联机都有timeout 时间的等待,会导致浪费非常多的时间。
2.如果使用 DHCP 取得 IP,当我们修改过 /etc/resolv.conf之后,隔不多久这个档案又会恢复成原本的样子。因为在使用DHCP 时, 系统会主动的使用 DHCP 服务器传来的数据进行系统配置文件的修订。因此,必须告知系统,不要使用 DHCP 传来的服务器设定值。此时,我们要在 /etc/sysconfig/network-scripts/ifcfg-eth0 文档内增加一行:PEERDNS=no,然后重新启动网络即可。
DNS 服务器的软件、种类与 cache only DNS 服务器搭建设定
安装搭建DNS服务器所需软件
搭建DNS服务器,就需要柏克莱大学发展出来的BIND (Berkeley Internet Name Domain)软件。可通过yum来安装:
[Sun@localhost ~]$ sudo yum install bind bind-libs bind-utils bind-chroot
上面比较重要的是那个 bind-chroot ,所谓的 chroot 代表的是“change toroot(根目录) ”的意思,root 代表的是根目录。早期的 bind 默认将程序启动在/var/named 当中,但是该程序可以在根目录下的其他目录到处转移,因此若 bind 的程序有问题时,则该程序会造成整个系统的危害。为避免这个问题, 所以我们将某个目录指定为 bind 程序的根目录,由于已经是根目录,所以 bind 便不能离开该目录,所以若该程序被攻击,最多也是在某个特定目录底下被破坏而已。 CentOS 6.x 默认将 bind 锁在 /var/named/chroot 目录中。
我们主程序是由 bind, bind-chroot 所提供,每部 DNS 服务器都要有的 . (root) 这个 zone 文件也是由 bind 所提供的。 CentOS4.x, 5.x 所提供的 caching-nameserver 软件并不存在 CentOS 6.x 当中了,已经被涵盖于 bind 软件内。
BIND 的默认路径设定与 chroot
要架设好 BIND 基本有两个主要的数据要处理:
BIND 本身的配置文件:主要规范主机的设定、zone 文档的所在、权限的设定等;
正反解数据库档案 (zone file):记录主机名与 IP 对应的等。
BIND 的配置文件为 /etc/named.conf,在这个档案里面可以规范 zone file 的完整档名,你的 zone file 其实是由 /etc/named.conf 所指定的,所以zone file 档名可以随便取,只要 /etc/named.conf 内规范为正确即可。 一般来说,CentOS 6.x 的默认目录是这样的:
/etc/named.conf :是我们的主配置文件
/etc/sysconfig/named :是否启动 chroot 及额外的参数,就由这个档案控制;
/var/named/ :数据库档案默认放置在这个目录
/var/run/named : named 这支程序执行时默认放置 pid-file 在此目录内。
/etc/sysconfig/named 与 chroot 环境
为了系统的安全性考虑,一般来说目前各主要发行版本都已经自动的将你的 bind 相关程序给他 chroot, chroot 所指定的目录记录在 /etc/sysconfig/named 里面。
[Sun@localhost ~]$ sudo vim /etc/sysconfig/named
这一行,意思是说:&#8221;我要将 named 给他chroot ,并且变更的根目录为 /var/named/chroot&#8221;,由于根目录已经被变更到/var/named/chroot 了,但 bind 的相关程序是需要 /etc, /var/named, /var/run &#8230;等目录的,所以实际上咱们 bind 的相关程序所需要的所有数据会是在:
/var/named/chroot/etc/named.conf
/var/named/chroot/var/named/zone_file1
/var/named/chroot/var/named/zone_file&#8230;..
/var/named/chroot/var/run/named/&#8230;
因为新版本的 CentOS 6.x 已经将 chroot 所需要使用到的目录,透过 mount &#8211;bind 的功能进行目录链接了。比如,我们需要的 /var/named 在启动脚本中透过mount &#8211;bind /var/named /var/named/chroot/var/named 进行目录绑定了。所以,在CentOS 6.x 当中,我们根本无须切换至 /var/named/chroot/ ,使用正规的目录即可。
cache only DNS 服务器与 forwarding 功能
有个只需要 . 这个 zone file 的简单 DNS 服务器,我们称这种没有自己公开的DNS 数据库的服务器为 cache only DNS server。顾名思义,这个 DNS server只有cache搜寻结果的功能,也就是说,他本身并没有主机名与 IP 正反解的配置文件,完全是由对外的查询来提供他的数据源。
那如果连 . 都不要,那就得要指定一个上层 DNS 服务器作为你的forwarding (转递) 目标,将原本自己要往 . 查询的任务,丢给上层 DNS 服务器去烦恼即可。这样,我们这部具有 forwarding 功能的 DNS 服务器,甚至连 . 都不需要了。因为, . 有记录在上层 DNS 里。
如同刚刚提到的,cache only 的 DNS 并不存在数据库, 因此不论是谁来查询数据,这部 DNS 一律开始从自己的cache以及 . 找起,整个流程与这篇文章所描述的相同。那如果具有 forwarding 功能呢?那即使你的 DNS 具有 . 这个 zone file,这部 DNS 还是会将查询权请上层 DNS 查询的,这部 DNS 服务器当场变成客户端。查询流程会变这样:
通过上图我们了解到,具有 forwarding 机制时,查询权会委请上层DNS 服务器来处理,所以根本也不需要 . 这个位置所在的 zone 。一般来说,如果你的环境需要架设一个 cache only 的 DNS 服务器时, 其实可以直接加上 forwarding的机制,让查询权指向上层或者是流量较大的上层 DNS 服务器即可。
本文永久地址:
,转载时请注明出处及相应链接。
正式搭建cache only DNS server
不需要设定正反解的 zone ,只需要 . 的 zone 支持,所以只要设定一个档案 ,就是 named.conf 主配置文件。另外,cache only 只要加上个 forwarders 的设定即可指定 forwarding 的数据。
1.编辑主要配置文件: /etc/named.conf
虽然我们具有 chroot 的环境,不过由于 CentOS 6.x 已经透过启动脚本帮我们进行档案与目录的挂载链接,所以直接修改 /etc/named.conf ,不用再去 /var/named/chroot/etc/named.conf 修改。在这个档案中,主要是定义跟服务器环境有关的设定, 以及各个 zone 的领域及数据库所在文件名。 因为使用了 forwarding 的机制,所以这个 cache only DNS 服务器并没有 zone,所以我们只要设定好跟服务器有关的设定即可。
[root@localhost ~]# vim /etc/named.conf
listen-on port 53 { };
监听在这部主机系统上面的哪个网络接口。预设是监听在 localhost, 亦即只有本机可以对 DNS 服务进行查询,那当然是很不合理。 所以这里要将大括号内的数据改写成 any。 记得, 因为可以监听多个接口, 因此 any后面得要加上分号才算结束。另外, 这个项目如果忘记写也没有关系,因为默认是对整个主机系统的所有接口进行监听的。
directory &#8220;/var/named&#8221;;
意思是说,如果此档案底下有规范到正、反解的 zone file 档名时,该档名预设应该放置在哪个目录底下的意思。预设放置到 /var/named/ 底下。由于 chroot 的关系,最终这些数据库档案会被主动链接到/var/named/chroot/var/named/ 这个目录。
dump-file, statistics-file, memstatistics-file
与 named 这个服务有关的许多统计信息,如果想要输出成为档案的话,预设的档名就如上所述。
allow-query { };
这个是针对客户端的设定,到底谁可以对我的 DNS 服务提出查询请求的意思。原本的档案内容预设是针对 localhost 开放而已, 我们这里改成对所有的用户开放,防火墙也得放行才行。不过,默认 DNS 就是对所有用户放行,所以这个设定值也可以不用写。
这个设定可以让我们的 DNS 服务器仅进行 forward,即使有 . 这个 zone file 的设定,也不会使用 . 的数据, 只会将查询权交给上层 DNS 服务器而已,是 cache only DNS 最常见的设定。
forwarders { 114.114.114.114; } ;
既然有 forward only,就要指定哪部上层 DNS 服务器进行转递,这就是 forwarders 设定值的重要性。
这样就已经设定完成了最简单的 cache only DNS server 了。
2.启动 named
[root@localhost ~]# service named start
[root@localhost ~]# chkconfig named on
在这个DNS服务器里,如果通过dig指令,输出数据的最底下显示 SERVER: 127.0.0.1#53(127.0.0.1)
的字样 (因为在DNS服务器的本地测试,所以dig指令后加上 @127.0.0.1,显示的地址也是127.0.0.1), 代表成功。
我们还可以开启另一个客户端机来测试,配置 /etc/resolv.conf文件
nameserver为DNS服务器的地址
然后再次通过dig指令查看
输出数据的最底下显示 SERVER: 192.168.1.78#53(192.168.1.78) ,两次测试都说明我们的DNS服务器搭建成功。
本文永久地址:/8958.html本文出自
,转载时请注明出处及相应链接。
与本文相关的文章二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
CentOS、Oracle,越学越想学,Oracle语句口语化,CentOS人性化,偶也。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(6453)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'CentOS6.2搭建DNS服务(成功)',
blogAbstract:'一、检查DNS服务软件是否安装\nrpm -qa | grep bind\n需安装 bind、bind-devel、bind-chroot、bind-libs、bind-utils\n二、若没安装,输入以下命令安装\nyum -y install bind\n三、建议先配置,后启动,因为CentOS6.2和CentOS5.X还是有很大区别的,5.X需要安装caching-nameserver,而6.2不需要安装。\n四、配置DNS服务\n配置前建议先备份文件,当出问题时,可以覆盖回去哦,这一点在学习过程中还是很重要的。\ncd /var/named/chroot/etc',
blogTag:'centos,6.2,dns,配置,搭建',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'CentOS、Oracle,越学越想学,Oracle语句口语化,CentOS人性化,偶也。',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}相关文章推荐:
centos dns
环境 虚拟机+centos5.5+bind9.3.6 虚拟机IP 192.168.1.150
一 BIND组件的安装
[root@tonecan ~]# yum -y install bind*
[root@tonecan ~]# yum -y install caching-nameserver*
二 BIND的配置
[root@tonecan ~]# cd /var/named/chroot/etc/[root@tonecan etc]# ls -la总计 72drwxr-x--- 2 root named
21:58 .drwxr-x--- 6 root named
19:04 ..-rw-r--r-- 1 root root
19:00 ]-rw-...
阅读(30) 回复(0)
其他文章推荐
一 安装dns组件:bind
[root@centos ~]#yum -y install bind*[root@centos ~]#yum -y install caching-nameserver
注:bind组件包括以下六个子组件:
bind-9.3.3-10.el5bind-libbind-devel-9.3.3-10.el5bind-sdb-9.3.3-10.el5bind-devel-9.3.3-10.el5caching-nameserverbind-chroot-9.3.3-10.el5
如果出现:Locating /var/named/chroot//etc/named.conf failed: [ FAILED ]则将/usr/share/doc/bind-9.3.4/sample/etc/named.conf范...
阅读(30) 回复(0)
实验环境说明
用途——————————————————————————————————
192.10.10.5/24
主dnscentos5.5
192.10.10.55/24
192.10.10...
阅读(0) 回复(0)
RHEL/centos 7中安装并配置 Powerdns 和 PowerAdmin
来源:Linux中国
作者:Linux
[字体:大 中 小]
Powerdns是一个运行在许多Linux/Unix衍生版上的dns服务器,它可以使用不同的后端进行配置,包括BIND类型的区域文件、关系型数据库,或者负载均衡/失效转移算法。它也可以被配置成一台dns递归器,作为服务器上的一个独立进程运行。
阅读(30) 回复(0)
一、原理&br /&
每台服务器都有多个IP地址,有网通的,有电信的,有移动的,还有美国的,还有中国的,还有澳大利亚的,他们都对应一个域名,所以有一个用户来访问这个域名的时候,他会获得哪个IP地址就取决于这个只能dns,智能dns会根据“就近原则”给用户一个最近的IP地址,让用户进行访问。&br /&
二、 附加功能&br /&
同时,智能dns还有其他功能,主机地址状态监测,如果发现某个IP地址的主机宕机了,就会自...
阅读(30) 回复(0)
1. dns和WINS的作用
dns:(Domain Name Server,域名服务)用于实现域名和IP地址的相互转换。
WINS:(Windows Internet Name Service) 用来将计算机的NetBIOS(Network Basic Input Output System,网络基本输入\输出系统)名称解析成IP地址。
2. dns的结构
在dns中,域名采用分层结构,包括:根域、顶级域、二级域和主机名称。
在域名层次结构中,每一层称作一个域,每个域用一个“.”分开。域又可以进一步分...
阅读(60) 回复(0)
邂逅dns故障
对于本文最后所提出的问题答案,大家可以在《Unix/Linux网络日志分析与流量监控》一书的第四章找到。
网络与安全
阅读(60) 回复(0)
2. dns 系统基础
Internet上的成千上万台主机都是通过IP地址来区分的。当大家对IP地址了解后,发现去记这些数字很难记。能否有些方便我们记忆的形式来互相访问?在这种需求之下,我们有了dns(域名) 。
2.1 dns 定义
dns 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。dns 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序...
阅读(0) 回复(0)
学计算机网络是一件痛苦并快乐着的事!尤其是对新人来说,学计算机就只剩下了痛苦!幸好,我买了林沛满的书《Wireshark网络分析就这么简单》,其实他里面提到的抓包工具“wireshark”,在计算机网络教材《计算机网络--自定向下方法》里面就提到,里面的网络习题,就是以这款抓包分析工具来做网络实验的。幸运的是,我们学了一个计算机网络的知识,也用wiershark分析了几个协议,但是还是蒙蒙笼笼的,看了林沛满的书,wiresh...
网络与安全
阅读(60) 回复(0)
安装dns服务:
1、添加dns角色服务
2、配置dns解析
3、区域配置——你所要配置的区域名
dns 管理工具--工具在服务器管理器右上工具选项--打开dns管理器
正向查找区域:将域名解析为IP地址
反向查找区域:将IP地址解析为域名
区域:dns服务器所负责解析的名称空间
4、新建正向查找区域:
区域类型:主要区域:包含此区域中的所有内容,次内容可读可写。
辅助区域:辅助区域中的数据来自于主要区域,此内容只读不写。
存根区域...
阅读(0) 回复(0)
攻击dns服务器
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严
禁用于任何商业用途。msn: yfydz_来源:
很显然dns服务是非常容易受到FLOOD攻击的一种服务,由于dns请求是UDP包,而且没有认证机制,任何
人都可以伪造大量的dns请求后发送出去就可以不用管了,服务器收到这些请求后由于没法认证是否合法
,就必须全部处理。服务器处理dns...
网络与安全
阅读(90) 回复(0)
盛拓传媒:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题centos&给服务器添加多个Dns的方法
原因:由于在linux
下添加多个DNS时通过修改,仅供参考。本人的linux版本是CentOS6.4
其他的版本应该也是可以通用的。
方法一:编辑/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0)
/etc/sysconfig/network-scripts/
ifcfg-eth0
# Intel Corporation
82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=08:00:27:cc:64:86
NETMASK=255.255.255.0
IPADDR=192.168.0.155
GATEWAY=192.168.0.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=no
#我在这添加了DNS后,/etc/
resolv.conf文件内容保存下来了
DNS1=202.96.128.86
DNS2=202.96.128.166
DNS3=8.8.8.8
方法二:在/etc/resolv.conf中增加dns地址,重启网卡服务后,文件内容被清空。
解决办法:
关闭NetworkManager服务
/etc/init.d/NetworkManager
修改/etc/resolv.conf
/etc/resolv.conf
修改或新增dns地址:
nameserver
xxx.xxx.xxx.xxx
/etc/init.d/network
避免重启服务器后配置被清空
NetworkManager off
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 centos 6.5 dns服务器 的文章

 

随机推荐