DNS简单介绍与使用

本公众号内容大多由平时操作记录,如果有错误地方欢迎留言指

DNS简介

DNS是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP的53号端口。

DNS服务的基本概念

在使用DNS前需要了解一些和DNS相关的概念这样有助于更好的理解DNS原理和使用。

域简单理解就是我们使用的域名,只是域名是有划分的,分为根域,顶级域等等,域的划分如下:

我们平时浏览互联网使用的域名.com、.org等都是顶级域。

FQDN:完全域名限定

每一个域名在全球网络中都是唯一的,比如gudaoyufu.com.

DNS服务器查询的类型

递归查询:

递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

迭代查询:

DNS 服务器另外一种查询方式为迭代查询,DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果

为止。

DNS查询过程

画一张简化流程图:

一次完整的解析过程:

client ——> 本机hosts 文件 ——> local cache(浏览器缓存) ——> DNS server ——> server cache ——> iteration(迭代)

DNS解析

正向解析:将域名转换成ip地址

反向解析:将ip地址转换成域名

DNS解析返回的结果类型

肯定答案:查询的域存在,会被缓存下来。

否定答案:不存在查询的域名,因此不存在与其查询的域名对应的IP;会被缓存下来。

权威答案:所查询的域名的结果是由负责解析这个域的DNS服务器所返回的答案。

非权威答案:在缓存中查询的结果。

DNS服务器类型

主dns服务器

从dns服务器

缓存服务器

主dns服务器:维护所负责解析的域内解析库服务器;解析库由管理员管理维护

从dns服务器:从主dns服务器或其他从dns服务器那里同步解析库

从服务器相关原理:

序列号:解析库的版本号:前提:主服务器解析库内容发生变化,其序列递增

刷新时间:从服务器从主服务器请求同步解析库的时间间隔

重试时长:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔

过期时长:从服务器始终联系不到主服务器时,多久时间后放弃从服务器角色,停止提供服务

否定答案的TTL值:

缓存服务器:接收互联网用户请求,不负责解析任何域,只提供代理解析工作,并将解析的结果存在本地,实现缓存功能

主从之间的数据同步方式:区域传送

全量传送:传送整个解析库

增量递增:传递解析库变化的那部分内容

资源记录(RR)的类型

SOA:起始授权记录:一个区域解析库有且只能有一条SOA记录。且必须为区域解析库的第一条记录

NS : 专用于表明当前区域的DNS服务器,指名DNS服务器

A: 主机名到ip地址的解

MX :邮件交换器,表明当前域内谁是邮件服务器

CNAME : 别名记录

PTR : IP ——> FQDN

AAAA : FQDN ——> IPv6

资源记录的语法

SOA记录:name  [TTL]  IN  type  value

注意:

(1) name:当前区域的名字,例如“yufu.com”

(2) @可用于引用当前区域的名字

(3) value: 有多部分组成

SOA的格式:

eg: 指定两台dns服务器的IP地址

MX语法:

name: 当前区域的名字

value: 当前区域的某邮件服务器(smtp服务器)的主机名 , 一个区域内,MX记录可有多个;

eg:

CNAME语法:

CNAME:

name : 别名的FQDN

value: 真正名字的FQDN

eg:

PTR反向解析语法:

name : IP,有特定格式,把ip地址反过来写;例如 1.2.3.4 要写作 4.3.2.1

而且有特定后缀:in-addr.arpa;完整写法为 4.3.2.1.in-addr.arpa

DNS服务程序与主要文件

DNS的主服务程序叫BIND,安装即可,BIND服务的名称叫named,通过named进行服务的启动。

安装BIND

启动

查看端口

BIND主要配置文件

DNS配置实验

配置DNS

编辑/etc/named.conf

named.conf文件中内容注释使用//或/注释内容/

每个段落后要以 ;结尾

修改区域文件/etc/named.rfc.1912.zones添加区域解析库文件信息

添加正向解析

添加反向解析

编写正向解析库文件

vim /var/named/gudaoyufu.com.zone

编写反向解析库文件

注意:反向解析库文中的区域名称要反写并且加上固定后缀,编写方式见下面配置、

vim /var/named/192.168.214.128.zone

DNS测试工具dig

DNS服务配置好以后在本机使用工具测试配置是否正确,这里介绍一下查询工具dig

Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内,但是在linux系统下,它的包名称叫bind-tools。yum安装即可

使用选项:

参数:

本地测试:通过本机查询192.168.214.128.135主机的域名

Client服务测试

部署好web服务(这里略过)

客户端设置

测试访问

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180523G1WBEA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券