RHEL5企业级Linux服务攻略]-- DNS服务全攻略

DNS服务配置:

 
 
我们主要写一些其他资料没有的东西,至于 DNS 的原理也没必要重复,因为其他的资料已写的很详细;以下服务的搭建其原理也不多说,直接配置服务。
 

一、 DNS 相关文件:
 
<1> bind
 
bind 是一个 c/s 系统,其客户端称为转换程序 resolver ,它负责产生域名信息的查询,将这类信息发送给服务端。 Bind 的服务器端是一个称为 named 的守护进程,它负责回答转换程序的查询。
 
<2> 、转发程序控制文件:
 
转换程序控制文件 /etc/host.conf 是用来控制本地程序设置的文件
Vi /etc/host.conf
order hosts,bind   解析顺序
multi off  指明 hosts 文件中所指定的每一台主机只有一个 IP 地址,如果为 on 则反之。
nospoof on 检查 IP 欺骗 .
alert on 若检查出 IP 欺骗,则将警告信息记录。
Trim  jamond.net 指明解析器会先将被查找域名中的 jamond.net 去掉,再从 /etc/hosts 中查找匹配的主机名。
 
 
,<3. 、转换程序配置文件:
 
vi /etc/resolv.conf
 
nameserver 列出域名 IP (最多可出现 3 个)
domain  定义默认域名(主机的本地域名)
search 定义搜索清单(最多 6 个域名参数)
options rotate nochecknames  inet6  意义分别如下:
 
rotate  打开客户端轮询查询。当 nameserver 中定义了多个域名服务器时间,进行轮询查询;
nochecknames  禁止检测被查询的域名是否符合 RFC 952 ,当需要使用带有下划线“ _ ”的域名时,需要设置该项。
inet6 可以使解析器查询 ipv6 地址。
 
 
举例:
Options  nochecknames rotate  options 参数定义了不执行 RFC 952 名字检测而执行查询轮询。
 
 
<4> Named.conf 的配置语句:
Acl              定义 IP 的访问配置清单
Controls         定义 rndc 命令使用的控制通道
Include          将其他文件包含到本地配置文件当中
Key                       定义授权的安全密钥
Logging               定义日志的记录规范
Options               定义全局配置选项
Server                 定义远程服务器的特征
Trusted-keys       为服务器定义 DNSSEC 加密密钥
Zone                   定义区域
View                      定义一个试图
 
 
 
全局配置语句 options
 
Options {
 
               配置子句;
               配置子句;
 
}
常用的配置子句:
Recursion  yes|no    是否使用递归 DNS 服务器,默认为 yes
Allow-recursion {  }  指定一个也许进行递归查询操作的地址列表。
Transfer-format one-answer|many-anser  是否允许在一条消息中放入多条应答信息,默认为 one-answer
 
Directory path 服务器配置文件目录;
Forwarders {IPaddr} 定义转发器。
Allow �Cquery  指定允许进行查询的主机
Notify      当主区域的数据发生变化时,也许通知从服务器。
 
<5> 区( zone ):区中其他文件就不必介绍了,主要介绍下区文件指令。
 
下面的指令我会在一下的实验中举例:
 
用途
区文件指令
说明
   简化区文件结构
$INCLUDE
读取一个外部文件并包含它
$GENERATE
用来创建一组NS CNAME PTR类型的 RR
由资源记录使用的值
$ORIGIN
设置管辖源
$TTL
为没有定义精确的生存期的RR定义缺省的TTL
 
二、实验:
 
DNS 配置:
 
环境:主 DNS  IP 192.168.1.112 ,然后在本机测试。
 
 
1、  yum install bind* 安装 bind 相关软件包。
配置正向与反向区域:
 
 
正向数据库文件配置:
 
 
 
 
检查区域文件与数据库文件配置语法是否正确:
 
 
 
测试:
 
 
 
辅助 DNS
 
DNS IP 192.168.1.112 ,辅助 DNS 192.168.1.111
 
 
在区域配置中加入允许复制数据的辅助 DNS  IP
 
 
 
 
当配置完成启动服务器后出现,区域数据库文件无法复制,如 log 中出现一下内容:
 
 
Mar 30 21:55:48 centos5 named[3889]: dumping master file: tmp-GKwViMtW0p: open: permission denied
Mar 30 21:55:48 centos5 named[3889]: transfer of 'unix.com/IN' from 192.168.1.112#53: failed while receiving responses: permission denied
Mar 30 21:55:48 centos5 named[3889]: transfer of 'unix.com/IN' from 192.168.1.112#53: end of transfer
Mar 30 21:55:48 centos5 kernel: audit(1238421348.065:16): avc:  denied  { write } for  pid=3890 comm="named" name="named" dev=hda3 ino=96885 scontext=root:system_r:named_t:s0 tcontext=system_u:object_r:named_zone_t:s0 tclass=dir
Mar 30 21:55:57 centos5 named[3889]: zone 1.168.192.in-addr.arpa/IN: Transfer started.
Mar 30 21:55:57 centos5 named[3889]: transfer of '1.168.192.in-addr.arpa/IN' from 192.168.1.112#53: connected using 192.168.1.111#1270
 
有两种情况:
第一,             数据库所在的目录要让 named 用户有写权限(一般都是 named 用户没有权限)。即、 chown named:named /var/named/chroot/var/named
      并且
/var/named/chroot/var/named/localhost.zone
/var/named/chroot/var/named/named.ca
/var/named/chroot/var/named/named.local
     以上三个文件必须要有
 
 
第二: SELINUX 没有关闭。
 
    usr/sbin/setenforce 0 立刻关闭 SELINUX
 
   /usr/sbin/setenforce 1 立刻启用 SELINUX
 
  加到系统默认启动里面
 
   echo "/usr/sbin/setenforce 0" >> /etc/rc.local
 
 
如果服务器启动成功并且在 named 目录下已经出现主
dsn 中的区域数据库文件,说明配置成功。
 
 
泛域名:
 
 
 
直接域名:
 
DNS 负载均衡:
 
正解:
反解:
测试:

本文出自 “www.zhangyahan.com” 博客,谢绝转载!

你可能感兴趣的:(linux,职场,休闲,网诺)