DNS 域名解析服务

目录

1.1 BIND 域名服务基础

1.1.1 DNS 系统的作用及类型

1.1.2 BIND 的安装和控制

1.安装 BIND 软件

2.BIND 服务控制

1.1.3 BIND 服务的配置文件

1.主配置文件。

1)全局配置部分

2)区域配置部分

2.区域数据配置文件

1)TTL 配置及 SOA 记录部分

2)地址解析记录部分

1.2 使用 BIND 构建域名服务器

1.2.1 构建缓存域名服务器

1.建立主配置文件 named.conf

2.确认根域的区域数据文件 named.ca

3.启动 named 服务

4.验证缓存域名服务器

1.2.2 构建主域名服务器

1.确认本机的网络地址、主机映射、默认 DNS 服务器地址

2.建立主配置文件 named.conf

3. 建立正、反向区域数据文件

4. 启动 named 服务或重载配置

5. 验证主域名服务器

1.1 BIND 域名服务基础

1.1.1 DNS 系统的作用及类型

DNS 系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与 IP 地 址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

  • 正向解析:根据域名查 IP 地址,即将指定的域名解析为相对应的 IP 地址。域名的 正向解析是DNS 服务器最基本的功能,也是最常用的功能。
  • 反向解析:根据 IP 地址查域名,即将指定的 IP 地址解析为相对应的域名。域名的 反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证。

根据所管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台 DNS 服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下。

  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率, 但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定 其他 DNS 服务器作为解析来源。
  • 主域名服务器:维护某一个特定 DNS 区域的地址数据库,对其中的解析记录具有 自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务 器时,需要自行建立所负责区域的地址数据文件。
  • 从域名服务器:与主域名服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。关键区别在于,从域名服务器提供的解析结果不是由自己决定 的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位 置,以便服务器能自动同步区域的地址数据库。

1.1.2 BIND 的安装和控制

BIND 不是唯一能够提供域名服务的 DNS 服务程序,但它却是应用最为广泛的,BIND 可以运行在大多数 Linux/UNIX 主机中。其官方站点位于 https://www.isc.org/。

1.安装 BIND 软件

[root@localhost Server]# rpm -qa | grep "^bind" //查询是否已安装与BIND 相关的软件包
bind-utils-9.9.4-37.el7.x86_64
bind-license-9.9.4-37.el7.noarch
bind-libs-lite-9.9.4-37.el7.x86_64
bind-9.9.4-37.el7.x86_64
bind-libs-9.9.4-37.el7.x86_64
bind-chroot-9.9.4-37.el7.x86_64

2.BIND 服务控制

BIND 软件包安装完毕以后,会自动增加一个名为 named 的系统服务,通过 systemctl 工具可以控制 DNS 域名服务的运行。

[root@localhost ~]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
Active: inactive (dead)

1.1.3 BIND 服务的配置文件

使用 BIND 软件构建域名服务时,主要涉及两种类型的配置文件:主配置文件和区域数 据文件。其中,主配置文件用于设置 named 服务的全局选项、注册区域及访问控制等各种 运行参数;区域数据文件用于存放某个 DNS 区域的地址解析记录(正向记录或反向记 录)。

1.主配置文件。

1)全局配置部分
options {
listen-on port 53 { 173.16.16.1; }; //监听地址和端口
directory "/var/named"; //区域数据文件的默认存放位置
allow-query { 192.168.1.0/24; 173.16.16.0/24;}; //允许使用本 DNS 服务的网段
};
2)区域配置部分
zone "bdqn.com" IN { //正向"bdqn.com"区域
    type master; //类型为主区域
    file "bdqn.com.zone"; //区域数据文件为 bdqn.com.zone
    allow-transfer { 173.16.16.2; }; //允许下载的从服务器地址
};
zone "16.16.173.in-addr.arpa" IN { //反向"173.16.16.0/24"区域
    type master;
    file "173.16.16.arpa"; //区域数据文件为 173.16.16.arpa
};

在上述配置内容中,有几个地方需要注意:

  • 每个 zone 区域都是可选的(包括根域、回环域、反向域),具体根据实际需要而 定,zone 配置部分的“IN”关键字也可以省略。
  • 反向区域的名称由倒序的网络地址和“.in-addr.arpa”组合而成。
  • file 配置项用于指定实际的区域数据文件,文件名称由管理员自行设置。
  • 区域配置中的部分参数(如 allow-transfer)也可以放在全局配置中。

修改完主配置文件以后,可以执行“named-checkconf”命令对 named.conf 文件进行语 法检查。如果文件中没有语法错误,该命令将不给出任何提示;反之,则会给出相应的提 示信息,然后根据出错提示修正文件中的错误即可。

[root@localhost ~]# named-checkconf -z /etc/named.conf
zone bdqn.com/IN: loading from master file bdqn.com.zone failed: file not found
zone bdqn.com/IN: not loaded due to errors.
_default/bdqn.com/IN: file not found 
……

2.区域数据配置文件

1)TTL 配置及 SOA 记录部分

第一行的 TTL 配置用于设置默认生存周期,即缓存解析结果的有效时间。SOA 记录部 分用于设置区域名称、管理邮箱,以及为从域名服务指定更新参数。

$TTL 86400 //有效解析记录的生存周期
@ IN SOA bdqn.com. admin.bdqn.com.( //SOA 标记、域名、管理邮箱
 2011030501 //更新序列号,可以是10 位以内的整数
 3H //刷新时间,重新下载地址数据的间隔
 15M //重试延时,下载失败后的重试间隔
 1W //失效时间,超过该时间仍无法下载则放弃
 1D //无效解析记录的生存周期
)
2)地址解析记录部分

地址解析记录用来设置 DNS 区域内的域名、IP 地址映射关系,包括正向解析记录和反 向解析记录。反向解析记录只能用在反向区域数据文件中。

@      IN      NS  ns1.bdqn.com.
IN     MX            10 mail.bdqn.com.
ns1    IN      A   58.119.74.203
www    IN      A   173.16.16.1
mail   IN      A   173.16.16.4
ftp    IN      CNAME   www

上述配置内容中,用到以下四种常见的地址解析记录。

  • NS(Name Server,域名服务器):记录当前区域的 DNS 服务器的主机地址。
  • MX(Mail Exchange,邮件交换):记录当前区域的邮件服务器的主机地址,数字 10 表示(当有多个 MX 记录时)选择邮件服务器的优先级,数字越大,优先级越 低。
  • A(Address,地址):记录正向解析条目。
  • CNAME(Canonical Name,别名):记录某一个正向解析条目的其他名称。

在反向区域数据文件中,不会用到 A 记录,而是使用 PTR 指针(Point)记录。

1 IN PTR www.bdqn.com. 
4 IN PTR mail.bdqn.com.

修改完区域数据文件以后,可以执行“named-checkzone”命令对该文件进行语法检查。 依次指定区域名称、数据文件名作为参数。如果文件中没有语法错误,系统将给出“OK”的 提示信息。

[root@localhost ~]# cd /var/named/
[root@localhost named]# named-checkzone bdqn.com bdqn.com.zone
zone bdqn.com/IN: loaded serial 2011030501
OK

1.2 使用 BIND 构建域名服务器

1.2.1 构建缓存域名服务器

缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对 互联网访问的出口流量。

  • 缓存域名服务器的 IP 地址为 192.168.1.5,并能够正常访问互联网。
  • 缓存域名服务器代为处理客户端的 DNS 解析请求,并缓存查询结果。
  • 局域网内的各 PC 将首选 DNS 服务器地址设为 192.168.1.5。

1.建立主配置文件 named.conf

若使用范本文件创建 named.conf,应注意修改或删除默认的监听设置、查询控制,以 便能够为局域网段的客户机提供服务。

[root@localhost ~]# vi /etc/named.conf
options {
listen-on port 53 { 192.168.1.5; };
directory "/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";
query-source port 53;
allow-query { 192.168.1.0/24; };
recursion yes;
};
zone "." IN { //正向"."根区域
type hint; //类型为根区域
file "named.ca"; //区域数据文件为 named.ca
};

2.确认根域的区域数据文件 named.ca

根区域的区域数据文件默认位于文件/var/named/named.ca 中,该文件记录了 Internet 中 13 台根域服务器的域名和 IP 地址等相关信息。

3.启动 named 服务

[root@localhost ~]# systemctl start named
[root@localhost ~]# netstat -anpu | grep named
udp 0 0 192.168.1.5:53 0.0.0.0:* 11687/named
udp 0 0 0.0.0.0:53 0.0.0.0:* 11687/named

执行“systemctl start named”命令,启动 named 服务,并通过 netstat 命令确认 named 服务的端口监听状态。若服务启动失败或发现没有正常监听 UDP 53 端口,可以根据错误提 示信息(或者/var/log/messages 文件中的日志记录)排除错误,然后重启服务即可。

4.验证缓存域名服务器

在局域网内的客户机中,将首选 DNS 服务器的地址设为 192.168.1.5,生效后,执行 “nslookup www.google.com”命令对其进行解析,验证其是否能够获得该域名对应的 IP 地址 信息。

1.2.2 构建主域名服务器

1.确认本机的网络地址、主机映射、默认 DNS 服务器地址

[root@ns1etc]# tail -2 /etc/hosts
173.16.16.5 ns1.bdqn.com ns1
173.16.16.6 ns2.bdqn.com ns2
[root@ns1etc]# tail -2 /etc/resolv.conf
nameserver 173.16.16.5
nameserver 173.16.16.6

2.建立主配置文件 named.conf

[root@ns1 ~]# vi /etc/named.conf
options {
listen-on port 53 { 173.16.16.5; };
directory "/var/named";
allow-query { 173.16.16.0/24; };
};
zone "bdqn.com" IN {
type master; //类型为主区域
file "bdqn.com.zone"; //区域数据文件为 bdqn.com.zone
allow-transfer { 173.16.16.6; }; //允许从服务器下载正向区域数据
};
zone "16.16.173.in-addr.arpa" IN {
type master;
file "173.16.16.arpa"; //区域数据文件为 173.16.16.arpa
allow-transfer { 173.16.16.6; }; //允许从服务器下载反向区域数据
};

3. 建立正、反向区域数据文件

[root@ns1~]# cd /var/named/ //切换到区域文件的默认存放位置
[root@ns1 named]# vi bdqn.com.zone //创建正向区域数据文件
$TTL 86400
@ SOA bdqn.com. admin.bdqn.com. (
2011030301
4H
30M
12H
1D
)
@ IN NS ns1.bdqn.com.
IN NS ns2.bdqn.com.
IN MX 10 mail.bdqn.com. ns1 IN A 173.16.16.5
ns2 IN A 173.16.16.6
mail IN A 173.16.16.2
www IN A 173.16.16.1
study IN A 173.16.16.3
* IN A 173.16.16.1
[root@ns1 named]# vi 173.16.16.arpa //创建反向区域数据文件
$TTL 86400
@ SOA bdqn.com. admin.bdqn.com. (
2011030301
4H
30M
12H
1D
)
IN NS ns1.bdqn.com.
IN NS ns2.bdqn.com. 1 IN PTR www.bdqn.com. 2 IN PTR mail.bdqn.com. 3 IN PTR study.bdqn.com
5 IN PTR ns1.bdqn.com. 
6 IN PTR ns2.bdqn.com.

因为区域数据配置文件是手动创建的,默认的属主与属组均为 root 用户,而 named 服 务默认以名为“named”的用户身份运行。named 用户要对区域数据文件有读取权限。否则, BIND 服务将无法读取所创建的区域数据配置文件。

[root@ns1 named]# chown :named bdqn.com.zone
[root@ns1 named]# chown :named 173.16.16.arpa
[root@ns1 named]# ls -ld bdqn.com.zone 173.16.16.arpa
-rw-r-----. 1 root named 152 May 16 02:24 173.16.16.arpa
-rw-r-----. 1 root named 399 May 16 02:22 bdqn.com.zone

4. 启动 named 服务或重载配置

[root@localhost named]# systemctl reload named

5. 验证主域名服务器

C:\Users\Administrator>nslookup study.bdqn.com //验证正向域名解析
服务器: ns1.bdqn.com
Address: 173.16.16.5
名称: study.bdqn.com
Address: 173.16.16.3
C:\Users\Administrator>nslookup xxyyzz.bdqn.com //验证泛域名解析
服务器: ns1.bdqn.com
Address: 173.16.16.5
名称: xxyyzz.bdqn.com
Address: 173.16.16.1
C:\Users\Administrator>nslookup 173.16.16.2 //验证反向域名解析
服务器: ns1.bdqn.com
Address: 173.16.16.5
名称: mail.bdqn.com
Address: 173.16.16.2
  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值