一、DNS概述:

DNS——域名解析协议(将域名转化成ip地址

192.168.0.0—— ip地址过长而且都是数字,不方便记忆实验出现了域名

www.baidu.com ——域名都是有含义的,方便人们记忆

TCP 53号端口:连接DNS服务器

UDP 53号端口:解析DNS

正向解析: 根据域名查找对应的IP地址(A记录)

反向解析: 根据IP地址查找对应的域名(反垃圾邮件的验证)(P记录)

分离解析: 同一个dns服务器,同一个域名情况下,不同网段进行访问会解析出不同的IP地址。

DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)

 1.hosts:

本地名称解析配置文件

在Linux系统中负责ip地址与域名快速解析的文件

通常将常用的域名和ip地址映射加入hosts文件中,实现快速访问。

集中管理,类似于中央集权

路径:/etc/hosts

 如何实现域名和IP地址的一一对应关系?

系统会通过一个本地HOSTS文件,来实现域名转换IP地址额功能。hosts 文件包括主机名和 IP 地址的对应关系。当需要通过主机名访问主机时,它就会查看本地的 hosts 文件,从文件中找到相对应的 IP 地址,然后进行报文发送。如果在 hosts 文件中没找到相关信息,则主机访问失败。

修改dns的优先级: 

vim /etc/nsswitch.conf                      #打开配置编辑器

hosts: files dns myhostname          #修改 files和 dns的先后 优先级就会改变

实验:

1.写入hosts文件 :

vim /etc/hosts

 2.ping网址:

3.修改前后顺序

4.此时使用的是本地域名服务器

二、域名的组成: 

所有的域名解析都需要根域

www.baidu.com.

.——根域:根的dns服务器只能解析主机名+根域

.com——一级域:级域的dns服务器只能解析主机名+一级域+根

.baidu—— 二级域:二级域的dns服务器主机名+二级域+一级域+根域

www ——主机名

 三、查询方式:

递归查询:问一次就得到

迭代查询:透露消息然你去找,要问多次

四、 一次dns解析的过程:

我要访问www.baidu.com 服务器:

1.先看我本机的hosts文件,如果有直接访问,如果没有就去找你设置的缓存dns服务器

2.如果缓存服务器有,直接反馈结果(递归),如果没有就需要迭代查询,直接去找根域服务

3.由于根域服务器只能解析根无法解析www.baidu.com但是根域服务器让你去找一级域服务器

4.一级域发现自己也解析不了,让你去找二级域

5.二级域发现这台服务器在自己的管理范围内,直接反馈结果给缓存服务器

6.缓存服务器再交给客户

权威dns服务器:最后解析成功的服务器成为权威服务器

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

bind:服务器

bind-libs:相关库

bind-utils: 客户端

bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

分布式的管理:外网   一级管一级

五、DNS服务器分类:

  • 主服务器:在特定区域内具有唯一性,负责维护该区域的域名与IP地址之间的对应关系。
  • 从服务器:从服务器中获得域名与IP地址的对应关系并进行维护,以防止主服务器宕机(无法恢复的死机)
  • 缓存服务器:主机向其他域名解析器服务器查询获得域名与IP对应关系,并经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。
     

六、DNS客户端检测工具: 

1.host:

解析域名对应的IP地址和别名等信息

语法格式:

host [参数] [主机名或IP] [server]

选项:

-a    显示详细的DNS信息
-c    指定查询类型,默认值为“IN”
-C    查询指定主机的完整的SOA记录
-r    不使用递归的查询方式查询域名
-t    指定查询的域名信息类型
-v    显示指令执行的详细信息
-w    如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W    指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出
-4    使用IPv4查询传输 (默认)
-6    使用IPv6查询传输

2.nslookup :

在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令

nslookup有两种工作模式:“交互模式”和“非交互模式”。在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由“>”提示

通式:

nslookup [参数] [域名]

3.dig:

它是一个用来灵活查询DNS的工具,它会打印出DNS域名服务器的回应,主要用来从DNS域名服务器查询主机地址信息

dig命令与nslookup命令功能基本相同,但是dig命令灵活性好、易用、输出清晰

通式:

dig [参数] [IP]

 

七、正向解析资源记录及配置 :

正向解析: 根据域名查找对应的IP地址(A记录)

先安装软件:
bind  安装包的名字

named   程序的名字

named程序的主要文件:

/etc/named.conf   主配置文件

/etc/named.rfc1912.zones   子配置文件  域名配置文件

/var/named/数据库文件     定义了域名和ip地址的对应关系

1.

yum install bind* -y——安装bind包

2.

systemctl start named

vim /etc/named.conf ——更改主配置文件

3.

vim /etc/named.rfc1912.zones——域名配置文件:

 ​​​​

 4.

cd  /var/named———切换目录

cp -a named.localhost lxc.com.zone ——将主机的配置的文件内容复制到指定要配置的文件中

vim lxc.com .zone  ——打开要配置的文件


SOA 记录类型:

A  正向解析(将域名地址翻译成ip地址)

NS   域名服务器

CNAME   别名

PTR   反向解析(将ip地址解析成域名)  

5.

vim /etc/sysconfig/network-scripts/ifcfg-ens33 ——更改dns

6. 

systemctl start named——开启named服务

systemctl restart network——重启网络

cat /etc/resolv.conf——查看当前使用的dns

7.域名解析查看:

 

八、反向解析:

反向解析: 根据ip地址查找对应的域名((P记录) 

1.在正向解析配置下配置反向解析;

vim /etc/named.rfc1912.zones——打开域名配置文件新增域名

2.

cp -a lxc.com.zone gg.com.zone——把正向解析的配置复制到反向解析的配置中更改

 3.

vim gg.com.zone——修改数据库文件

4.查看

5.host反向解析查看

九、主从复制:

实验环境:

主服务器地址:172.16.195.10

从服务器地址:172.16.195.20

主服务器配置:

1.

yum install bind* -y——安装bind包

 

2.

vim /etc/sysconfig/network-scripts/ifcfg-ens33 —— 设置两个dns

3.

cd /var/named/——切换目录

vim /etc/named.conf——更改主配置文件

 4.

cp -a named.localhost lxc.com.zone——复制配置文件到目标文件中

vim lxc.com.zone——更改配置文件

 

5. 

vim /etc/named.rfc1912.zones ——添加域名配置文件

6.

dig解析

从服务器配置:

1.

vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.

vim /etc/named.conf

 

3. 

vim /etc/named.rfc1912.zones 

4.

查看

主从实验: 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐