DNS服务

一.DNS介绍

DNS应用层协议

Domain Name System 域名系统

作用:实现域名解析,解析主机名所对应的IP地址,

在网络环境中设备与设备之间要想相互通信只能依赖IP地址,DNS服务器的作用是实现域名解析。

如上图所示,DNS存在的目的,就是机器给DNS服务器发送请求,然后获取京东网址的IP地址,然后机器进行数据封装,随后给京东机器通信。

自己构建一台DNS服务器的作用:正向解析(根据主机名,返回主机名机器的IP)反向解析(根据IP地址解析对应的主机名)。(做垃圾邮件过滤需要反向解析。)

DNS服务内部要有域名信息存在,才可以实现主机名解析成IP地址的功能,每一条信息称之为一条记录,面对海量的互联网主机名对应的IP信息肯定不能每一条信息都记录,就算机器能存下所有的信息也会影响搜索效率。

如果只让一台DNS服务器来解析主机名,会大幅度地拖慢机器的搜索效率。

解决方案主要采用分层的思想,

不同级别的DNS服务器干不同的事情,

如上图所示,是DNS服务器的域名结构,比如www.baidu.com中的com是一级域名,baidu是二级域名,www是百度自己在baidu.com这个域名中的一个名称而已,完成的主机名结构应该是www.baidu.com.只不过最后的一个点从来不写,

不同的机器干不同事情其作用就是用来缓解DNS服务器的压力。

二.DNS核心概念

1.区域 zone

创建区域,一般这个区域就是二级域名,

linux.com创建好之后就意为着我们告诉这台DNS服务器你要去负责解析linux.com结尾的所有主机名,如果又创建了一个域名,a.rog也就是告诉机器将来你要去解析a.org结尾的所有主机名,

正向区域:本质上就是一个二级域名,比如linux.com就相当于是告诉服务器来说你要去负责解析linux.com的所有域名,(即解析主机名所对应的IP地址是什么。)

反向区域:不是必须的,只有希望DNS服务器实现反向解析功能的时候,才需要创建反向区域,并且反向区域的名称格式就是x.x.x.in-addr.arpa

前面这三个数字就是IP地址的前三位数字位置倒过来写的,

比如1.168.192.in-addr.arpa这个反向区域的作用就是将来DNS服务器要负责解析IP地址是192.168.1开头的所有IP地址,将这个些IP地址对应的主机名返回。

2.记录 record

即将来的DNS服务器能够解析那些主机名就需要我们事先将主机名所对应的IP地址写进DNS服务器中,这样的一行信息称之为是一条记录。

常见的记录类型

1.A记录

主要是用来记录主机名,IP地址的对应关系的,

www.baidu.com A 1.1.1.1 

即记录某一个主机名所对应的IP地址的。

2.PTR记录

反向指针记录,

用来记录IP地址,主机名的对应关系

1.1.1.1 PTR www.baidu.com

当DNS服务器需要所反向解析的时候,才需要PTR记录。

3.NS记录

用来标识某一个主机名所对应的服务器是DNS服务器,

NS test1.linux.com.

NS的作用是用来标识在网络中有一台DNS服务器,这台DNS服务器的主机名叫做test1.linux.com

NS记录不能单独存在,NS记录必须要跟A记录一起使用。

即NS test1.linux.com. 

test1.linux.com. A 2.2.2.2 

4.MX记录

用来标识邮件服务器的,MX 5 mail01.linux.com.

后面的mail01.linux.com.主机名代表的是一台邮件服务器,

在公司内部安全需求高的是不允许使用其他的邮件软件来发送邮件,都是使用公司内部的邮件服务器,此时收发邮件都是通过公司内部的邮件服务器来收发。

这个MX记录用的时候,也需要搭配A记录一起使用。

即先写MX  5  mail01.linux.com

mail01.linux.com.   A   4.4.4.4

如果公司内部没有邮件服务器那么这个MX记录就用不到。

其中数字5标识这个邮件服务器的优先级,数字越小,优先级越高,优先级越高,其他客户端越会首先使用数字小的邮件服务器来收发邮件。

MX 10 mail02.linux.com

mail02.linux.com.   A    5.5.5.5

数字越小优先级越高,

5.CNAME记录

中文叫做别名记录

给主机名起别名的,

也就是说,给主机名起一个别名,

如上图所示,比如www.baidu.com是www.a.shifen.com的别名,这样是为了好记。

给一个主机名起别名的时候可以起多个别名,但是没有必要啊。

书写形式如上。

3.DNS的查询类型

1.递归查询

指的是客户端只需要发送一次查询请求就可以获取结果。

2.迭代查询(实现迭代查询的前提是这台DNS服务器可以正常上网。)

指的是客户端需要发送多次查询请求才可以获取结果。

三.DNS的部署即DNS在Linux上的实现

软件:bind,bind-chroot

严格意思上说bind-chroot可以不安装,但是建议安装,为了增强DNS服务的安全性,

bind的配置文件都在/etc/保存着。

bind-chroot会给DNS进程生成一个伪根目录,即/var/named/chroot将来所有的配置都在这个为根目录下的配置文件书写。

也就是说把DNS服务的权限被限制在了伪根目录下,将来有一天这个DNS服务器被攻破了哪怕攻击者获取到了DNS服务器的运行权限也只能在这个伪根目录下进行操作,真正的重要的信息根本无法获取。

DNS经常被人攻破,要注意保护信息。

配置文件:伪根目录来说,

主配置文件:/var/named/chroot/etc/named.conf主要作用是用来定义区域,即正向区域还是反向区域,以及这个区域名称是什么。

记录文件:/var/named/chroot/var/named/*主要作用是用来写记录信息的。

搭建DNS服务器就是两件事创建区域,编写记录。

存放记录信息的文件名称可以随意。

但是

named.conf主配置文件:

定义区域:linux.com

记录文件:linux.com.zone

记录文件:/var/named/chroot/var/named/linux.com.zone

服务:named,named-chroot

端口:53/udp

四.配置DNS实现正向解析

需求实现:员工可以根据公司内部的DNS服务器实现主机名向IP地址转化的正向解析,

web.linux.com        192.168.1.1

ftp.linux.com                192.168.1.2

mail.linux.com        192.168.1.3

ns01.linux.com        192.168.183.10

如上图所示,创建区域,并且这个区域名称是linux.com

负责解析linux.com结尾的所有主机名,

1.关闭防火墙,SELinux,确保机器的时间一致

2.安装DNS相关软件

如上图所示,安装DNS所需要的软件,

3.编辑named.conf主配置文件,创建区域

如上图所示,在伪根目录下去创建这个主配置文件,

如上图所示,第一个文件路径表示的是记录文件的存放位置,

这个目录实际标识的是/var/named/chroot/var/named

如上图所示,第二个文件路径表示的是创建区域的名称,这个区域都是二级区域,

type master;表示的是这个区域是主区域,也就是说这个区域中记录信息可以根据自己的需要,随意添加修改记录信息。

也可以把区域类型修改为从区域,并且这个区域中的记录信息,都是不能直接操作的。需要从主区域来修改从区域中的内容。

文件名指定的就是区域的记录文件名称。

4.复制记录文件模板named.local host

如上图所示,就是记录文件模板,

5.添加记录信息

写管理员邮箱地址的时候把@改成点.

如上图所示,就是DNS服务器的记录文件。

6.记录named服务

如上图所示,启动DNS服务,并且配置DNS服务开机自启动。

如上图所示,通过查看进程以及查看DNS产生的UDP协议的端口号来验证DNS服务器是否启动成功。

7.检测DNS是否能够正向解析,即能否将主机名转化成IP地址

(测试DNS服务是否能够正常工作。)可以通过工具nslookup

如上图所示,指定需要哪个DNS服务器来解析主机名,

如上图所示,这时主机名解析正常。

随后exit退出即可。

DNS服务器的作用就只是解析这个主机名所对应的IP地址,但是这个机器能不能跟这个IP地址通信,跟这个DNS服务器没有关系。

五.配置DNS实现反向解析(如果要配置DNS服务器实现反向解析,必须要保证DNS的正向解析是正常的,需要在正向解析的基础上去进行反向解析。)

如上图所示,这个切换机器DNS服务器地址的行为只是临时的指定当退出这个nslookup软件的时候,DNS服务器指定的功能就失效了。

那么如何让其他机器使用你构建的DNS服务器的主机名呢?

 

如上图所示,可以把网卡的DNS服务器的地址修改为搭建的DNS服务器的IP地址,此时DNS在其他机器上能够成功生效。

如上图所示,就算是自己搭建的DNS服务器也可以去解析一些记录文件中没有的主机名,这里DNS服务器主要使用的是迭代查询。

这里的非权威应答是说的使用的是迭代查询。

当然DNS服务器能够使用迭代查询的条件是能上网。

如上图所示,此时要求DNS服务器进行反向解析是失败的。

 如果想要DNS能够做反向解析的话,就要求有反向区域,并且有对应的记录

1.编辑named.conf主配置文件,添加反向区域

创建反向区域解析IP地址所对应的主机名

如上图所示,因为这三个机器的IP地址前三位一样所以只要创建一个反向区域就可以了。

如上图所示,就是在DNS的主配置文件中所创建的反向区域。以及反向区域的记录文件名称。

2.添加反向区域对应的记录文件

如上图所示,首先复制记录文件的模板。

随后去修改这个复制的记录文件中的内容。

如上图所示,就是这个反向区域的记录文件中的内容。

3.重启DNS服务,测试

如上图所示,此时将机器的DNS指定为创建的DNS服务器地址,就可以实现反向解析了。

六.hosts文件的使用

一个客户端想获知一个主机名所对应的IP,除了有对应的DNS服务器之外还有另外的方式。

客户端系统内部有一个文件hosts,这个文件是用来记录某IP地址和主机名之间的关系的,先找的是hosts文件,找不到的话然后再找的是DNS服务器,

这就是在windows系统上用来保存IP地址和主机名对应关系的文件。

如上图所示,如果想修改这个文件的内容需要把这个文件拖到桌面上,然后以记事本形式打开,随后前面是IP地址,后面是这个IP地址所对应的主机名。

随后保存,随后将原来的hosts文件替换即可。

如上图所示,现在可以在个人PC上使用ping主机名就可以向目标主机进行通信。

一个IP可以对应多个主机名,

如上图所示,test2的主机名也标识着这个IP地址的机器。

Linux操作系统上的主机名解析文件是

如上图所示,就是在/etc/hosts中添加的文件内容。

二级域名放在公司放在个人PC都需要去花钱申请。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值