Linux——DNS域名解析 理论详解!!


前言

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

一、BIND域名服务基础

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

1.1:DNS系统的作用及类型

1.1.1:DNS系统的作用

  • DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析。
  • 正向解析:根据主机名称(域名,如www.baidu.com)查找对应的IP地址
  • ​ 反向解析:(一般维护的时候使用)根据IP地址查找对应的主机域名

在这里插入图片描述

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安装

  • 相关软件包

在这里插入图片描述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值