小型网络中心服务器配置DNS服务器的安装与配置

Posted 抛物线.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小型网络中心服务器配置DNS服务器的安装与配置相关的知识,希望对你有一定的参考价值。

为保证总公司网络中心的FTP、WWW、DHCP、SMTP服务器能正常访问,以及各公司冈站能有相应的域名,拟建立两台DNS服务器,解析网络中心诸多服务器,具体描述如下:

  1. 建立DNS服务器,主域名服务器域名注册为wmmtest. edu. cn,网段地址为192. 168.217. *
    一台主域名服务器的域名为dns. wmmtest. edu. cn, IP地址为192.168. 217.155。
    一台辅域名服务器的域名为slave. wmmtest. edu. cn, IP 地址为192. 168. 217.156。
  2. WWW服务器的域名为www. wmmtest. edu. cn, IP地址为192. 168. 217.157。
  3. FTP服务器的域名为ftp. wmmtest. edu. cn, IP 地址为192. 168. 217.158。
  4. DHCP服务器的域名为dhcp. wmmtest. edu. cn, IP 地址为192. 168. 217.159。
  5. SMTP服务器的域名为smtp. wmmtest. edu. cn, IP 地址为192. 168. 217.160。

整个服务器实施流程如下:

1、DNS服务器分析

① 域名服务器及类型

域名服务器(Domain Name Server)是TCP/IP网络中极其重要的网络服务,它实现域名与IP地址之间的转换。网络上用IP地址来标识计算机,机器之间只相互认识IP地址,IP 地址不便于人们记忆,所以用域名来标识计算机。
要用域名来标识计算机,必须通过域名服务器(DNS)来实现域名和IP地址之间的映射和转换工作,即域名解析。
域名系统采用分布式数据系统结构,主要由3个部分组成。

  • 域名空间:结构化的域名层次结构和相应的数据。
  • 域名服务器:以区域(Zone) 为单位管理指定域名空间中的服务器数据,并负责其控制范围内所有主机的域名解析请求。
  • 解析器:负责向域名服务器提交解析请求。

目前,Linux系统中使用的DNS服务器软件是Bind,运行其守护进程named可完成网络中的城名解析任务。利用Bind软件,可建立如下几种类型的DNS服务器。

(1) 主域名服务器

主域名服务器Master Seve)从管理员创建的本地磁盘文件中加载域信息,是特定城中权威性的信息源。配置Intermet主域名服务器时需要一整套配置文件,包括主配置文件( named. conf)、正向域的区域文件、反向域的区域文件、根服务器信息文件(named. ca)。
一个域中只能有一个主域名服务器,有时为了分散域名解析任务,还可创建一个或多 个辅助域名服务器。

(2) 辅助域名服务器

辅助域名服务器(Slave Server)是主域名服务器的备份,具有主域名服务器的绝大部分功能。配置Internet辅助域名服务器时,只需要配置主配置文件即可,而不需要配置区域文件,因为区域文件可从主域名服务器转移过来,然后存储在辅助域名服务器。

(3) 缓存域名服务器
缓存域名服务器(Caching Server)本身不管理任何域,仅运行域名服务器软件。它从远程服务器获得域名服务器查询的回答,然后保存在缓存中,以后查询到相同的信息时可予以回答。配置缓存域名服务器时,只需要缓存文件即可。

② bind域名服务器的软件包

bind: DNS服务器软件。
bind-libs: DNS服务器的类库文件,默认安装。
bind-utils: DNS服务器的查询工具,默认安装。
bind-chroot: Chroot软件。

③ DNS服务器相关配置文件

配置域名服务器时需要使用一组文件,如下表所示:
其中最重要的是主配置文件named. conf。
named 守护进程运行时首先从named. conf 文件获取其他配置文件的信息,然后才按照各区域文件的设置内容提供域名解析服务。

文件选项文件名说明
主配置文件/etc/named.conf用于设置DNS服务器的全局参数,并指定区域文件名及其保存路径
根服务器信息文件/var/ named/named. ca ( 或/var/ named/named. root )是缓存服务器的配置文件,通常不需要手工修改
正向区域文件在/var/named/目录下,文件名由named. conf文件指定用于实现区域内主机名到IP地址的正向解析
反向区域文件在/var/named/目录下,文件名由named. conf文件指定用于实现区域内IP地址到主机名的反向解析

所有与DNS服务相关的配置文件分别保存在/etc和/var/named目录中。
使用chroot后,Bind程序的根目录为/var/named/chroot,即DNS服务器的配置文件都是相对此虚拟根目录的。

注意:

与RHEL5不同的是,RHEL7中/var/ named/chroot var/ named目录是/var/ named目录的硬链接 (即这两个目录是同一个目录),而/var/ named/chroot/etec目录中则是空的,当named服务启动后将把/etc目录下的named. conf等文件挂载到/ var/ namedchroo/ete目录中,named 服务一旦停止/var/named/chroot/etc目录又恢复为空的。

2、安装DNS服务器

[root@dnsmaster ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:79:22:a1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.217.155/24 brd 192.168.217.255 scope global dynamic eno16777736
       valid_lft 1191sec preferred_lft 1191sec
    inet6 fe80::20c:29ff:fe79:22a1/64 scope link 
       valid_lft forever preferred_lft forever
[root@dnsmaster ~]# 


安装软件:

[root@dnsmaster ~]# yum install -y bind bind-libs bind-utils bind-chroot

3、配置主域名服务器

① 编辑/etc/named.conf文件。
把options 
        listen-on port 53  127.0.0.1; ;
        改成
options 
        listen-on port 53  any; ;
       #允许任何IP地址监听
把
allow-query      localhost; ;
改成
allow-query      any; ;
   ## 允许所有人查询

改完之后如下所示:

[root@dnsmaster ~]# vi /etc/named.conf 
options 
        listen-on port 53  any; ;
        listen-on-v6 port 53  ::1; ;
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query      any; ;

② 编辑named.conf的辅助配置文件named.rfc.zones
[root@dnsmaster ~]# vi /etc/named.rfc1912.zones 
添加如下内容 :
zone "wmmtest.edu.cn" IN 
        type master;
        file "wmmtest.edu.cn.zone";
        allow-update  none; ;
;

zone "217.168.192.in-addr.arpa" IN 
        type master;
        file "192.168.217.arpa";
        allow-update  none; ;
;

③ 创建正向区域文件wmmtest.edu.cn.zone

配置如下:

[root@dnsmaster named]# vi /var/named/wmmtest.edu.cn.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
dns     in a    192.168.217.155
slave   in a    192.168.217.156
www     in a    192.168.217.157
ftp     in a    192.168.217.158
dhcp    in a    192.168.217.159
smtp    in a    192.168.217.160
④ 创建反向区域文件192.168.217.arpa
[root@dnsmaster named]# vi /var/named/192.168.217.arpa
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
5       in ptr  dns.wmmtest.edu.cn
6       in ptr  slave.wmmtest.edu.cn
7       in ptr  www.wmmtest.edu.cn
8       in ptr  ftp.wmmtest.edu.cn
9       in ptr  dhcp.wmmtest.edu.cn
10      in ptr  smtp.wmmtest.edu.cn

⑤ 重启域名服务(named守护进程)

注意:为了使主域名服务器能在其他计算机上起作用,需要关闭防火墙或者设置防火墙规则。(否则客户端使用host命令会出现提示信息:connection timed out:no servers could be reached)

[root@dnsmaster named]# setenforce 0
[root@dnsmaster named]# getenforce 
Permissive
[root@dnsmaster named]# systemctl stop firewalld
[root@dnsmaster named]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@dnsmaster named]# sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

重启named:

[root@dnsmaster named]# systemctl restart named
[root@dnsmaster named]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-10-13 18:11:03 EDT; 21s ago
  Process: 21736 ExecStart=/usr/sbin/named -u named -c $NAMEDCONF $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 21733 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 21739 (named)
   CGroup: /system.slice/named.service
           └─21739 /usr/sbin/named -u named -c /etc/named.conf

Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './DNSKEY/IN': 2001:500:12::d0d#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './NS/IN': 2001:500:12::d0d#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './DNSKEY/IN': 2001:503:c27::2:30#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './NS/IN': 2001:503:c27::2:30#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './DNSKEY/IN': 2001:500:1::53#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './NS/IN': 2001:500:1::53#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './DNSKEY/IN': 2001:dc3::35#53
Oct 13 18:11:03 dnsmaster named[21739]: network unreachable resolving './DNSKEY/IN': 2001:500:a8::e#53
Oct 13 18:11:04 dnsmaster named[21739]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
Oct 13 18:11:05 dnsmaster named[21739]: resolver priming query complete
[root@dnsmaster named]# 

4、配置辅助域名服务器

[root@dnsslaver ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:40:f2:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.217.156/24 brd 192.168.217.255 scope global dynamic eno16777736
       valid_lft 1768sec preferred_lft 1768sec
    inet6 fe80::20c:29ff:fe40:f2a7/64 scope link 
       valid_lft forever preferred_lft forever
[root@dnsslaver ~]# 

① 配置主域名服务器的正向区域文件wmmtest.edu.cn.zone
[root@dnsslaver ~]# vi /var/named/wmmtest.edu.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        ns      slave.wmmtest.edu.cn.  ###相对主服务器配置文件wmmtest.edu.cn.zone就增加了此行
        A       127.0.0.1
        AAAA    ::1
dns     in a    192.168.217.155
slave   in a    192.168.217.156
www     in a    192.168.217.157
ftp     in a    192.168.217.158
dhcp    in a    192.168.217.159
smtp    in a    192.168.217.160
~
~
② 配置主域名服务器的反向区域文件192.168.217.arpa
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        ns      slave.wmmtest.edu.cn.   ###相对主服务器配置文件192.168.217.arpa就增加了此行
        A       127.0.0.1
        AAAA    ::1
5       in ptr  dns.wmmtest.edu.cn
6       in ptr  slave.wmmtest.edu.cn
7       in ptr  www.wmmtest.edu.cn
8       in ptr  ftp.wmmtest.edu.cn
9       in ptr  dhcp.wmmtest.edu.cn
10      in ptr  smtp.wmmtest.edu.cn
~
③ 编辑辅助域名服务器named.conf的辅助配置文件named.rfc1912.zones

编辑/etc/named.rfc1912.zones

[root@dnsslaver ~]# vi /etc/named.rfc1912.zones 
// named.rfc1912.zones:
zone "wmmtest.edu.cn" IN 
        type slave;
        file "slaves/wmmtest.edu.cn.zone";
        masters  192.168.217.155; ;
       
;

zone "217.168.192.in-addr.arpa" IN 
        type slave;
        file "slaves/192.168.217.arpa";
        masters  192.168.217.155; ;
        
;

5、重启named守护进程

(与主域名一样,需要关闭防火墙和selinux等配置)

[root@dnsslaver ~]# systemctl restart  named.service
[root@dnsslaver ~]# systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-10-13 18:36:57 EDT; 2s ago
  Process: 14586 ExecStart=/usr/sbin/named -u named -c $NAMEDCONF $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 14583 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 14589 (named)
   CGroup: /system.slice/named.service
           └─14589 /usr/sbin/named -u named -c /etc/named.conf

Oct 13 18:36:57 dnsslaver named[14589]: zone wmmtest.edu.cn/IN: transferred serial 0
Oct 13 18:36:57 dnsslaver named[14589]: transfer of 'wmmtest.edu.cn/IN' from 192.168.217.155#53: Transfer status: success
Oct 13 18:36:57 dnsslaver named[14589]: transfer of 'wmmtest.edu.cn/IN' from 192.168.217.155#53: Transfer completed: 1 messages, 11 re...tes/sec)
Oct 13 18:36:57 dnsslaver named[14589]: zone 217.168.192.in-addr.arpa/IN: Transfer started.
Oct 13 18:36:57 dnsslaver named[14589]: transfer of '217.168.192.in-addr.arpa/IN' from 192.168.217.155#53: connected using 192.168.217.156#43846
Oct 13 18:36:57 dnsslaver named[14589]: zone 217.168.192.in-addr.arpa/IN: transferred serial 0
Oct 13 18:36:57 dnsslaver named[14589]: transfer of '217.168.192.in-addr.arpa/IN' from 192.168.217.155#53: Transfer status: success
Oct 13 18:36:57 dnsslaver named[14589]: transfer of '217.168.192.in-addr.arpa/IN' from 192.168.217.155#53: Transfer completed: 1 messa...tes/sec)
Oct 13 18:36:57 dnsslaver named[14589]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
Oct 13 18:36:57 dnsslaver named[14589]: resolver priming query complete
Hint: Some lines were ellipsized, use -l to show in full.
[root@dnsslaver ~]# 

可以使用host、nslookup、dig命令查看DNS服务

下面介绍下,整个涉及的配置文件说明:

① 主配置文件named.conf

最常用的配置语句有两个:options语句和zone语句。
(1) options 语句
options 语句定义服务器的全局配置选项,其基本格式如下。

  options

  配置子句;;

  其中最常用的配置子句如下。
  • directory“ 目录名”:定义区域文件的保存路径,默认为/var/ named,通常不需要修改。
  • forwadersIP地址:定义将域名查询请求转发给其他DNS服务器。

(2) zone 语句
zone语句用于定义区域,其中必须说明域名、DNS服务器的类型和区域文件名等信息,其基本格式如下。

zone“域名”

     type服务器类型;
     file“区域文件名称”;
     其他配置子句;;


type子句说明DNS服务器的类型。
如果参数为master,  表明是主域名服务器;
参数为slave,表明是辅助域名服务器;
参数为hint,表明区域是根区域。
② 根服务器信息文件named. ca和named. root

DNS服务器总是采用递归查询,当本地区域文件无法进行域名解析时,将转向根DNS服务器查询。
因此,必须在主配置文件named. conf中定义根区域,并指定根服务器信息文件,如下所示。

zone"."
type hint;
file“named. ca“;;



虽然根服务器信息文件名可由用户自定义,但为了管理方便,通常取名为named.ca。
RHEL默认不提供named. ca文件,因此最好从国际互联网信息中心( InterNIC)下载最新版本,地址为ftp://ftp.rs. internic.net/domain/named.root,

复制该网页的内容,并保存到/var/named/chroot/var/named目录的named.ca文件中。
③ 正向区域文件

正向区域文件的文件名由主配置文件named.conf指定。一台DNS服务器内可以有多个区域文件,同一区域文件也可以存放在多台DNS服务器内。正向区域文件实现从域名到IP地址的解析,主要由若干个资源记录组成,其标准的格式如下:

$TTL 1D
域名       IN SOA  主机名 管理员 电子邮件地址 (
                                        0       ; serial  序列号
                                        1D      ; refresh  刷新时间
                                        1H      ; retry  重试时间
                                        1W      ; expire  过期时间
                                        3H )    ; minimum  最小时间
        IN	NS	域名服务器
区域名	IN	NS	域名服务器
主机名	IN	A	IP 地址
别名	IN	CNAME	主机名
区域名	IN	MX	优先级	邮件服务器

(1) SOA记录

SOA ( Start of Authority, 授权起始)记录是主域名服务器的区域文件中必不可少的记录并总是处于文件中所有记录的最前面。
SOA记录定义域名数据的基本信息和属性。
首先需要指定域名,通常使用“@”符号表示使用named. conf文件中zone语句定义的域名。
然后指定主机名,如“www. wmmtest. edu. cn”,注意此时以“.”结尾。这是因为区域文件中规定凡是以“.”结束的名称都是完整的主机名,而没有以“.”结束的名称都是本区域的相对域名。

接着指定管理员的电子邮件地址。

  • 由于“@”符号在区域文件中的特殊含义,因此管理员的电子邮件地址中不能使用“@”符号,而使用“.”符号代替。

  • 序列号:表示区域文件的内容是否已更新。当辅助域名服务器需要与主域名服务器同步数据时,将比较这个数值。
    如果此数值比上次的更新值大,则进行数据同步。
    序列号可以是任何数字,只要它随着区域中记录的修改不断增加即可。
    但为了方便管理,常见的序列号格式为年月日当天修改次数,如2019101301, 表示此区域文件是2019年10月13日第1次修改的版本。

  • 刷新时间:指定辅助域名服务器更新区域文件的时间周期。

  • 重试时间:辅助域名服务器如果在更新区域文件时出现通信故障,则指定多长时间后重试。

  • 过期时间:当辅助域名服务器无法更新区域文件时,指定多长时间后所有资源记录无效。最小时间:指定资源记录信息存放在缓存中的时间。以上时间的表示方式有以下两种。

  • .数字式:用数字表示,默认单位为秒,如21600, 即6小时。

  • 时间式:以数字与时间单位结合方式表示,如6H。

(2) NS记录
(name server)记录指明区域中DNS服务器的主机名,也是区域文件中不可缺少的资源记录。格式如下
IN NS 域名
区域名 IN NS 域名

(3) A记录
A (Address地址)记录指明域名与IP地址的相互关系,仅用于正向区域文件。
通常仅础完整域名中最左端的主机名,格式如下:
主机名In A IP地址

(4) CNAME记录
CNAME记录用于为区域内的主机建立别名,仅用于正向区域文件。
别名通常用于一个IP地址对应多个不同类型服务器的情况。
格式如下:
别名 IN CNAME 域名(主机名)

当然,利用A记录也可以实现别名功能,可以让多个主机名对应相同的P地址,假设主名A是主机名B的别名,则也可表示为如下形式:
主机名A IN A IP地址
主机名B IN A IP地址

(5) MX记录
MX记录用于指定区域内邮件服务器的域名与IP地址的相互关系,仅用于正向区域文件。
MX记录中也可指定邮件服务器的优先级别,当区域内有多个邮件服务器时,根据其优先级别决定其执行的先后顺序,数字越小越早执行。
格式如下:
区域名 IN MX 优先级 邮件服务器名

④反向区域文件

反向区域文件的结构和格式与正向区域文件类似,它主要实现从IP地址到城名的反向解析:
标准格式如下:

$TTL 1D
域名       IN SOA  主机名 管理员 电子邮件地址 (
                                        0       ; serial  序列号
                                        1D      ; refresh  刷新时间
                                        1H      ; retry  重试时间
                                        1W      ; expire  过期时间
                                        3H )    ; minimum  最小时间
        IN	NS	域名服务器
IP		IN 	PTR	主机名(域名)

(1) SOA记录和NS记录
反向区域文件同样必须包括SOA记录和NS记录,其结构和形式与正向区域文件的完全相同。

(2) PTR记录
PTR记录用于实现IP地址与域名的逆向映射,仅用于反向区域文件。通常仅写出完整IP地址的最后一部分。

注意:每一个区域文件都以SOA记录开始,并一定包含NS记录。正向区域文件可能包含A记录、MX记录、CNAME记录;反向区域文件包含PTR记录。需要特别注意的是,区域文件中各行的格式也很重要,一定要用Tab键将其对齐

以上是关于小型网络中心服务器配置DNS服务器的安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

【Windows Server 2019】DNS服务器的配置与管理——DNS反向解析

小型公司网络组建及WEB服务配置及DNS解析

linux配置dns服务器配置命令

当AD域与DNS不再一台服务器上时配置

小型网络中心服务器配置WWW服务器的安装与配置

linux-DNS域名正向解析服务程序BIND安装与配置