DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它能够提供域名与IP地址之间对应关系的转换服务。这样我们就可以更方便地去访问互联网了,不用去记住那一串IP数字。本文档主要是说明如何把一台Centos主机配置成一个DNS服务器,以便能提供域名解析服务。
一. DNS服务器端配置
操作系统:Centos 6.5
IP地址:172.20.2.104
测试域名:zc.com
作用:主要提供解析zc.com域名的服务
1. 安装DNS服务器软件(安装bind)
(1)先运行命令rpm -qa | grep bind 检查DNS服务器软件的安装情况
[root@zc ~]# rpm -qa | grep bind
(2)运行命令yum install –y bind bind-chroot 安装bind 程序
(3)此时再运行命令rpm –qa | grep bind 检查DNS服务器软件的安装情况
[root@zc ~]# rpm -qa | grep bind
也可以运行命令rpm -qai bind | grep "Install Date"查看软件包安装日期
2. 修改/etc/named.conf配置文件(有两处需要修改)
listen-on port 53 { any; }; //开启监听端口53,接受任意IP的连接
allow-query { localhost; }; //允许任意IP查询
3. 修改/etc/named.rfc1912.zones文件,添加zc.com的正向和反向区域
//zc.com的正向区域
zone "zc.com" IN {
type master;
file "zc.com.zone";
allow-update { none; };
};
//zc.com的反向区域
zone "2.20.172.in-addr.arpa" IN {
type master;
file "172.20.2.arpa";
allow-update {none;};
};
4. 创建正向和反向区域资源文件
在配置named.conf时,指明的资源文件目录是/var/named,故先进入该目录
配置解析数据信息,我们可以直接复制正向解析模板文件:“/var/named/named.localhost”,填写信息后即可直接使用。
(1)cd /var/named切换工作目录到bind(named)数据目:
(2)查看区域数据文件的权限:
[root@zc named]# ls -al named.localhost
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
(3)执行cp命令时加入-a,,代表连通复制原来文件的属性、所有者、组等信息:
cp -a named.localhost zc.com.zone
(4)编辑zc.com.zone域名的区域数据文件:
修改后的配置如下:
[root@zc named]# cat zc.com.zone
$TTL 1D //生存时间为1天
@ IN SOA zc.com. rname.invalid. (
0 ; serial //更新序列号
1D ; refresh //更新时间
1H ; retry //重试时间
1W ; expire //失效时间
3H ) ; minimum //无效解析结论的缓存时间
NS @
A 127.0.0.1
AAAA ::1
IN MX 10 mail.zc.com
mail IN A 172.20.2.100
www IN A 172.20.2.150
bbs IN A 172.20.2.200//留意zc.com后面的那个不起眼的点(.)
[root@zc named]# cat 172.20.2.arpa
$TTL 1D
@ IN SOA zc.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
AAAA ::1100 PTR mail.zc.com.150 PTR www.zc.com.200 PTR bbs.zc.com.
//留意zc.com后面的那个不起眼的点(.)
5. 启动named服务
[root@zc ~]# service named start
Generating /etc/rndc.key:[确定]
启动 named:[确定]
至此,DNS服务器端的配置已完成,下面我们稍微配置一下客户端测试我们的DNS服务器是否正常。
二. DNS客户端配置
操作系统:windows和Linux(172.20.2.50)都可以,
IP地址:能够ping 通DNS服务器的IP(172.20.2.104)都可以
作用:测试DNS服务器是否正常
1. 安装bind-utils包,以便能使用nslookup、dig和host工具
yum install bind-utils
2. 修改DNS配置使用我们的DNS服务器
[root@mail ~]# cat /etc/resolv.conf
nameserver 172.20.2.104
resolv.conf文件中可能会有多个nameserver,必须把我们的DNS服务器放在所有nameserver的最前面,这样当需要解析域名时,第一个使用的就是我们配置的DNS服务器,其他的都是候选项。
如果是windosw客户端,需要在本地连接属性里面修改DNS为172.20.2.104
3. 正向解析测试,使用nslookup命令
如果服务器本身可以解析,其他客户端无法解析,需要关闭DNS服务器的防火墙
[root@zc ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
(1)Linux系统客户端172.20.2.50
[root@mail ~]# nslookup
> mail.zc.comServer: 172.20.2.104Address: 172.20.2.104#53
Name: mail.zc.comAddress: 172.20.2.100
> www.zc.comServer: 172.20.2.104Address: 172.20.2.104#53
Name: www.zc.comAddress: 172.20.2.150
> bbs.zc.comServer: 172.20.2.104Address: 172.20.2.104#53
Name: bbs.zc.comAddress: 172.20.2.200
>
(2)Windows客户端172.20.2.101
C:\Users\Administrator>nslookup
默认服务器: UnKnownAddress: 172.20.2.104
> mail.zc.com
服务器: UnKnownAddress: 172.20.2.104
名称: mail.zc.comAddress: 172.20.2.100
> www.zc.com
服务器: UnKnownAddress: 172.20.2.104
名称: www.zc.comAddress: 172.20.2.150
> bbs.zc.com
服务器: UnKnownAddress: 172.20.2.104
名称: bbs.zc.comAddress: 172.20.2.200
从结果可以看到,我们配置的三个域名都能成功解析,并且DNS服务器就是我们配置的那个服务器。
4. 反向解析,使用nslookup命令
(1)Linux系统172.20.2.50
[root@mail ~]# nslookup
> 172.20.2.100Server: 172.20.2.104Address: 172.20.2.104#53
100.15.1.10.in-addr.arpa name = mail.zc.com.
> 172.20.2.150Server: 172.20.2.104Address: 172.20.2.104#53
150.15.1.10.in-addr.arpa name = www.zc.com.
> 172.20.2.200Server: 172.20.2.104Address: 172.20.2.104#53
200.15.1.10.in-addr.arpa name = bbs.zc.com.
>
(2) windows系统172.20.2.101
C:\Users\Administrator>nslookup
默认服务器: UnKnownAddress: 172.20.2.104
> 172.20.2.100
服务器: UnKnownAddress: 172.20.2.104
名称: mail.zc.comAddress: 172.20.2.100
> 172.20.2.150
服务器: UnKnownAddress: 172.20.2.104
名称: www.zc.comAddress: 172.20.2.150
> 172.20.2.200
服务器: UnKnownAddress: 172.20.2.104
名称: bbs.zc.comAddress: 172.20.2.200
从结果来看,可以正确解析我们的IP地址,并且DNS服务器就是我们配置的那个服务器。
5. 查看zc.com这个域名是哪个DNS服务器管理的,使用dig命令
root@mail ~]# dig -t ns zc.com
6. 使用dig命令进行正向解析
(1) dig mail.zc.com
[root@mail ~]# dig mail.zc.com
(2)dig www.zc.com
[root@mail ~]# dig www.zc.com
(3)dig bbs.zc.com
[root@mail ~]# dig bbs.zc.com