DNS域名解析

一、DNS系统的作用

​ 正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

DNS系统的分布式数据结构

在这里插入图片描述

了解即可(几下13个根)

DNS作用
互联网中的114查号台/导航员
全球13台DNS根服务器分布:美国verisign公司2台
网络管理组织IANA(Internet Assigned Number Authority)1台
欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre)1台

美国PSINet公司1台
美国ISI (Information sciences Institute)1台

美国Isc(Internet software Consortium)1台美国马里兰大学(university of Maryland)1台美国太空总署(NASA)1台
美国国防部1台
美国陆军研究所1台挪威NORDUnet1台
日本wIDE(widely Integrated Distributed Environments)研究计划1台
“全世界只有13台(这13台根域名服务器名字分别为"A"至”“w”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
全球互联网DNS根服务器分布差异巨大。
全球互联网中枢顶级域名服务器的分布俗称"母服务器",准确的说法是世界上有13个根服务器系统。其实全球至少有1000多台根服务器,北京有3台。另外,在这13个根服务器系统之上,还有一个更高级的、隐藏着的母服务器。全世界所有的顶级域名,都是由这台母服务器来确定的。全球1000多台根服务器上的解析系统都是这台母服务器的复制,这13个根服务器系统由12家机构管理,分布在全球100多个地区。所以每一个编号的根服务器系统,不是一台机器,而是有几十台或上百台服务器。
目前广泛使用的互联网是第一代互联网,采用的互联网协议版本号为4,即IPv4。美国是第一代互联网的创立者,占有网络核心资源,处于绝对垄断地位。随着互联网的蓬勃发展,对I地址的需求也迅猛增加,IPv4所能提供的地址很快将发完。第二代互联网所依据的协议是IPv6。它可以提供无限数量的IP地址。

DNS是什么?
DNS域名系统(Domain Name System缩写DNS,DomainName被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名(域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验正。)
DNS使用的协议及端口号:
DNS的默认端口为53。DNS端口分为TCP和UDP。

1、TCP是用来做区域传送,多用于主从同步
在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。
2、UDP是用来做DNS解析的
域名:通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Name,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用".“分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com。
例如,google为 com域的子域,其表示方法为 google.com,而 www为 google域中的子域,可以使用www .google.com. 表示。
注意:通常,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符 a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如"google.com”)或者FQDN的结尾使用。域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域
即全域名:同时带有主机名和域名的名称
FQDN = Hostname + DomainName
如: www .baidu .com.
注意:最前面的一定是主机,最后一个点表示根域,通常是省略不写的,但实际上www .abc.com=www .abc.com.

域名结构:

http://www .sina.com.cn./

http://主机名.子域.二级域.顶级域 根域/

二、DNS系统类型2-1

缓存域名服务器
也称为DNS高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

原理:

(1)先查本机的缓存记录

(2)查询hosts文件
(3)查询dns域名服务器,交给dns域名服务器处理

以上过程成为递归查询:我要一个答案你直接会给我结果
(4)这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

(5)求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
(6)求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
(7)求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

(8)本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

前4步是本地服务器

补充:

windows系统查询dns缓存命令: ipconfig /displaydns

windows系统清理dns缓存命令: ipconfig /flushdns
linux清dns缓存需要安装nscd软件,启动、执行nscd -i hosts
在这里插入图片描述

两种查询方式

(1)递归查询
递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

(2)迭代查询
DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台 DNS服务器地址,客户机再向这台 DNS服务器提交请求,依次循环直到返回查询的结果为止。
总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果的时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反。

从递归和迭代查询可以看出:

客户端–本地DNS服务器:这部分属于递归查询;

本地DNS服务端–外网:这部分属于迭代查询;

递归查询时,返回的结果只有两种:查询成功或查询失败;

迭代查询又称作重指引,返回的是最佳的查询点或者主机地址;

递归交给更服务器来找,迭代要自己一个个的查

三、DNS系统类型2-2

主域名服务器
特定DNS区域的权威服务器,具有唯一性

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

需要自行建立所负责区域的地址数据文件
从域名服务器
也称为辅助域名服务器,是对主域名服务器的热备份
其维护的域名->IP地址记录来源于主域名服务器

需要从主域名服务器自动同步区域地址数据库

DNS的分布式互联网解析库

大型、分布式的互联网DNS解析库
根.根域名DNS服务器:专门负责根域名
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)

.com(工商企业)
.net (网络供应商)

.edu(教育机构)

.cn (中国国家域名)

.org(团体组织)

.gov(政府部门)
二级DNS服务器:专门负责二级域名的解析

.net.cn
.edu.cn

.com.cn
子域名DNS服务器:专门负责子域名的解析也称为三级域名

ina. com. cn
.pku.edu.cn

主机站点

tts9
tts6

mail

www

IANA,互联网数字分配机构
Internet Assigned Numbers Authority, #整个域名系统的最高权威机构
主管DNS根、.int、.arpa等国际化域名资源CNNIC,中国互联网络信息中心-

China lnternet Network Information Center
主管国家顶级域.cn
域名代理/注册/购买服务商
新网,http : / / www .xinnet.com

万网,http : / / www .net.cn
中国互联,http : / / hulian.top

中国数据

域名体系结构
所有的域名必须以点结尾
www .qq.com. www. baidu .com

根域名(.)
一级域名: .cn(中国) .us(美国) .tw(台湾).kr(韩国) .jp(日本) .hk(香港) .uk(央国)…………

二级域名: .com.cn(中国商业组织) .edu.cn(教育机构) .org.cn (非盈利) .net.cn(中国运营商)
三级域名: sina.com.cn nb.com.cn haixi.com.cn …

组织域: .com .org .net .CC
国家域: .cn .tw (台湾).hk(香港) .iq .ir .jp (日本)

反向域
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
8.8.8.8是GOOGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用223.5.5.5和223.6.6.6:阿里云DNS
IPv6 2400:3200: :1和 2400:3200 :baba : : 1 江苏省南京市(中国电信)
首选DNS为: 218.2.135.1 备用DNS为: 61.147.37.1
FQDN:(Fully Qualified Domain
Name)全限定域名: 同时带有主机名和域名的名称。从全限定域名中包含的信息可以看出主机在域名树中的位置。正向解析:FQDN--------IP(一对多)------一般使用正向解析
反向解析:IP------------FQDN

DNS服务器系统类型
DNS服务器类型:
(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

这三个配置文件很重要

四、实验:正向解析

1.yum install bind -y

  1. /etc/logrotate.d/named #主配置文件控制系统全局
    /etc/named.rfc1912.zones #区域配置文件控制具体单个区域
    /var/named/named.localhost #区域数据配置文件区 区域信息

在这里插入图片描述

3.备份

在这里插入图片描述

4.修改配置文件/etc/named
在这里插入图片描述

在这里插入图片描述

listen-on port 53 ( 192.168.80.10; }; #监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有 #listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
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 { 192.168.100.0/24; 172.16.80.0/24; }; #允许使用本DNS解析服务的网段,也可用any代表所有

在这里插入图片描述

zone ".”IN{ #正向解析”."根区域

​ type hint; #类型为根区域
​ file “named.ca”;

}; #区域数据文件为 named.ca#记录了13台根域服务器的域名和IP地址等信息

include “/etc/named. rfc1912. zones”; #包含区域配置文件里的所有配置

6.配置1912文件

在这里插入图片描述

加一段这个,其他配置不要动

在这里插入图片描述

zone "benet.com"IN
{ #正向解析"benet.com"区域
type master; #类型为主区域
file “benet.com.zone”; #指定区域数据文件为benet.com.zone

allow-update { none; } ;
};

7.备份named.localhost ,然后进行配置

在这里插入图片描述

com后的.不可忘
在这里插入图片描述

@ in SOA benet.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS benet.com. #记录当前区域的DNS服务器的名称
A 192.168.100.80 #记录主机IP地址
IN MX 10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.100.80 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.100.81 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名

*IN A 192.168.100.200 #泛域名解析,“ *"代表任意主机名

#“@”这里是一个变量,当前DNS区域名
#SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。

#“admin.benet.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”代替
#IN 表示internet

8.换成桥接模式VM1(解析的是公网的114.114.114.114,所以不能用nat模式的网段)
在这里插入图片描述

更改配置必须与benent.com中的地址一样

在这里插入图片描述

不配置这个域名转换时会出现不可达的问题

在这里插入图片描述

9.启动named,关闭防火墙,host域名解析成功。

在这里插入图片描述

实验:反向解析

1.配置vim /etc/named.conf

在这里插入图片描述

反向解析需要放在第二张图的下面,正向解析放在第二张图的上面

注意这里的100前不能加数字,不然无法表示一个网段

在这里插入图片描述

3.给/var/named下的文件授权不然可能无法解析

在这里插入图片描述

这里的100,200,是192.168.100.80通过192.168.100.100/200这个ip来访问www,mail(PTR反向指针:反向解析)
在这里插入图片描述
在这里插入图片描述

​ rndc reload也可以重载配置文件

#如果服务启动卡住,可以执行下面命令解决:rndc-confgen -r /dev/urandom -a
#对域名语法进行检查( named.conf)named-checkconf -z /etc/ named.conf

补充:

攻击南京法院得先攻击360,因为这是在360平台下的一个别名

在这里插入图片描述

五、DNS主从同步

DNS服务器类型:
(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

实验步骤:

实验环境:
主服务器:192.168.100.80
从服务器:192.168.100.17

配置主服务器192.168.100.80

1.主配置文件

vim /etc/named.conf
listen-on port 53{} 中值为any
allow-query{}中值改为any

2.区域配置文件

vim /etc/named.rfc1912.zones
zone “benet.com” IN {
type master; //类型为主区域
file “benet.com.zone”;
allow-transfer { 192.168.100.17; }; //设置从服务器地址
};

zone “100.168.192.in-addr.arpa” IN {
type master;
file “benet.com.zone.local”;
allow-transfer{ 192.168.100.17; };
};

3.配置正向区域数据文件

cd /var/named/

cp -p named.localhost benet.com.zone

vim /var/named/benet.com.zone

$TTL 1D #有效解析记录的生命周期,默认单位为秒

@ in SOA benet.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS benet.com. #记录当前区域的DNS服务器的名称
A 192.168.100.80 #记录主机IP地址
IN MX 10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.100.80 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.100.81 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名

*IN A 192.168.100.200 #泛域名解析,“ *"代表任意主机名.

配置从服务器192.168.100.17

yum install -y bind
vim /etc/named.conf
options {
listen-on port 53 { 192.168.100.17; }; #监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
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; }; #允许使用本DNS解析服务的网段,也可用any代表所有
}

修改从域名服务器区域配置文件,添加正、反区域配置

vim /etc/named.rfc1912.zone
zone “benet.com” IN {
type slave; //类型为从区域
file “slaves/benet.com.zone”; //下载的区域数据文件保存到slaves/目录下(即是路径)
masters { 192.168.100.80; }; //设置主服务器地址
};

zone “100.168.192.in-addr.arpa” IN {
type slave;
file “slaves/benet.com.zone.local”;
masters { 192.168.100.80; };

###主、从都重启动服务,并查看区域数据文件是否已下载成功
systemctl restart named
ls -1 /var/named/slaves/

#####在客户端的域名解析配置文件中添加从DNs服务器地址
echo “nameserver 192.168.100.17” >> /etc/ resolv.conf

####测试
host 192.168.100.80
nslookup 192.168.100.17

#停止主服务器的服务,模拟主服务器故障

图:

主DNS服务器配置

1.yum install bind httpd -y

2.主配置文件

在这里插入图片描述

3.配置区域文件
在这里插入图片描述

加一段主从的正向解析
在这里插入图片描述

加一段主从的反向解析

在这里插入图片描述

4.主从DNS服务器都要写

在这里插入图片描述

  1. systemctl restart named

从DNS服务器配置

1.yum install bind httpd -y

2.配置从DNS服务器的主配置文件

在这里插入图片描述

3.配置区域文件

在这里插入图片描述

正向解析配置文件

在这里插入图片描述

反向解析配置文件
在这里插入图片描述

systemctl restart named

在这里插入图片描述

六、DNS分离解析

实验环境:
主服务器:192.168.20.80 网卡vmnet2
Web服务器:192.168.20.80 网卡vmnet3

外网客户主机:10.0.0.101 网卡vmnet3 DNS:10.0.0.100

原理:

分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址区域的客户机请求解析同一域名时,为其提供不同的解析结果,得到不同的IP地址。

注:DNS分离解析即将内外网的相同域名解析为不同的IP地址。现实网络中一些电商网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度。

配置网关服务器搭建DNS分离解析
在网关服务器搭建DNS分离解析,使局域网主机解析www .benet.com为192.168.100.80,外网主机解析 www .benet.com 为10.0.0.100。

nslookup www .benet.com 解析出192.168.20.80和10.0.0.150就行

在这里插入图片描述

实验:

1.添加3个网络适配器,分别为VMnet1,2,3并且设为仅主机模式

在这里插入图片描述

2.配置ens33(这里配置vmnet1,因为扫描时ens33默认扫描的是vm1所以配VM1的ip)

在这里插入图片描述

创建ens37

在这里插入图片描述

对ens37进行配置(VMnet2)
在这里插入图片描述

配置ens38(VMnet3),配置完后systemctl restart network

在这里插入图片描述

3.配置主文件

在这里插入图片描述

配置区域文件
在这里插入图片描述

清空,然后全部自己输,画圈区域为/etc/named.conf 区域的根,把它剪切到这里,named.conf里就不用了

在这里插入图片描述

4.配置benet.com.zone.lan

在这里插入图片描述

配置benet.com.zone.wan

在这里插入图片描述

5.配置resolve.conf

在这里插入图片描述

  1. 启动named,解析成功

在这里插入图片描述

7.打开windows10 ,调成VMnet3,检验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值