23. DNS服务管理

第二十七节 DNS服务管理16

DHCP:网络配置,自动分配IP,子网掩码,默认网关
NFS:网络文件系统----文件共享----Linux之间
FTP:文件传输协议----文件共享----Windows和Linux之间
NTP:时间同步

27.1 DNS服务器发展过程

27.1.1.Dns服务—域名服务

1.Dns服务(domain name service) 域名服务 Dns服务器(域名服务器)----解析网址
1)主机名—计算机之间的网络通讯依靠IP ----主机名解析成IP
2)本地解析----/etc/hosts 在一个局域网中使用。
3)网址----服务器之间的网络通讯依靠ip----网址解析成ip
Dns解析----》在互联网中使用最为广泛的解析方式

27.1.2dns服务器–软件,脚本,端口

协议软件-服务器端启停脚本端口
DHCPDHCP/etc/rc.d/init.d/Dhcpd67、68
FTPVsftpd/etc/rc.d/init.d/Vsftpd20、21
HTTP(s)80、(s)443
NFSNfs-utils/etc/rc.d/init.d/nfs2049
NTPNTPNTPUDP 123
DNSBindNamedUDP53 TCP53

1.监听端口: Udp:53 TCP:53
2.启停脚本:named
3.Bind(Berkeley Internet Name Domain)----实现dns服务器的软件
BIND有四个内置的acl
any:任何主机
none:没有主机
local:本机IP地址和127.0.0.0
localnet:本机所在的网络
其格式如下:
acl acl-name {
address_match_list
};
address_match_list表示IP地址或IP地址集
在这里插入图片描述
在这里插入图片描述

27.1.3主机间通讯机制的演变

1.最开始计算机之间通过mac地址寻找对方
2.后期出现tcp/ip协议,计算机之间通过IP地址通讯
3.由于人记忆IP地址比较麻烦,就出现了主机名/域名
例如:http://www.bosenrui.com
ftp://192.168.198.128----》ip:192.168.198.128 端口(port)21
ftp://192.168.198.128:2030—> ip:192.168.198.128 端口(port)2030
ftp://ygdy8:ygdy8@yg69.dydytt.net:8018/阳光电影www.ygdy8.com.神弃之地.BD.1080p.中英双字幕.mkv
ftp:// yg69.dydytt.net:8018------》ip: 192.126.117.69 端口号8018
http://www.baidu.com----》
在这里插入图片描述

使用ip----直接访问目标服务器----》效率快
使用网址—进行域名/主机名解析—》访问目标服务器

27.1.4名称解析

1.名称解析的过程:就是某个应用程序基于某个搜索键在指定数据库中查询,查询到对应的键,与键对应值,被找出来的过程。
2.主机名解析/域名解析
3.用户名解析
例如:用户的suid–具备root用户的权限
用户yyn的uid是500,具有Euid(有效uid)。
当用户使用命令时,没有suid,那么euid就是uid
当用户使用命令时,有suid euid就是该命令配置文件属主的uid
4.名称解析的配置文件: /etc/nsswitch.conf
在这里插入图片描述

主机名解析就有2个文件对应解析:本地文件:/etc/hosts/和dns

27.2 域名解析发展过程

27.2.1本地hosts

网络自己可以组建,
在这里插入图片描述

27.2.2地址分配机构

地址分配机构(icnaa)----域名
在这里插入图片描述

由于互联网发展迅速,会有成千上万客户端去访问icann,而icann里的hosts文件也会保存成千上万条IP和域名,提供给客户独端下载,大家都来下载和访问服务器,那么效率会降低,出现阻塞状态,而且ftp的端口号也有限制。

27.2.3集中解析机制

集中解析机制
在这里插入图片描述

客户端无需下载服务器的hosts文件,要域名解析,直接输入网址,把这个请求发送给icann服务器,然后让icann服务器进行解析,把解析好的IP返回给客户端,客户端在拿着IP去访问这样的服务器就行。这样集中解析会减轻icann服务器的压力,但是在随着网络爆炸式增长,icann服务器的能力比较有限,数据一旦很多,访问量也会增大,处理效率也会降低。

27.2.4分布式数据库

分布式数据库
为了解决以上这些问题,icann服务器,将数据分发到不同的子节点中。
当客户端要ping一个域名时,向icann服务器发出请求,icann服务器,回应客户端ping的域名在他下设置的子节点中,并将子节点IP,返回给客户端,客户端在对子节点发出请求,子节点服务器收到请求,将客户端ping的域名,解析成IP,在返回给客户端。
在这里插入图片描述

如果子节点处理不过来数据,那么子节点会在下设分节点,一般现在是三层。

27.2.5域名

1.根域—顶级域(一级域)-----组织域(二级域)----主机名
在这里插入图片描述

www.baidu.com —网址----FQDN完全限定域名
2.早期由ICANN自行创建服务器----根域+顶级域
一级域分三类
1).组织域:.com,.org,.net,.mil(军队),.gov,.edu
2).国家域:.cn,.hk,.tw,.jp,.us,.uk
3).反向域:.in-addr.arpa(IP–>主机名)
二级域(在互联网上,通常二级域就由公司等去申请的,因此通常被称为组织域)
3解析分类:
域名解析成ip----正向解析
IP解析成域名-----反向解析

27.3 DNS解析过程

  1. 服务器—apache软件 —页面服务—www
    服务器—vsftpd软件 —ftp服务—ftp
    服务器—邮箱软件 —mail服务—mail
    服务器—bind软件 —DNS解析服务—dns
    2.网址的域组成部门
    例如:www.music.baidu.com.
    主机名:www.music
    二级域:.baidu
    一级域:.com
    根 域:.
    3根据域名划分不同的服务—对应不同的服务器
    在这里插入图片描述

假如某客户端想要访问www.baidu.com ,那么.baidu.com域名里的dns服务器就会从他的缓存列表中找到对应的IP给客户端,供客户端使用。
假如某客户端想要访问www.sina.com,那么.baidu.com域名里的dns服务器也会从他的缓存列表中找到对应的IP给客户端,如果没有找到,baidu的dns服务器会询问icann服务器有没有www.sina.com,icann服务器会告诉我没有这样的域名,但是我知道.com域名是谁负责的,然后在去找.com下询问,.com域名会告诉你没有这样的域名,但是我知道.sina域名是谁负责,然后你在一层一层询问,直到找到找到.sina.com他会告诉你他的域名下的dns服务器有无该服务,有的话.sina.com的dns服务器就把IP发送给baidu.com的dns服务器,他在给客户端发送,供客户端使用。
4.参考答案和权威答案
百度客户端------访问www.Sina.com----- IP访问网站-----下载页面-----打开页面
解析过程:
询问dns(baidu)------ www.Sina.com
Dns(baidu)----根域服务器----DNS(baidu,线索) 参考答案
Dns(baidu)----一级域服务器—dns(baidu,线索) 参考答案
Dns(baidu)----dns(sina)------dns(baidu,ip) 权威答案
Dns(baidu)----IP解析结果----客户端---- 权威答案
5.迭代:经过多次请求得到权威答案的称为迭代
Dns(baidu)寻找IP的过程就是迭代
Dns发送了n次请求最终得到权威答案
6.递归:只发一次请求就能得到权威答案的称为递归
客户端和dns之间的通讯称为递归
客户端发送一次请求就得到另外权威答案
根域不为任何人提供递归
7.否定应答/肯定应答-----解析结果都会保存
只要没有找到就是否定应答,只要可以找到就是肯定应答

27.4 DNS功能和分类

27.4.1.dns服务器的分类

1dns服务器-----对客户端提供服务的同时,也能解析其他的dns的请求
A:主dns服务器(masters)-----需要自行手动编写区域数据文件
B:辅助dns服务器(slave)-----从主dns服务器同步区域数据文件
2缓存名称服务器-----仅能对客户端提供解析服务

27.4.2.dns服务器对应的功能

1 Dns服务器:给客户端提供解析服务,给其他dns服务器提供解析服务
2缓存名称服务器: 给客户端提供解析服务

27.4.3.dns服务器解析的域

1Dns服务器能够解析的域:
1)根域 .
2)本地域 localhost
3)反向域---- 127.0.0.1的反向域
127.0.0.1反过来—1.0.0.127.in-addr.arpa
4)特定域
2缓存名称服务器:
1)根域.
2)本地域 localhost
3)反向域 127.0.0.1的反向域

27.4.4 区域数据文件

区域里有区域数据文件,区域数据文件里编写资源记录(RR),资源记录各种域名服务及对应的IP.
在这里插入图片描述
资源记录(Resource Record,简称RR)
资源记录有类型 ,用于表示资源的功能
SOA:Start Of Authority,起始授权记录这一区域划归谁管理
NS:Name Server,域名服务器
MX:Mail eXchanger:邮件交换器
A:Address,(FQDN–>IP)类似于hosts文件的记录
PTR: PoinTeR,(IP–>FQDN)
AAAA:Address,FQDN–>IPv6
CNAME:Canonical Name,正式名称(别名记录)

27.5 搭建主dns服务器----正向解析

27.5.1搭建DNS服务器端

1.安装软件bind
在这里插入图片描述

2.查看安装软件bind
在这里插入图片描述

相关配置文件: /etc/named.conf ----主配置文件
/etc/rc.d/init.d/named-----启停脚本
/var/named--------------区域数据文件存放路径
3.配置文件(区域名称)----vim /etc/named.conf

  1. 复制一份数据 cp /etc/named.conf /etc/named.conf.bak
    在这里插入图片描述

2)编辑文件vim /etc/named.conf
Option{
全局属性
}; ---------定义全局属性
Zone “区域名称” IN {
区域属性1;
区域属性2;
}; --------定义区域属性
定义全局属性和四个域的模板如图:
在这里插入图片描述

A.定义根域.
在这里插入图片描述

B.定义本地域localhost
在这里插入图片描述

C.定义反向域127.0.0.1–1.0.0.127.in-addr.arpa
在这里插入图片描述

D.定义特定域 yyn.com
在这里插入图片描述

F最后整体的定义:
在这里插入图片描述

D编写好后,保存退出
在这里插入图片描述

3)编写区域数据文件(资料记录)
A区域数据文件定义模板如图:
在这里插入图片描述

B /var/named下的是四个域的区域数据文件,里面存放着资料记录.
在这里插入图片描述

C编辑特定域的的区域数据文件(资源记录)
----Vim /var/named/yyn.com.zone(这个文件要新建)
a)首先到 cd/var/named下----vim yyn.com.zone
在这里插入图片描述

b)资源记录内容区分大小写

NameTTLINRR-TYPEVALUE
@这个是区域名称—yyn.com—通常用@表示统一设置 T T L 600 时 间 随 意 有 域 名 , 还 给 应 答 + 缓 存 时 间 − − − TTL 600时间随意有域名,还给应答+缓存时间--- TTL600,+TTL+时间一直是in有n个数值,最主要的是主DNS服务器的域名,点不可省略,当前管理员的FQDN,点不可省略dns.yyn.com.(主)admin.yyn.com.(管理)辅助dns服务器(slave),(序列号 年月日+01–2020092001,刷新时间 4H,重试时间 10M,失效时间 7D,否定应答缓存时间 7D)
@INNSDNS服务器的FQDN或相对名称,DNS服务器的FQDN:dns.yyn.com.,相对名称:dns
@-----INMX包含优先级和FQDN 10 mail.yyn.com
@-----INAIP地址
@-----INCNAMEFQDN(可以使用相对名称)WWW

第一种类型SOA: 起始授权记录
刷新时间:每隔多久刷新一次
重试时间:每隔刷新时间问一次 ,一旦回应,从当前回应时间开始计算刷新时间
例如:刷新时间为4H,每4H刷新一次访问主dns服务器,重试时间一旦4h中有一次没有及时回应,就会10M访问一次,一旦回应,从当前回应时间在过4h访问主dns服务器
启动服务
失效时间:如果在失效时间一直联系不想主dns服务器,那么辅助就停止
否定应答缓存时间:如果某个域名没有就要保存起来,并定一个时间
在这里插入图片描述

第二种类型 NS 表示当前区域由谁负责—dns服务
在这里插入图片描述

第三种类型 MX 邮件–用于标识smtp服务器
优先级优先级:0-99,数字越小,级别越高,
在这里插入图片描述

第四种类型A: 将FQDN—ip----- 正向解析记录
所有区域名称以@开头的都要有与之对应的A记录(除了SOA记录的value不用添加A记录)
在这里插入图片描述

整体的查看编辑文件:
在这里插入图片描述

第五种类型CNAME----定义别名
在这里插入图片描述

4)启动服务----service named start
如果执行此命令后没有ok,ctrl+C后—执行rndc-confgen -r /dev/urandom -a
利用随机设备的随机数生产密钥保存在/etc/rndc.key
在这里插入图片描述

27.5.2搭建DNS客户端

1.客户端测试: 192.168.198.10 当客户端使用
2.定义DNS: 编辑: vim /etc/resolv.conf -----nameserver+服务器地址
在这里插入图片描述
在这里插入图片描述

3.在客户端上ping 刚才在主dns服务器上定义的域名服务,是否将域名解析成IP—正向解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这以上5个域名服务对应的IP,和之前在配置文件里的一模一样,说明正向解析都已经完成

27.6 搭建主dns服务器----反向解析

主dns的反向解析:将ip解析成FQDN的过程称为反向解析

27.6.1搭建dns服务器

1.修改配置文件—定义反向域---- /etc/named.conf
反向区域名称:将IP地址的网络位反向书写+反向域
Ip地址为192.168.198.0/24---->网络地址为前21位,
反向:198.168.192+in-addr.arpa
在这里插入图片描述

2.编写反向解析区域数据文件----vim /var/named/192.168.198.zone
1)将正向解析文件 yyn.com.zone复制到 192.168.198.zone
在这里插入图片描述

2)编辑vim /var/named/192.168.198.zone
文件中必须书写FQDN的绝对名称(带.的),并删除所有的A记录(A记录又叫正向解析记录)

NameInTT-TYPEVALUE
IP地址(逆向主机地址)INPTR(PoinTeR point)FQDN(绝对名称)
相对IPINPtr记录—ip—FQDNFQDN(绝对名称)

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

3)保存退出
3.重启服务生效----service named restart

在这里插入图片描述

27.6.2搭建dns客户端

1.客户端测试:
1)dig命令
基本语法:dig +主机名/区域名称
-t:指定查询类型
-x:反向解析
Dig -x name/IP地址 [@dns服务器地址]
Dig -x 192.168.198.10@192.168.198.128
Dig -t 类型 名称
Dig -t A www.yyn.com
练习:
在这里插入图片描述
在这里插入图片描述

2)host命令
基本语法: host + 区域名称/主机名
-t :指定查询类型
Host -t 类型 name 【dns服务器】
host -t A www.yyn.com
练习:正向解析和反向解析的查看 查看主机名—查看正向解析,查看反向解析
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

查看aaa.yyn.com 的正向解析
在这里插入图片描述

查看CNAME别名
在这里插入图片描述

使用DNS解析www.yyn.com
在这里插入图片描述

27.7 辅助dns服务器(slave)搭建

1.安装软件
1)先将主dns服务器上的信息传输到辅助dns服务器上----scp远程传输文件
Scp 192.168.198.128:/etc/named.conf /etc/named.conf.1
在这里插入图片描述

2)做备份 先备份辅助服务器上的named.conf,在将传输的文件改名
在这里插入图片描述
在这里插入图片描述

2.编写配置文件—vim /etc/named.conf
定义类型为slave,—辅助dns服务器,
保存文件为file “/var/named/slaves/主存dns区域文件名“
在这里插入图片描述
在这里插入图片描述

3.启动服务----从主dns获取区域数据文件
默认以named用户的身份运行named进程,Named进程具有named用户的权限
Named进程从主dns获取区域数据,然后创建文件保存----/var/named/slaves
因为/var/named目录下named用户是属组用户,没有写权限,而/var/named/slaves目录是有写权限的,因此从主dns获取的区域数据,只能保存在/var/named/slaves下
1)启动服务失败—如何解决
在这里插入图片描述

A解决方法:named-checkconf(检查配置文件有无问题)
在这里插入图片描述

C.配置文件没有问题,就直接查看日志
发现权限有问题,
在这里插入图片描述
在这里插入图片描述

缺少对文件读的权限,需要chmod o+r /etc/named.conf-----chmod 644 /etc/named.conf
在这里插入图片描述

D 再次重新启动服务
在这里插入图片描述

2)如何确定辅助dns服务器搭建成功
在辅助dns服务器上查看/etc/var/named/slaves/下是否有刚才同步的主dns服务器上的区域数据文件
在这里插入图片描述

4.测试辅助dns服务器----需要指定辅助dns服务器的IP地址
在这里插入图片描述

5.还有另一种做法,就是修改vim/etc/resolv.conf
在这里插入图片描述

27.8 添加ns记录(可做可不做)

1.当网络中有多个dns服务器的时候,需要在配置文件添加服务器的记录
主dns服务器----dns.yyn.com—在主dns服务器添加辅助dns服务器记录
辅助dns服务器----dns1.yyn.com----在辅助服务器添加辅助记录
2.主dns上的区域数据文件(服务端上做)
正向解析区域数据文件----NS—A
反向解析区域数据文件----NS—PTR
/var/named/yyn.com.zone添加辅助服务器记录
在这里插入图片描述

在var/named/192.168.198.zone
在这里插入图片描述

27.9 立即手动同步数据(生效)

1.修改之后的数据辅助服务器上没有显示,即使在主dns服务器上重启服务,在到辅助服务器上查看,也没有刚才添加的记录。
那么如何解决这个问题?-----立即手动同步—
1)–修改主dns服务器上的区域数据文件中的序列号
2)重启主dns上的named服务
3)检查辅助nds中的区域数据文件()
在这里插入图片描述

使用dig命令查看
在这里插入图片描述

27.10 分析默认配置文件

默认配置文件:vim /etc/named.conf
在这里插入图片描述

打开配置文件:
在这里插入图片描述

1.程序启动时会去内核中注册端口号----进程监听ip上的端口,
进程监听的是某个ip上的端口号
2.配置文件中的默认使用选项:listen-on port 53 { 127.0.0.1; };可修改为自己的服务器IP
在这里插入图片描述

表示named进程监听127.0.0.1的53号端口
网卡会先拆帧头
内核—拆网络层首部(目标ip)-----拆传输层首部(目标端口port)
1).如果使用默认配置文件上的IP就会出现:
主dns服务器上的IP是127.0.0.1端口53,这是一个回环地址,named只能给自己提供服务
辅助dns服务器上的IP如果也是127.0.0.1端口53,只能给自己提供服务
2).可以将其改为主服务器的IP---- listen-on port 53 { 192.168.198.128; };
如果不添加这句话,表示监听所有网络内的服务器
3.Linux操作系统查看端口命令:
Netstat -tunpl | grep 服务名称------查看网络套接字
Nemed进程会指明地址:只监听配置文件里指定的IP+回环地址
在这里插入图片描述

在主配置文件中设置全局属性时,不添加监听语句,就是默认监听所有IP的53号端口,如果加了添加语句,并指定主dns服务器的IP地址,那么dns只会给指定的IP地址提供named服务。其他的IP一律忽略。
进程监听IP上的端口,进程会监听一个IP的一个端口,某些/所有IP的某个端口,不能监听所有IP的所有端口
如果修改了进程,监听的端口和IP必须restart生效,也可以使用reload,如果重新加载失败,就在使用restart
可以查看restart和redload的方法—》vim/etc/rc.d/init.d/named
在这里插入图片描述

4补充套接字:socket-----进程间进行通讯的一种机制
网络通讯:2台主机上的2个进程在相互进行通讯
Dhcp dns 属于网络通讯,也是进程在工作
进程通讯分为:
1)跨主机进程通讯—网络套接字—IP:port
Vsftpd(服务器端进程)----ftp(客户端进程)—这个就是跨主机进程通讯
例如:192.168.198.128:21(服务器端) 192.168.198.10:112233(客户端)
服务器端IP+服务器端端口-----服务器端套接字
客户端ip+客户端端口-----客户端套接字
以上组成一条网络连接
程序启动时会去内核中注册套接字,进程会监听套接字
2)本地进程通讯----本地套接字-----套接字文件(s)
Mysqld(服务器端)----mysql(客户端)—》都是安装在mysql数据库上
当服务器端运行时,会自动在服务器硬盘中自动产生一个套接字文件
在这里插入图片描述

分析:首先mysql数据库服务器中会有内存和硬盘,硬盘里放mysqld程序(服务器端)和mysql程序(客户端)一旦2个程序运行起来,就会出现mysqld进程和mysql进程,因为内存中进程都是独立的模块,所以mysql进程和mysqld进程不能互相通信,为了可以互相通信就会出现套接字文件和网络套接字。
套接字文件:mysql 进程启动就会编写mysql.sock(套接字文件),通过此文件与mysqld通信,mysqld会一直监听改文件,只要mysql写入数据,就会把数据拿走,并执行。
网络套接字:mysql进程会先去内核注册端口号,然后在将IP和端口封装好给网卡,在传输到mysqld的网卡,mysqld收到IP,就会在其内核的端口列表中找到对应的端口把数据给mysqld进程发送
网络套接字—程序启动时会去内核中注册端口号----进程监听ip上的端口
5.配置文件中的默认使用选项: allow-query { localhost; };可改为自己想要查询的ip
allow-query { IP地址1;IP地址2;。。。。 }; 指定接受DNS查询请求的客户端
例如:allow-query { 192.168.198.134;192.168.198.100; };只允许这两个地址查询
配置文件里的一个allow-query { 自定义名字; };
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值