安装:
# yum install bind –y
# yum install bind-chroot –y
安装上面这两个包。还可以一起安装,写成如下:
# yum install bind bind-chroot –y 将这两个包同时安装
安装完之后,它的配置文件都在/etc/目录下面
默认情况下,DNS是在/etc这个目录下面来运行的,因为我们装了chroot之后,实际上它就是在某个目录下面来运行的!!!因为我们装了bind-chroot,所以它也会对它的一些工作目录也做了chroot
默认情况下,DNS所有的配置文件都放在/etc下面来工作的,但是,因为我们装了bind-chroot,所以它会把DNS工作的目录改为/var/named/chroot/这个目录,也就是说,装了chroot之后,DNS会把/var/named/chroot/这个目录当成自己的根,因为我把装完DNS之后,它的一些配置文件还是在根下面的/etc目录下面,所以说,我们有必要把/etc目录下,所有的DNS配置文件全部的复制到/var/named/chroot/etc/这个目录中,如下:
# cd /etc/
# cp –a named* /var/named/chroot/etc/
默认情况下,当装好DNS之后,它的域的配置文件是放在/var/named/这个目录下面,因为做了chroot,所以这个目录并不是DNS系统的根,那么它的根就是在
/var/named/chroot/var/named这个目录下面,所以说我们有必要将/var/named/目录下面所有的文件全部拷贝到/var/named/chroot/var/named/这个目录下面(chroot除外);
因为DNS所用到的域配置文件全部是放到/var/named/这个目录里面的,DNS会认为它的工作目录是/var/named/目录,因为我们做了chroot,所以说/var/named/这个并不是系统的根,所以它的根是
/var/named/chroot/var/named/这个目录,
所以说,我们很有必要把/var/named/下面的文件(data/,dynamic/,slaves/)拷贝到
/var/named/chroot/var/named/下面,如下:
# cp –a data/ dynamic/ named.* slaves/ /chroot/var/name/
现在我们进入/chroot/目录,如下:
# cd /var/named/chroot/
# ls
Dev etc usr var
进入chroot目录之后,因为我们装了chroot,此时bind会认为我们是在根目录下面,其实我们是在/var/named/chroot/目录下面。
现在我们再进入/var/named/chroot/etc/目录下面,然后编辑该目录下面的named.conf文件,如下:
# cd /var/named/chroot/etc/
Named.conf为DNS的主配置文件。
# vim named.conf
Listen-on port 53 { 127.0.0.1; }; 监听的端口(后面的IP表示只监听回环的53端口,这个IP地址可以改成any)
Listen-on-v6 port 53 { ::1; };
Directory “/var/named”; 配置文件的默认路径,这个路径指的是
/var/name/chroot/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 { localhost; }; 允许查询 本地(这里的意思是只有本地可以允许查许,我们做DNS的目的就是可以让任何机器都可以查询,可以让某个网段可以查询。因此这里的localhost可以改成any或者某个网段) any; 或 192.168.24.0/24
Recursion yes; 递归(这里是是否开启递归查询)可以使用man named.conf来查看详细帮助
这部分讲的是日志问题
进入/var/named/chroot/etc/目录,然后编辑此目录下的named.conf文件,具体如下:
# vim /var/named/chroot/etc/named.conf
将后面括号中的127.0.0.1改成any或网段
将后面括号中的localhost改成any或网段
“IN”是类型
1、先编写正向解析文件;
# vim /var/named/chroot/etc/named.conf
正向解析区域;并且定义正向解析区域文件名称为ovinzhang.com.zone
区域解析文件路径:
/var/named/chroot/var/named/ 目录下
编写正向区域文件:
配置文件中的
$GENERATE 1-100 station$ A 10.10.10.$这句话是一个变量,IP地址从1-100一一代入10.10.10.$后面的$数字,并且主机名也会变成station1station2……
这里写的是生存期为1天,就是这个文件里面的记录存活期;
“@”(第一个@)是一个变量,它代表的是当前的域名;
“SOA”表示验证的起始;后面跟着DNS服务器主机名;
“root”表示的是root.ovinzhang.com.这是完整的写法(后面部分给省略掉了)
意思:1D表示每1天向服务器查询一次同步过程,如果主服务器没有给回复的话;第1小时重新连接一次;不可能一直接连接下去,最多给1周的时间,如果一周时间都连接不成功,一周之后就不会再去连接了;3H表示缓冲时间;
意思:NS表示name server,这行是指明哪台是DNS服务器;
这里指明的是DNS服务器的IP地址;
这里要说明的是,如果相同的位置是相同的话,我可以把下面的@符号给省略掉;如下:
这句意思是, XX这台主机的IP地址除了是24.11,还有一个IP地址为24.88
非常重要的地方:
就是我们刚刚写的那个文件,写好之后看一下它的属性,所属组为root,权限为640,所以我们必须把这个文件属性和权限给改成和这个目录下期文件的权限一样,才可以,否则DNS无法启动,截图如下:
到这里,我们的DNS正向解析就配置好了;
下面开始重启一下DNS服务,如下:
这里出现了Generating /etc/rndc.key:意思是要我们生成一个rndc.key;但是这个目录/var/named/etc/中好像没有这个key,我们就来生成一个,如下:
# rndc-confgen -r /dev /urandom –a 我们需要运行这个命令来生成一个key
生成好key之后,再重新启动一下DNS:
在防火墙上把53端口打开,如下:
# iptables –I INPUT 1 -p tcp --dport 53 -j ACCEPT
# iptables -I INPUT 1 -p udp --dport 53 -j ACCEPT
# service iptables save
然后再在resolv.conf文件中,指定DNS服务器为自己,如下:
# vim /etc/resolv.conf
在上面加上一行: nameserver 127.0.0.1
再使用host 解析一下DNS服务器中的主机:(看看本地解析)
# host -l ovinzhang.com
以上配置为正向解析配置DNS,
主机名——>>IP地址
2、再编写反向解析文件;
首先定义一个反向域,在named.conf文件中;
此文件位于: /var/named/chroot/etc/这个目录下面
# vim /var/named/chroot/etc/named.conf
这里编辑的是反向解析部分内容;注意:24.168.192.in-addr.arpa这个非常重要,定义反向区域的名字格式为网段的反过来写,然后后面加上in-addr.arpa;下面定义的是向区域文件名;
再新建一个ovinzhang.com.arpa文件,然后再去编辑:
# cd /var/named/chroot/var/named/
# cp ovinzhang.com.zone ovinzhang.com.arpa
# vim /var/named/chroot/var/named/ovinzhang.com.arpa
这里我们要改的就是将里面的所有A记录全部给删除掉,然后给全部改成PTR记录;
“PTR”表示指针记录;主要做反向解析的;
反向区域中最上面加行这一行变量:
$GENERATE 1-100 $ PTR station$.rhce.cc.
然后下一步再更改权限,如下:
将正向文件和反向文件权限改成640,再把用户和所属组改成root named,如下:
# chgrp named rhce.cc.zone rhce.cc.arpa
# chmod 640 rhce.cc.zone rhce.cc.arpa
下一步启动DNS服务:
# service named restart
如果要提示输入什么key的话,可以运行如下命令,之后再启named服务,如下:
# rndc-confgen –r /dev/urandom –a
# service named restart
就可以了,如果防火墙是打开的,可以允许53端口,如下:
# iptables –I INPUT 1 –p tcp –dport 53 –j ACCEPT
# iptables –I INPUT 1 –p udp –dport 53 –j ACCEPT
# service iptables save
如果不加上面两个打目的话,可以把防火墙壁给关掉就可以了。
# iptable -F
# service iptables stop
# host –l rhce.cc 查看rhce.cc这个域中所有的主机
# host –l 10.10.10.in-addr.arpa 查看反向域中所有主机
# host server.rhce.cc 解析server.rhce.cc所对应的IP地址
# host 10.10.10.3 解析10.10.10.3所对应的主机名
$GENERATE 1-100 $ PTR station$.rhce.cc.