说明:在虚拟机(VMware Workstation Pro)下运行 Red Hat Linux。

有两个软件包:

shrike-i386-disc1.iso、shrike-i386-disc2.iso。

概述

在配置 DNS 服务器之前,我们不妨理解一下 DNS 服务器是如何工作的?它的原理是什么?它是如何将域名转换成 IP 地址的?

DNS(域名系统)是一种分布式数据库系统,即使单个计算机出现了故障,也不会妨碍整个 DNS 系统的正常运行。从域名到 IP 地址的解析过程如下:

  • 当某一个应用进程把主机名解析为 IP 地址的时候,该应用进程就调用解析程序,并成为 DNS 的一个客户,把待解析的域名放在 DNS 请求报文中,以 UDP 用户数据报的方式发送给本地域名服务器。
  • 本地域名服务器在查找到域名后,把对应的 IP 地址放在响应报文中返回。应用程序获得目的主机的 IP 地址后即可进行通信。
  • 如果本地域名服务器不能回答该请求,则此域名服务器就暂时成为 DNS 中的另一个客户,并向其它域名服务器发出查询请求,直到找到能够回答改请求的域名服务器为止

为什么使用 UDP 进行传输,而不使用 TCP

UDP 用户数据报的首部仅占 8 个字节,而 TCP 报文段的首部最小为 20 字节,使用 UDP 是为了减少开销。

DNS 查询请求的两种方式:

  • 递归查询:如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户端的身份向其它根域名服务器继续发出查询请求报文,而不是让主机自己进行下一步查询。
  • 迭代查询:一般情况下使用的是迭代查询,当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:你下一步应该向哪一个域名服务器进行查询。然后本地域名服务器进行后续的查询。

如下图所示:

image.png

一、安装

步骤:

  1. 软件包的安装(bind 和 caching);
  2. 配置 DNS
    • 2.1 配置虚拟机静态 IP;
    • 2.2 修改/etc/named.conf配置文件;
    • 2.3 在/var/named下新建正向和反向解析文件,并修改配置信息;
  3. 启动 named 服务,检测 DNS 是否配置成功。

1. 挂载第一张镜像,安装 bind

1
2
3
mount /dev/cdrom /mnt/cdrom		//挂载镜像
cd /mnt/cdrom/RedHat/RPMS		//进入软件包目录
rpm -ivh bind-9.2.1-16.i386.rpm		//安装

2. 挂载第二张镜像,安装 caching

1
rpm -ivh caching-nameserver-7.2-7.noarch.rpm

二、配置 dns

1. 配置虚拟机静态 IP

左下角主菜单系统设置网络,双击设备eth0

1
2
3
IP 地址:192.168.1.2
子网掩码:255.255.255.0
默认网关地址:192.168.1.254

DNS选项卡下,修改主 DNS为:192.168.1.2,最后单击激活

如果配置静态 IP 不成功,则需要修改网卡配置文件。(前面加上#即可)位置为:/etc/sysconfig/network-scripts/ifup 文件。如下图:

image.png

修改完后,再执行 service network restart 即可。

2. 修改 /etc/named.conf 配置文件

在末尾添加配置信息即可。

注意:其中 “bzu.com.zone” 和 “1.zone” 就是我们过会儿要创建的文件。

1
2
3
4
5
6
7
8
zone "bzu.com" IN {
    type master;
    file "bzu.com.zone";
};
    zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "1.zone";
};

3. 在 /var/named 下新建正向和反向解析文件,并修改配置信息

也可直接复制该目录下的 localhost.zone 文件,然后修改配置。

bzu.com.zone 文件配置信息:

1
2
3
4
5
6
7
8
9
$TTL 86400
@	1D IN	SOA	dns.bzu.com. mail.bzu.com. (
                42		; serial (d. adams)
                3H		; refresh
                15M		; retry
                1W		; expiry
                1D	)	; minimum
@	IN NS	dns.bzu.com.
www	IN A	192.168.1.2

1.zone 文件配置信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$TTL 86400
@   1D IN   SOA	dns.bzu.com. mail.bzu.com. (
                42		; serial (d. adams)
                3H		; refresh
                15M		; retry
                1W		; expiry
                1D	)	; minimum
@   IN NS   dns.bzu.com.
www IN A    192.168.1.2
2   PTR     dns.bzu.com.

4. 启动 named 服务,检测 DNS 是否配置成功

在终端键入命令:

1
nslookup

若出现以下内容,说明 DNS 配置成功。