环境介绍:
操作系统:rhel6.5
node1.cn:slave
node2.cn:master
1、软件包安装
<code>[root@node2 ~]</code><code># yum -y install bind</code>
<code>[root@node2 ~]</code><code># rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm </code>
<code>[root@node2 ~]</code><code># rpm -ivh /mnt/Packages/bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rp</code>
2、服务启动
<code>[root@node2 ~]</code><code># service named restart</code>
DNS服务启动之后的文件挂载信息
<code>[root@node2 ~]</code><code># mount</code>
<code>/dev/sda2</code> <code>on / </code><code>type</code> <code>ext4 (rw)</code>
<code>proc on </code><code>/proc</code> <code>type</code> <code>proc (rw)</code>
<code>sysfs on </code><code>/sys</code> <code>type</code> <code>sysfs (rw)</code>
<code>devpts on </code><code>/dev/pts</code> <code>type</code> <code>devpts (rw,gid=5,mode=620)</code>
<code>tmpfs on </code><code>/dev/shm</code> <code>type</code> <code>tmpfs (rw)</code>
<code>/dev/sda1</code> <code>on </code><code>/boot</code> <code>type</code> <code>ext4 (rw)</code>
<code>/dev/sr0</code> <code>on </code><code>/mnt</code> <code>type</code> <code>iso9660 (ro)</code>
<code>none on </code><code>/proc/sys/fs/binfmt_misc</code> <code>type</code> <code>binfmt_misc (rw)</code>
3、本地网卡eth0配置信息
<code>DEVICE=eth0</code>
<code>TYPE=Ethernet</code>
<code>ONBOOT=</code><code>yes</code>
<code>NM_CONTROLLED=</code><code>yes</code>
<code>BOOTPROTO=none</code>
<code>HWADDR=00:0c:29:47:1b:4A</code>
<code>IPADDR=192.168.31.102</code>
<code>PREFIX=24</code>
<code>GATEWAY=192.168.31.1</code>
<code>DNS1=192.168.31.102</code>
<code>DEFROUTE=</code><code>yes</code>
<code>IPV4_FAILURE_FATAL=</code><code>yes</code>
<code>IPV6INIT=no</code>
<code>NAME=</code><code>"System eth0"</code>
4、服务相关配置文件
<code>[root@node2 ~]</code><code># ls /etc/named.conf //主要配置文件</code>
<code>[root@node2 ~]</code><code># vim /var/named/chroot/etc/named.conf </code>
<code>options 为全局配置文件</code>
<code>options {</code>
<code> </code><code>listen-on port 53 { any; };</code>
<code> </code><code>listen-on-v6 port 53 { any; };</code>
<code> </code><code>directory </code><code>"/var/named"</code><code>;</code>
<code> </code><code>dump-</code><code>file</code> <code>"/var/named/data/cache_dump.db"</code><code>;</code>
<code> </code><code>statistics-</code><code>file</code> <code>"/var/named/data/named_stats.txt"</code><code>;</code>
<code> </code><code>memstatistics-</code><code>file</code> <code>"/var/named/data/named_mem_stats.txt"</code><code>;</code>
<code> </code><code>allow-query { any; };</code>
<code> </code><code>recursion </code><code>yes</code><code>;</code>
<code> </code><code>dnssec-</code><code>enable</code> <code>yes</code><code>;</code>
<code> </code><code>dnssec-validation </code><code>yes</code><code>;</code>
<code> </code><code>dnssec-lookaside auto;</code>
<code> </code><code>/* Path to ISC DLV key */</code>
<code> </code><code>bindkeys-</code><code>file</code> <code>"/etc/named.iscdlv.key"</code><code>;</code>
<code> </code><code>managed-keys-directory </code><code>"/var/named/dynamic"</code><code>;</code>
<code>};</code>
<code>logging {</code>
<code> </code><code>channel default_debug {</code>
<code> </code><code>file</code> <code>"data/named.run"</code><code>;</code>
<code> </code><code>severity dynamic;</code>
<code> </code><code>};</code>
<code>zone </code><code>"."</code> <code>IN {</code>
<code> </code><code>type</code> <code>hint;</code>
<code> </code><code>file</code> <code>"named.ca"</code><code>;</code>
<code>zone </code><code>"node2.cn"</code> <code>IN { </code><code>//</code><code>创建区域文件</code>
<code> </code><code>type</code> <code>master;</code>
<code> </code><code>file</code> <code>"node2.cn.zone"</code><code>; </code><code>//</code><code>区域配置对应文件名</code>
<code>include </code><code>"/etc/named.rfc1912.zones"</code><code>;</code>
<code>include </code><code>"/etc/named.root.key"</code><code>;</code>
创建新的区域文件
<code>[root@node2 named]</code><code># cp -rp named.localhost node2.cn.zone //保证权限的一致性</code>
<code>[root@node2 named]</code><code># vim node2.cn.zone</code>
<code>原文件内容</code>
<code>$TTL 1D</code>
<code>@ IN SOA @ rname.invalid. ( </code><code>#SOA授权资源记录</code>
<code> </code><code>0 ; serial</code>
<code> </code><code>1D ; refresh</code>
<code> </code><code>1H ; retry</code>
<code> </code><code>1W ; expire</code>
<code> </code><code>3H ) ; minimum</code>
<code> </code><code>NS @</code>
<code> </code><code>A 127.0.0.1</code>
<code> </code><code>AAAA ::1</code>
<code> </code><code>修改之后配置文件</code>
<code> </code><code>$TTL 1D 缓存时间</code>
<code>@ IN SOA ns.node2.cn. root.node2.cn ( SOA授权资源记录,每隔zone只能有一条SO A记录</code>
<code> </code><code>0 ; serial 手动设置</code>
<code> </code><code>1D ; refresh 刷新时间</code>
<code> </code><code>NS ns.node2.cn.</code>
<code>ns A 192.168.31.102 ns A资源记录</code>
<code>www A 192.168.31.102 web服务器A资源记录</code>
<code>mail A 192.168.31.101 mail邮箱地址</code>
<code>www.zabbix.lexue.cc CNAME jiankong.lexue.cc. 别名</code>
重启named服务
<code> </code><code>[root@node2 named]</code><code># /etc/init.d/named restart</code>
验证
<code>[root@node2 ~]</code><code># cat /etc/resolv.conf</code>
<code># Generated by NetworkManager</code>
<code>nameserver 192.168.31.102</code>
本地DNS服务基本配置完成
开启迭代查询功能使能查询其他DNS服务器拥有记录的功能
<code> </code><code>#dnssec-enable yes;</code>
<code> </code><code>#dnssec-validation yes;</code>
<code> </code><code>#dnssec-lookaside auto; 将其注释掉即可开启迭代查询</code>
<code> </code><code>forward only; </code><code>#配置转发功能</code>
<code> </code><code>forwarders { 114.114.114.114; }; </code><code>#转发的DNS地址</code>
主从配置DNS服务器
<code>zone </code><code>"node2.cn"</code> <code>IN {</code>
<code> </code><code>file</code> <code>"node2.cn.zone"</code><code>;</code>
<code> </code><code>allow-transfer{ 192.168.31.0</code><code>/24</code><code>;}; </code><code>//</code><code>区域配置中指定的从DNS服务器网段</code>
配置从DNS服务器
[root@node1 ~]# yum -y install bind*
[root@node1 ~]# /etc/init.d/named restart #启动服务
<code> </code><code>type</code> <code>slave;</code>
<code> </code><code>file</code> <code>"slaves/node2.cn.zone.file"</code><code>;</code>
<code> </code><code>masters { 192.168.31.102; };</code>
添加主机信息
<code>@ IN SOA ns.node1.cn. root.node1.cn (</code>
<code> </code><code>1D ; refresh 默认同步时间</code>
<code> </code><code>NS ns.node1.cn.</code>
<code>ns A 192.168.31.101</code>
<code>www A 192.168.31.101</code>
<code>www.node1.cn CNAME jiankong.lexue.cc.</code>
DNS主从密钥认证
1、同步DNS服务器时间
<code>[root@node1 ~]</code><code># yum -y install ntpdate</code>
<code>[root@node2 ~]</code><code># ntpdate server 0.rhel.pool.ntp.org</code>
<code>[root@node2 ~]</code><code># /etc/init.d/ntpd restart</code>
<code>^C[root@node1 ~]</code><code># crontab -e</code>
<code>no </code><code>crontab</code> <code>for</code> <code>root - using an empty one</code>
<code>0 5 * * * </code><code>/usr/sbin/ntpdate</code> <code>192.168.31.102</code>
2、生成密钥,进行主从认证,在主DNS服务器操作
<code>[root@node2 ~]</code><code># dnssec-keygen -a hmac-md5 -b 128 -n HOST xyz</code>
-a 指定加密类型 -b密钥长度 -n 名字类型 xyz 密钥
<code>[root@node2 ~]</code><code># ls</code>
<code>Kxyz.+157+02502.private 私钥</code>
<code>Kxyz.+157+02502.key 公钥</code>
修改主配置文件:
<code>key xyzkey {</code>
<code> </code><code>algorithm hmac-md5;</code>
<code> </code><code>secret </code><code>"OWH6FbG9P2Op5CTEqi5muQ=="</code><code>;</code>
<code>zone </code><code>"node1.cn"</code> <code>IN {</code>
<code> </code><code>file</code> <code>"node1.cn.zone"</code><code>;</code>
<code> </code><code>allow-transfer{ key abckey;};</code>
从DNS服务器修改的内容
<code> </code><code>masters { 192.168.31.102 key xyzkey; };</code>
重启主从服务器验证是否可通过密钥对验证是否成功
测试命令
<code>nslookup</code> <code>交互解析</code>
<code>dig</code> <code>可制定使用哪写DNS服务器进行解析</code>
通过不同DNS服务器对相同域名进行解析对比结果
<code>[root@node1 ~]</code><code># dig @192.168.31.102 www.node1.cn</code>
<code>[root@node1 ~]</code><code># dig @114.114.114.114 www.node1.cn</code>
版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任
本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/1956925