首先安装bind ,使用Yum或者rpm包安装。我使用Yum的安装办法,将DNS需要的组件一次性全部装好。安装好之后,使用rpm -ql |grep bind 查看都装了哪些文件。 找到bind的配置文件,/etc/named.conf,在修改配置文件值钱,有一些选项参数需要先了解清楚。 // 后面接的都是注释语句,类似于普通配置文件中的 # options 后面接的是全局配置选项,dns全局参数都在这里配置。 logging 定义日志的记录范围,一般默认不修改。 zone 定义一个区域声明,比如区域文件名,类型等。 好,了解这些之后,我们根据自己的需求来修改named.conf配置文件。 // // named.conf // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; // 开启侦听端口53,接受任意IP连接 listen-on-v6 port 53 { ::1; }; directory "/var/named";//这里是目录正向反向区域都创建在这个目录下 dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { 0.0.0.0/0; }; //// 允许任意IP查询这里也可以修改为any如果不修改会在nslookup出现错误refused被拒绝 recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone “it.net.cn” IN { // 添加正向解析区域信息 type master ; file "jxcia.com.zone"; }; zone "1.168.192.in-addr.arpa" IN { // 添加反向解析区域信息 type master; file "192.168.1.zone"; }; 这样添加好了之后,保存退出。 注意:在named.conf中,每一行最后都要有;(冒号结尾),如果没有,启动的时候会有提示信息的。启动会失败。 下面到/var/named/目录下面添加正向和反向区域解析文件。在添加区域文件的前提,同样有一些参数需要理解下。 ;在这里,这个分号是注释符,相当于前面的 // 号,后面跟的都是注释语句。 @ 表示是在当前域,就是区域文件定义的那个域。 () 表示允许数据跨行,一般用的不多。 * 用在name字段的通配符。 资源管理器 简称RR : 基本格式 : [ name ] [ ttl ] [ class ] type data 1、name 字段,可以是相对域名或者全域名,也可以是单独某台主机的名字。 2、ttl timed to live,生命值,一般忽略不写。 3、class 字段,用于指定网络类型,可选的值有IN、CH和HS,其中IN (intelnet)是广泛使用的一种 4、type 字段 , 用来指定RR资源的类型,常用的有如下几种: 区记录: SOA (start of authority ) SOA标记,一个授权区定义的开始。 NS (name server )标记区域的域名服务器以及授权子域 基本记录: A ( address ) A记录,将主机名转换成IP地址,一个主机只有一个A记录 PTR (poin teR )与A记录相反,将IP转换成主机名,反向解析操作 MX (mail exchanger) 邮件交换记录,定义邮件服务器的域名 了解这些,现在开始建立正常和反向解析区域文件了。首先我们根据上面named.conf配置里知道,区域配置文件都在/var/named/目录下面。进入到该目录之后: 新建区域文件 vim it.net.cn.zone //文件的名字一定要和你前面配置文件里一样 $TTL 600 @ IN SOA mail.it.net.cn. root.mail.jxcia.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS mail.it.net.cn. //根据上面开始的提示,这个是定义区的域名服务器。 mail IN A 192.168.1.210 //设置A记录,mail主机对应的IP地址 www IN CNAME mail // 设置一个别名,方便以后搭建www服务器 OK。正向解析区域文件就建好了,保存退出,下面同样的办法建立反向解析文件。 vim 192.168.1.zone $TTL 600 @ IN SOA mail.jxcia.com. root.mail.it.net.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS mail.jxcia.com. 210 IN PTR mail.jxcia.com. //做一个反向解析指针。 OK。同样,一个简单的反向解析文件也做好了,需要其他信息就让里面加就可以了。这样之后,所有的配置文件都配置好了,启动DNS服务, [root @ mail ~] # service named restart //我习惯用restart 如果正常没问题的话,会出现如下信息。 Stopping named : [ OK ] Starting named : [ OK ] 这样我们的DNS服务器就正常启动起来了,如果有问题,则根据提示语句找到相应的问题。 服务器搭建好了,下面进行的就是测试咯,啦啦啦,终于搭建完了。下面开始测试DNS服务器。测试服务器之前有个地方别忘记设置了,那就是客户端的DNS,也就是把/etc/resolv.conf下面的name server改成自己这服务器的IP了。然后重启网络服务。 测试DNS最简单的命令就是 nslookup了,下面使用我们的nslookup测试我们的DNS服务器看是否能正常解析。 [root @mail ~]# nslookup mail.it.net.cn server : 192.168.1.210 address: 192.168.1.210#53 Name: mail.it.net.cn address : 192.168.1.210 如果出现这个,那说明我们的服务器正常运行了,但是事实并不是这么美好的,你在测试的时候,很有可能会得到这样的结果: server can't find mail.it.net.cn.it.net.cn :SERVFAIL 根据提示是无法找到对应的区域。遇到问题了,那就去解决,首先看错误提示,然后再看日志,发现问题应该是在找不到配置文件,但是明明都配置好了的啊。来回对照了好几遍都没发现问题啊,百思不得其解,最后根据提示不停的百度谷歌,最后,黄天不负有心人,终于让我找到了,原来是/var/named/目录下面的配置文件的所属组的问题,根据ll,可以看出系统自动生成的文件所有者是root,但是所属组是named。而我们自己创建的文件,所有者和所属组都是属于root,所以named服务无法读取我们的配置文件,造成无法正常访问。把权限和宿主改过来重启服务就OK了。 到目前为止已经可以正常运行了。 (责任编辑:IT) |