Linux--DNS域名解析,理论+实操(BIND域名服务基础(DNS系统的类型和作用,BIND的安装和配置文件),DNS域名解析实验

前言

  • 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

  • 域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。

  • 互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。

一:BIND域名服务基础

  • DNS服务软件BIND(Berkeley Internet Name Domain,伯克利因特网域名)
  • 服务:可通俗理解为主配置文件+运行脚本

1.1:DNS系统的作用及类型

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

​ 正向解析:根据主机名称(域名,如www.baidu.com)查找对应的IP地址
​ 反向解析:(一般维护的时候使用)根据IP地址查找对应的主机域名

  • DNS系统的分布式数据结构
    在这里插入图片描述
    分析http://www.sina.com.cn.
结构部分 解释
. 根域名
com.cn 顶级域名
sina 二级域名
www 主机位
http:// 协议
1.1.2:DNS系统的类型
  • 实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)

  • 根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录,)和反向区域(包含IP地址到域名的解析记录)

  • 根据所管理的区域数据的来源不同,DNS系统可以分为不同的类型。

​ 在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。

  • 常见的几种类型

  • 缓存域名服务器

也称为DNS高速缓存服务器

通过向其他域名服务器查询获得域名-> IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度,但是没有自己控制的区域地址数据

构建缓存域名服务器时,必须设置根域或者指定其他DNS服务器作为解析来源

  • 主域名服务器

维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器,官方服务器

负责维护该区域内所有域名->IP地址的映射记录

构建主域名服务器时,需要自行建立所负责区域的地址数据文件

  • 从域名服务器

与主域名服务器提供完全相同的DNS解析服务,也称为辅助域名服务器,是对主域名服务器的热备份

其维护的域名->IP地址记录来源于主域名服务器

构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库

1.2:BIND的安装文件

  • BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的,BIND可以运行在大多数Linux/UNIX主机中

  • BIND

    伯克利Internet域名服务

    官方站点:https://www/isc/org/

    可以直接使用yum安装

  • 相关软件包

软件包 作用
bind 提供了域名服务的主要程序及相关文件
bind-utils 提供了对DNS服务器的测试工具,如nslookup等
bind-libs 提供了bind,bind-utils需要使用的库函数
bind-chroot 为BIND服务提供一个伪装的根目录(/var/named/chroot)以提高安全性

1.3:BIND服务

  • BIND服务器端程序

主要执行程序:/usr/sbiin/named

默认监听端口:53

主配置文件: /etc/named.conf

保存DNS解析记录的数据文件位于: /var/named/

  • BIND服务控制

systemctl status|startlstoplrestart named. service

  • BIND的配置文件
[root@localhost ~]# rpm -qc bind		    查看配置文件
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
1.3.1:named.conf主配置文件
  • 全局配置部分

设置DNS服务器的全局参数

包括监听地址/端口,数据文件的默认位置等

使用options{…};的配置段

[root@localhost ~]# vim /etc/named.conf
options {
    listen-on port 53 { any; };		       ipv4 监听地址和端口 {一般更改为any}
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";		区域数据文件的默认存放位置
        allow-query     { any; };		    允许使用本DNS服务的网段:{一般更改为any}
}
  • 区域配置部分

设置本服务器提供域名解析的特定DNS区域

包括域名,服务器角色,数据文件名等

使用zone“区域名”IN{…};的配置段

[root@localhost ~]# vim /etc/named.rfc1912.zones 
正向解析
zone "hw.com" IN {           正向“hw.com”区域
        type master;		类型为主域名服务器
        file "hw.com.zone";		区域数据文件为hw.com.zone
        allow-update { none; };      
};

反向解析
zone "10.168.192.in-addr.arpa" IN {         反向"192.168.10.0/24"区域
        type master;
        file "192.168.10.arpa";
        allow-update { none; };
};
1.3.2:区域数据配置文件
  • 1.全局TTL配置项及SOA记录

$TTL(Time To Live,生存时间)记录

SOA(Start Of Authority,授权信息开始)记录

分号“;”开始的部分表示注释信息

$TTL 1D		'有效解析记录的生存周期'
@       IN SOA  @ rname.invalid. (		                SOA标记,域名,管理邮箱
                                        2011030502  	更新序列号,可以是10位以内的整数  	
                                        1D              无效解析记录的生存周期 
                                        1W    	        失效时间,超过改时间仍无法下载则放弃
                                        3H              刷新时间,重新下载地址数据的间隔
     
M  分
H  时
W  周
D  天
  • 2.域名解析记录

地址解析记录用来设置DNS区域内的域名,IP地址印社关系,包括正向解析记录和反向解析记录

NS域名服务器(Name Server )记录

MX 邮件交换(Mail Exchange)记录

A 地址 (Address)记录,只用在正向解析区域中

CNAME别名(Canonical Name)记录

  • 		           NS		kevin.com.	        当前区域DNS服务器的
    IN	       MX       5	    mail.kevin.com.
    ns1		   IN		A		192.168.88.88
    www	       IN		A		6.6.6.6
    mail	   IN 		A		5.5.5.5
    ftp		   IN		CNAME	www
    *          IN 		A		3.3.3.3		泛域名解析,未匹配到的主机头到到此地址
    
  • 3.反向区域数据文件

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

例如,对于反向区域88.168.192.in-addr.arpa,添加的反向解析记录可以是以下形式

1 IN PTR  www.eee.com.		表示IP地址为192.168.88.1的主机的域名时www.eee.com
5 IN PTR  mail.eee.com.		 表示IP地址为192.168.88.5的主机的域名时mail.eee.com
  • 4.使用netstat命令查看服务状态
[root@localhost ~]# netstat -nuap | grep named		以数字形式显示当前系统中所有的UDP连接信息,同时显示对应的进程信息。
udp        0      0 192.168.122.1:53        0.0.0.0:*                           65212/named         
udp        0      0 192.168.197.142:53      0.0.0.0:*                           65212/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           65212/named         
udp6       0      0 ::1:53                  :::*                                65212/named         
[root@localhost ~]# netstat -ntap | grep named		以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。
tcp        0      0 192.168.197.142:53      0.0.0.0:*               LISTEN      65212/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      65212/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      65212/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      65212/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      65212/named 
    TCP: 用于连接DNS
    UDP: 用于快速解析DNS
1.3.3:区域数据配置文件的特殊应用
  • 基于域名解析的负载均衡

    同一域名对应到多个IP地址

  • 泛域名解析

    找不到精确对应的A记录时,使用“*”进行匹配

www 		IN		A		192.168.100.100		 轮询负载均衡
www 		IN		A		192.168.100.101
www 		IN		A		192.168.100.102
*           IN		A		192.168.100.100	             泛域名解析
1.3.4:对配置文件进行语法检查
  • 修改完区域数据文件以后,可以执行named-checkconf命令对该文件进行语法检查
  • 若zone文件中没有语法错误,系统将给出“OK”的提示信息
named-checkconf工具基本格式
named-checkconf -z [主配置文件]
[root@localhost ~]# named-checkconf -z /etc/named.conf
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone kevin.com/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
named-checkzone工具基本格式
named-checkzone <域名><区域数据文件>
[root@localhost ~]# named-checkzone kevin.com /var/named/kevin.com.zone 
zone kevin.com/IN: kevin.com/MX 'mail.kog.com' (out of zone) is a CNAME 'mail.kog.com.netsolmail.net' (illegal)
zone kevin.com/IN: loaded serial 0
OK

二:DNS解析实验

2.1:实验目的

通过www.hw.com解析出其对应的IP地址

2.2:实验环境

两台centos7,一台win7 或者win10

2.3:实验步骤

1.修改网卡信息

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  

在这里插入图片描述

[root@localhost ~]# setenforce 0            关闭核心防护
[root@localhost ~]# iptables -F                清除防火墙规则

2.安装BIND软件

[root@localhost ~]# yum -y install bind   

在这里插入图片描述
查看bind配置文件

[root@localhost ~]# rpm -qc bind                            

在这里插入图片描述

3.修改主配置文件

[root@localhost ~]# vim /etc/named.conf 

在这里插入图片描述
4.修改区域配置信息

[root@localhost ~]# vim /etc/named.rfc1912.zones 

在这里插入图片描述
5.保持源文件属性复制

[root@localhost ~]# cp -p /var/named/named.localhost /var/named/hw.com.zone
如果没有-p,后面操作会报错,因为属组不一样了

6.修改区域数据文件信息

[root@localhost ~]# vim /var/named/hw.com.zone 

在这里插入图片描述

7.设置DNS地址

[root@localhost ~]# echo "nameserver 20.0.0.47" > /etc/resolv.conf

8.启动bind服务

[root@localhost ~]# systemctl start named     named表示bind
[root@localhost ~]# host www.hw.com  

在这里插入图片描述

9.切换到win 7系统

在这里插入图片描述

10.通过nslookup解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJHz5Pmo-1594208759666)(C:\Users\kevin\AppData\Roaming\Typora\typora-user-images\image-20200707112034063.png)]

11.切换到第二台虚拟机

12.修改网卡信息

在这里插入图片描述

13.重启网卡

[root@localhost html]# service network restart 

14.安装httpd软件

[root@localhost ~]# yum -y install httpd

在这里插入图片描述

15.开启apache

[root@localhost html]# systemctl start httpd.service       关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service 

16.进入网页配置文件下,修改配置文件

[root@localhost ~]# cd /var/www/html/

[root@localhost html]# vim index.html

在这里插入图片描述

17.切换到win7 当中,访问www.hw.com

[root@localhost ~]# yum -y install httpd

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_47219942/article/details/107213681