7月4日上课内容 第三章 DNS域名解析服务

DNS系统的作用及类型

DNS域名解析

www.baidu.com

baidu 因为在互联网上,我们都是通过ip地址进行通信,180.

www.sina.com.cn

sina

作用1:就是把域名变成ip地址

正向解析:把域名解析成ip地址

反向解析:把ip地址解析成域名

作用2:导航:dns解析类型类似于导航,精确定位所需要访问的网站。

数据结构

www.baidu.com.cn. 这是百度在互联网上的完整域名

最后的. 根域 IPv4的根域全球一共有13个,美国10个,英国1个,瑞丹1个,日本1个,国内有2个根域的镜像服务器。ipv6根域名:全球有25个,中国1主3从,美国1主2从(了解即可)

.cn 一级域,顶级域:国家或者组织 .cn .us .jp

.com 二级域:组织或者机构 .com 表示商业组织 .edu(教育机构) org 非盈利组织 .net 运营商(以上全是国内)

baidu 子域:域名

www 主机站点,就是主机名

www.baidu.com.cn. 从根域开始,一级一级往下看

DNS系统的类型

缓存域名服务器:运营商,我们访问绝大多数的网站,都是从运营商的缓存服务器调用的缓存记录,直接访问。

主域名服务器:唯一性,记录了所有域名和ip地址的映射关系。

从域名服务器:就是主的热备份,主挂了,从服务器顶上。

热备份:实时备份,不需要关机的备份

现在我们知道,常用的域名都在运营商的缓存服务器上,缓存服务器上没有域名和ip地址的映射关系怎么办?那自然就需要去找

DNS解析的查询方式(重点,面试会问,一定要会)

迭代:每一次都比前面一次获得的信息要多

递归

详细步骤(要会):

1、用户------>本地文件(hosts)------>dns域名服务器(运营商缓存服务器)------>根域名服务器(知道结果,但是不告诉你,让你去二级服务器去查)------>二级域名服务器(我知道结果,但是我也不告诉你,子域名服务器去找)------>子域名服务器(知道结果了,域名和ip地址的映射关系)------>缓存服务器(运营商)------>hosts ------>用户

根域名服务器(知道结果,但是不告诉你,让你去二级服务器去查)------>二级域名服务器(我知道结果,但是我也不告诉你,子域名服务器去找)------>子域名服务器(知道结果了,域名和ip地址的映射关系) 迭代查询

子域名服务器(知道结果了,域名和ip地址的映射关系)------>缓存服务器(运营商,记录域名和ip地址的映射关系)------>hosts ------>用户 查询

递归查询,查询结果返回给目录(递归查询)

示例:

这是国内的根域名镜像服务器

国际上的根域名服务器如下,一共13台,这就是全球的ipv4根域名服务器

现在我们开始从根域开始一点一定往下找

set type=a 表示是IPv4类型

把根域名服务器放进去

Server:        218.2.135.1
Address:    218.2.135.1#53

本地的dns地址

Name:    d.root-servers.net
Address: 199.7.91.13

根域名服务器d的ip地址

server 199.7.91.13 表示我们要和199这个服务器建立连接,通信

Default server: 199.7.91.13
Address: 199.7.91.13#53 #53表示的是dns解析服务的端口号,默认就是53

从.往下到com.

上面为13台顶级域的服务器的域名

下面为服务器对应的ip地址

1主两从

a-m 为服务器对应的ipv4的地址

a.gtld-servers.net    has AAAA address 2001:503:a83e::2:30
b.gtld-servers.net    has AAAA address 2001:503:231d::2:30
这个就是服务器对应的ipv6的地址

我们继续往下,和顶级域建立会话

到二级域

> set type=ns
> baidu.com.

向顶级域咨询baidu.com的域名的ip地址

这时候已经到子域了

就可以看到baidu对应的ip地址

ns上面的是百度的五个域名服务器

下面的这些服务器对应的ip地址

同样有ipv4和ipv6

我们和这个服务器地址进行通信

这个就是百度在网上的真实域名和它对应的ip地址

www.baidu.com    canonical name = www.a.shifen.com.

相当于基于域名跳转,访问baidu相当于访问a.shifen.com.

Server:        180.76.76.92
Address:    180.76.76.92#53
这就是baidu这个域名的真正的ip地址180.

流程:从. 到com. 从com再到baidu.com 最终得到了结果 就知道了baidu具体的ip地址

小实验:

正向解析

反向解析

主从域名服务器

先安装bind

bind 开源软件,用于内网的dns解析,不同于外网,内网的dns是不需要注册的

是方便内部进行使用和访问的工具(主要用于内网)

安装

这个服务的配置文件一般在/etc下面

我们来看看这几个文件分别是干什么用的

/etc/named.conf        主配置文件

/etc/named.rfc1912.zones        区域配置文件,就是用来保存域名和ip地址对应关系的位置,这里只定义了域名与ip地址解析规则保存的文件位置以及服务类型。没有具体的ip,域名之间的关系。

/var/named/named.localhost        区域的数据配置文件,这里保存的是具体的ip地址和域名之间的关系

我们vim看一下

这里既有正向的配置也有反向的配置,既有ipv4也有ipv6

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

这些都是正向解析

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 {
        type master;
        file "named.loopback";
        allow-update { none; };
};
ipv6的反向解析

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
这是反向解析 

如何做正向解析

进入主配置文件

vim /etc/named.conf

options {
        listen-on port 53 { 127.0.0.1; }; 53:dns解析的默认端口  listen监听地址,和谁要建立连接

这里写本机地址就是监听本机,用本机来对外提供服务,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";内存统计
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost; };运行使用这台机器做dns服务的网段,就是哪些机器通过bind服务来做dns内容解析,这里可以写网段,也可以写any,表示任何都可以通过10这个服务器来做域名解析服务

这里写一个网段试试

 这就配置好了主配置文件

区域配置文件:

添加一个正向区域的配置

vim /etc/named.rfc1912.zones 这就是区域配置文件

复制一个过来,进行修改

zone ky30.com file ky30.com.zone

前后要一致,前面ky30.com,后面的区域数据文件 file也要叫ky30.com.zone

要和后面的保持一致

cd/var/name/

ls

到这个目录下来配置正向数据的区域文件

注意:不能直接在name.localhost文件里面改,这是一个模版文件,不能直接改,把它复制出来

cp -a 保留权限来进行复制

把它改成ky30.com.zone和前面自定义的file要一一对应,不然会报错,文件会找不到

cp -a named.localhost ky30.com.zone

ll看一下

然后我们进ky30.com.zone里面改

这里配置的就是数据文件,也就是映射关系

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial 更行序列号
                                        1D      ; refresh 刷新时间
                                        1H      ; retry 下载失败后重试间隔1h
                                        1W      ; expire 失效时间
                                        3H )    ; minimum 无效解析记录的生存时间(这几行了解即可)
        NS      @
        A       127.0.0.1
        AAAA    ::1
 

$TTL 1D:引用全局变量,缓存解析结果的有效时间。1D,1天。

@:也是一个变量,表示当前dns的区域名,指的就是ky30.com.zone

in:表示使用的是Internet协议

SOA:解析类型,起始的解析记录

NS:记录当前区域的DNS服务名称 必不可少

A:记录主机的ip地址 必不可少(ipv4地址)

AAAA:Ipv6的地址

$TTL 1D
@       IN SOA  ky30.com. admin.ky30.com. ( #严格格式,一定要这样写,一个空格错了都报错
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ky30.com.  记录当前dns服务器的名称(域名名称)
        A       20.0.0.100   主机的ip地址,也就是解析服务器的地址

正式开始配置正向解析地址

IN MX   10      mail.ky30.com.

IN MX为邮件交换记录,数字为优先级 后面跟着邮件地址

配置正向解析:

WWW IN A 192.168.233.40

mail IN A 192.168.233.41

重启服务,systemctl restart named

注意:装的服务是 bind 但是重启要用named来重启

解析试一下:

为什么会变成129呢?

注意:要把reslove.conf dns的解析地址改了

用20.0.0.100做地址解析,所以要改为20.0.0.100

这样就可以了

注意:改完这个配置文件不要重启网络,也不用重启地址,一重启又变成了你网卡里面的地址了

还要把防火墙和安全机制关闭

然后我们再试试

 

反向解析:

从ip到域名,把ip地址解析成域名

改区域配置文件

一样复制一个反向配置进行修改

注意,两个区域配置文件不能重复,因此需要稍微修改一下

 zone "233.168.192.in-addr.arpa" IN { 反向解析192.168.233.的IP地址
        type master;
        file "ky30.com.zone.local";区域数据文件可以自定义,但是不能重复
        allow-update { none; };
};

到区域配置文件里面

因为前面已经改好了ky30,我们把它复制一下改为ky30.local

ls看一下

然后我们直接改ky30.com.zone.local

把前面的40 41写进去

IN 使用internet

PTR:表示反向解析

40 IN PTR www.ky30.com 表示你访问192.168.233.40 就会访问www.ky30.com

改完,保存退出重启服务

实验一下

这就是反向解析

第一个高可用:vrrp 主备,主挂了,备顶上去

主从域名服务器:第二个高可用

先修改resloaf.conf dns解析服务器地址,改完之后不要重启

改区域配置文件

allow改为transfer

地址改为备服务器的地址20.0.0.200

一样重启一下服务

1就配置完成了 

服务器2:

先安装一下服务

一样修改resolv.conf

改主配置文件,设定一个监听地址

vim etc/named.conf

还是这个option

修改为any 所有

注意:前后左右的空格都不要改,会报错

同样的,修改区域配置文件

zone "ky30.com" IN {
        type slave; slave备用
        file "slaves/ky30.com.zone";改为主的文件的地址
        masters { 20.0.0.100; };改为master 主机地址
};

zone "233.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/ky30.com.zone.local";
        masters { 20.0.0.100; };
};
 

一样重启一下服务

cd到 /var/named  看到了slaves

cd 到slaves看一下

出现ky30的两个文件,说明没问题

只有这两个区域数据文件同步到了备上面才说明实验成功了

两边都验证一下,看看是否能正常解析

主服务器

从服务器

​​​

限制我们把主服务器停了,看看从服务器还行不行

发现从服务器依旧可以进行解析

那么从为什么还能继续工作呢?原因就在于这两个文件

这两个区域数据文件里面,对应了你的域名和ip地址的映射关系

区域配置文件告诉你你的数据文件的保存的信息,核心就在于这两个区域数据文件

怎么清理dns服务器的缓存

因为centos没有清除dns客户端的缓存,安装NSCD,清空DNS服务器的缓存,提高访问速度

安装

启动服务,查看一下是否启动

nscd -g 查看一下缓存信息

nscd -i hosts 清除缓存,并查看一下

重点总结:

常用的域名解析:

正向解析:把域名变成ip地址

为什么要有域名解析:

ip地址难记,域名好记,但是在互联网上,我们都是通过ip地址进行通信,于是域名解析应运而生,它的主要作用就是把域名转换成ip,方便我们进行访问

域名解析的命令:nslookup 域名/ip地址

作用1:就是把域名变成ip地址

正向解析:把域名解析成ip地址

反向解析:把ip地址解析成域名

作用2:导航:dns解析类型类似于导航,精确定位所需要访问的网站。

完整的域名 www.baidu.com.cn.

. 根域 IPv4的根域全球一共有13个,

ipv6根域名:全球有25个,中国1主3从,美国1主2从(了解即可)

.cn 一级域,顶级域:国家或者组织 .cn .us .jp

.com 二级域:组织或者机构 .com 表示商业组织 .edu(教育机构) org 非盈利组织 .net 运营商(以上全是国内)

baidu 子域:域名

www 主机站点,就是主机名

www.baidu.com.cn. 从根域开始,一级一级往下看,从右往左看

缓存域名服务器:运营商,我们访问绝大多数的网站,都是从运营商的缓存服务器调用的缓存记录,直接访问。

主域名服务器:唯一性,记录了所有域名和ip地址的映射关系。

从域名服务器:就是主的热备份,主挂了,从服务器顶上。

DNS解析的查询方式(重点,面试会问,一定要会)

迭代:每一次都比前面一次获得的信息要多,一级一级向下查询

递归:查询结果反馈给客户

一旦在缓存服务器上没有相关的域名和ip地址的映射关系,那怎么去访问,定位这个域名的地址?

概括一下:

迭代查询就是根域--->二级域--->子域名

子域名--->缓存服务器--->用户(查询的结果返回给客户就是递归)

详细步骤(要会):

1、用户------>本地文件(hosts)------>dns域名服务器(运营商缓存服务器)------>根域名服务器(知道结果,但是不告诉你,让你去二级服务器去查)------>二级域名服务器(我知道结果,但是我也不告诉你,子域名服务器去找)------>子域名服务器(知道结果了,域名和ip地址的映射关系)------>缓存服务器(运营商)------>hosts ------>用户

根域名服务器(知道结果,但是不告诉你,让你去二级服务器去查)------>二级域名服务器(我知道结果,但是我也不告诉你,子域名服务器去找)------>子域名服务器(知道结果了,域名和ip地址的映射关系) 迭代查询

子域名服务器(知道结果了,域名和ip地址的映射关系)------>缓存服务器(运营商,记录域名和ip地址的映射关系)------>hosts ------>用户 查询

递归查询,查询结果返回给目录(递归查询)

/etc/named.conf        主配置文件

/etc/named.rfc1912.zones        区域配置文件,就是用来保存域名和ip地址对应关系的位置,这里只定义了域名与ip地址解析规则保存的文件位置以及服务类型。没有具体的ip,域名之间的关系。

/var/named/named.localhost        区域的数据配置文件,这里保存的是具体的ip地址和域名之间的关系

$TTL 1D:引用全局变量,缓存解析结果的有效时间。1D,1天。

@:也是一个变量,表示当前dns的区域名,指的就是ky30.com.zone

in:表示使用的是Internet协议

SOA:解析类型,起始的解析记录

NS:记录当前区域的DNS服务名称 必不可少

A:记录主机的ip地址 必不可少(ipv4地址)

AAAA:Ipv6的地址

PTR:表示反向解析

30 IN PTR www.ky30.com. 访问192.168.233.40 就会访问www.ky30.com.

第一个高可用:vrrp 主备,主挂了,备顶上去

主从域名服务器:第二个高可用

nscd -g 查看缓存

nscd -i hosts 清除缓存

需要掌握

1、域名解析的概念及作用

2、各个域名服务器的概念

3、DNS解析的查询方式及其具体步骤(重点掌握,面试题)

迭代查询 根域-二级域-子域

递归查询 子域查询结果反回给用户

4、主配置文件 区域配置文件 区域的数据文件的位置及参数代表的意思

/etc/named.conf

/etc/named.rfc1912.zones

/var/named/named.localhost 

NS:记录当前区域的DNS服务名称 必不可少

A:记录主机的ip地址 必不可少(ipv4地址)

PTR 反向解析

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值