理论+实验——(Linux网络)DNS域名解析服务

文章目录

  • 前言
  • 一、BIND 域名服务基础
    • 1、DNS 系统的作用及基础
      • (1)DNS 系统的作用
      • (2)DNS 系统的类型
    • 2、BIND 的安装和配置文件
      • (1)安装BIND 软件
      • (2)BIND 服务
        • (1)主配置文件
        • (2)区域数据配置文件
        • (3)区域数据配置文件的特殊应用
        • (4)对配置文件进行语法检查
  • 二、构建缓存域名服务器
  • 三、构建主从域名服务器

前言

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。

一、BIND 域名服务基础

1、DNS 系统的作用及基础

(1)DNS 系统的作用

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析。
正向解析:根据域名查相对应的IP地址
反向解析:根据IP地址查相对应的域名
DNS系统的分布式数据结构
理论+实验——(Linux网络)DNS域名解析服务_第1张图片

(2)DNS 系统的类型

实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录,)和反向区域(包含IP地址到域名的解析记录)。
根据所管理的区域数据的来源不同,DNS系统可以分为不同的类型。在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。如下常见的几种类型:
理论+实验——(Linux网络)DNS域名解析服务_第2张图片理论+实验——(Linux网络)DNS域名解析服务_第3张图片

2、BIND 的安装和配置文件

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

(1)安装BIND 软件

系统光盘自带了BIND服务的安装软件,可以用yum进行安装,主要包括以下几个软件包:
理论+实验——(Linux网络)DNS域名解析服务_第4张图片
各软件包的主要作用如下。
bind:提供了域名服务的主要程序及相关文件
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等
bind-libs:提供了bind,bind-utils需要使用的库函数
bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot文件夹作为BIND的根目录),以提高安全性

(2)BIND 服务

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

(1)主配置文件

①全局配置部分
理论+实验——(Linux网络)DNS域名解析服务_第6张图片
②区域配置部分
理论+实验——(Linux网络)DNS域名解析服务_第7张图片

(2)区域数据配置文件

①TL配置及SOA记录部分
理论+实验——(Linux网络)DNS域名解析服务_第8张图片
②地址解析记录部分
理论+实验——(Linux网络)DNS域名解析服务_第9张图片
理论+实验——(Linux网络)DNS域名解析服务_第10张图片

(3)区域数据配置文件的特殊应用

理论+实验——(Linux网络)DNS域名解析服务_第11张图片

(4)对配置文件进行语法检查

理论+实验——(Linux网络)DNS域名解析服务_第12张图片

二、构建缓存域名服务器

缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对互联网访问的出口量。
1、建立主配置文件named.conf
理论+实验——(Linux网络)DNS域名解析服务_第13张图片
另外需要额外添加一行参数

forwarders { 20.0.0.13; }

2、确认根域的区域数据文件named.ca
根区域的区域数据文件默认位于/var/named/named.ca中,该文件记录了Internet中根域服务器的域名和IP地址等相关信息。
3、启动named 服务
执行“systemctl stat named”命令,启动named服务。
4、验证缓存域名服务器

nslookup www.bdqn.com

完成解析即成功

三、构建主从域名服务器

1、构建主域名服务器(20.0.0.11)
(1)设置主配置文件
理论+实验——(Linux网络)DNS域名解析服务_第14张图片
(2)设置区域配置文件

vi /etc/named.rfc1912.zones
zone "bdqn.com" IN {
        type master;
        file "bdqn.com.zone";
        allow-transfer { 20.0.0.12; };
        also-notify { 20.0.0.12; };
};
zone "0.0.20.in-addr.arpa" IN {
        type master;
        file "20.0.0.arpa";
        allow-transfer { 20.0.0.12; };
        also-notify { 20.0.0.12; };
};

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

[root@r1 ~]# cd /var/named/
[root@r1 named]# cp named.localhost bdqn.com.zone
[root@r1 named]# vi bdqn.com.zone 
$TTL 1D
@       IN SOA  bdqn.com. admin.bdqn.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.11.119
www IN  A       192.168.11.119
ftp IN  A       192.168.11.118
mail IN CNAME   www

[root@r1 named]# chown named:named /var/named/bdqn.com.zone
[root@r1 named]# cp named.loopback 20.0.0.arpa
[root@r1 named]# vi 20.0.0.arpa 
$TTL 1D
@       IN SOA  bdqn.com.admin.bdqn.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      bdqn1.com.
        A       20.0.0.100
119 IN  PTR     www.bdqn1.com.
120 IN  PTR     ftp.bdqn1.com.
121 IN  PTR     bbs.bdqn1.com.

记得开启named服务
在这里插入图片描述
2、构建从域名服务器(20.0.0.12)
(1)设置主配置文件

[root@r2 ~]# vi /etc/named.conf 
options {
        listen-on port 53 { 20.0.0.12; };
        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";
        allow-query     { any; };
        
zone "bdqn.com" IN {
        type slave;
        masters { 20.0.0.11; };
        allow-notify { 20.0.0.11; };
        file "slaves/bdqn.com.zone";
};
zone "0.0.20.in-addr.arpa" IN {
        type slave;
        masters { 20.0.0.11; };
        allow-notify { 20.0.0.11; };
        file "slaves/20.0.0.arpa";
};
[root@r2 ~]# cd /var/named/slaves/
[root@r2 slaves]# ll
total 0
[root@r2 slaves]# systemctl start named
[root@r2 slaves]# ll
total 8
-rw-r--r-- 1 named named 400 Jul 30 01:29 20.0.0.arpa
-rw-r--r-- 1 named named 311 Jul 30 01:29 bdqn.com.zone

(3)验证主域名服务器(20.0.0.13)

[root@localhost ~]# vi /etc/resolv.conf 
nameserver 20.0.0.11
nameserver 20.0.0.12
[root@localhost ~]# nslookup www.bdqn.com
Server:         20.0.0.11
Address:        20.0.0.11#53

Name:   www.bdqn.com
Address: 192.168.11.119

[root@localhost ~]# nslookup 20.0.0.119
Server:         20.0.0.11
Address:        20.0.0.11#53

119.0.0.20.in-addr.arpa name = www.bdqn1.com.

[root@localhost ~]# nslookup 20.0.0.120
Server:         20.0.0.11
Address:        20.0.0.11#53

120.0.0.20.in-addr.arpa name = ftp.bdqn1.com.

[root@localhost ~]# nslookup 20.0.0.121
Server:         20.0.0.11
Address:        20.0.0.11#53

121.0.0.20.in-addr.arpa name = bbs.bdqn1.com.
[root@localhost ~]# vi /etc/resolv.conf 
#nameserver 20.0.0.11
nameserver 20.0.0.12
:wq
[root@localhost ~]# nslookup www.bdqn.com
Server:         20.0.0.12
Address:        20.0.0.12#53

Name:   www.bdqn.com
Address: 192.168.11.119

[root@localhost ~]# nslookup 20.0.0.119
Server:         20.0.0.12
Address:        20.0.0.12#53

119.0.0.20.in-addr.arpa name = www.bdqn1.com.

[root@localhost ~]# nslookup 20.0.0.120
Server:         20.0.0.12
Address:        20.0.0.12#53

120.0.0.20.in-addr.arpa name = ftp.bdqn1.com.

[root@localhost ~]# nslookup 20.0.0.121
Server:         20.0.0.12
Address:        20.0.0.12#53

121.0.0.20.in-addr.arpa name = bbs.bdqn1.com.

你可能感兴趣的:(理论+实验,网络,Linux,linux,服务器)