前言:上一章和拐友们讲了DHCP,这章我们来了解一下DNS,DNS可以使用户更加方便的访问互联网,而不用再去记住能够被机器直接读取的IP数串,简单来说就是将域名转换为IP地址(或者将IP地址转换为相应的域名)

目录

一.系统的作用以及类型

1.DNS的概念

1.2.DNS的使用的协议以及端口号

1.3域名体系结构

1.4DNS服务器系统类型

1.5DNS查询的方式

1.6.DNS的解析过程

二.构建DNS域名解析服务器步骤

1.BIND软件安装

2.1配置正向解析

2.2修改主配置文件

2.3修改区域配置文件,添加正向区域配置

2.4配置正向区域数据文件

2.5启动服务,关闭防火墙

2.6在客户端的域名解析配置文件中添加DNS服务器地址

2.7测试DNS解析

3.DNS反向解析实验

3.1修改区域配置文件,添加正向区域配置

3.2 备份指定区域数据配置文件,然后编辑指定区域数据配置文件

3.3打开dns域名解析服务

4.主从服务器(ps:需要再开一台虚拟机当从服务器)

4.1修改主配置文件

4.2修改区域配置文件

4.3配置区域数据文件

4.4以客户机身份指定从服务器dns地址

4.5 重启服务并查看是否完成配置

4.1.1从服务器配置步骤(新开的虚拟机)

4.1.2.安装bind服务

4.1.3.编辑主配置文件

4.1.4编辑区域配置文件

4.1.5验证从服务器是否已经将主服务器的区域数据配置文件备份过来了

4.1.6指定从服务器的dns

4.17关掉主服务器,验证从服务器

五.DNS服务器分离解析

5.1.安装bind服务

5.2为网关服务器多配一张网卡

5.3配置网卡并重启网卡

​ 5.4xshell掉线,进入终端查看网卡

5.6修改区域配置文件(将主配置文件)

5.7配置区域数据配置文件

5.8重启服务 并验证结果

六.总结


一.系统的作用以及类型

1.DNS的概念

DNS域名系统(Domain Name System缩写DNS,Domain,Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

ps:(另外全世界目前只有13台根域名服务器,一个主根服务器,12个辅根服务器)

1.2.DNS的使用的协议以及端口号

1.DNS的默认端口为53。 DNS端口分为TCP和UDP。

其中DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。

TCP是用来做区域传送,多用于主从同步在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNSs数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。

UDP是用来做DNS解析的域名:通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Name,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com。

举个例子:google为 com域的子域,其表示方法为google.com,而 ww 为 google域中的子域,可以使用wwrw .google.com.表示。

ps:通常,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z2和减号(-)。点号(.)只允许在域名标志之间(例如"google.com")或者FQDN的结尾使用。域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域即全域名:同时带有主机名和域名的名称FQDN = Hostname + DomainName

如:www .baidu . com.(最前面的一定是主机,最后一个点表示根域,通常是省略不写的,但实际上:www.abc.com=w .abc.com.

1.3域名体系结构

ps:IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1

举个例子:

1 http://www.sina.com.cn./

2 http://主机名.子域.二级域.顶级域 根域/

根域 位于域名空间最顶层,一般用一个“.” 表示。
顶级域

一般代表一种类型的组织机构或国家地区;

(如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育结构)、.gov(政府部门)、.cn(中国国家域名)

二级域

用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,

(如.cn顶级域名下面设置的二级域名: .com.cn、.net.cn、.edu.cn)

子域 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

主机名

主机位于域名空间最下层,就是一台具体的计算机

域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址

(如 www、mail都是具体的计算机名字,可用www.sina.com.cn.、 mail.sina.com.cn.来表示,这种表示方式称为FQDN(完全合格域名),也是这台主机在域名中的全名)

组织域:.com .org .net .cc国家域: .cn .tw(台湾).hk (香港) .iq .ir .jp (日本)114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。8.8.8.8是GOoGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用223.5.5.5和223.6.6.6:阿里云DNS

1.4DNS服务器系统类型

1.主域名服务器

负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

2.从域名服务器

当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

3.缓存域名服务器

只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

4.转发域名服务器

负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

1.5DNS查询的方式

1.递归查询

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

总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

递归查询:

主机向本地域名服务器的查询一般都是采用递归查询。所谓归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的1P地址,那么本地域名服务。就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

2.迭代查询

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

总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反。

迭代查询:

本地域名服务器向根域名服务器的查询的迭代查询。迭代查询的特点,当根域名服务器收到本地域名服务器发出的迭代查询请求指文时,要么给出所要查询的IP地址,要么告诉本地服务器:"你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,那么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

另外我们可以从递归和迭代查询可以看出:

1.客户端-本地DNS服务器:这部分属于递归查询

2.本地DNS服务器-外网:这部分属于迭代查询

3.递归查询时,返回的结果只有两种:查询成功或查询失败

4.迭代查询,又称作重指引,返回的是最佳的查询点或者主机地址。

递归:客户端只发一次请求,要求对方给出最终结果。

迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表。
客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

授权回答:向dna服务器查询一个域名,刚好这个域名是本服务器负责,返回的结果就是授权回答。

1.6.DNS的解析过程

1.先查本机的缓存记录。

2.查询hosts文件。

3.查询dns域名服务器,交给dns域名服务器处理。
以上过程成为递归查询:我要一个答案你直接会给我结果。

4.这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步。

5.求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器。

6.求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器。

7.求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器。

8.本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端。

二.构建DNS域名解析服务器步骤

1.BIND软件安装

BIND(Berkeley internet Name Daemon)是应用最广泛的DNS服务器程序

官方站点:https://www.isc.org/

主要执行程序:/usr/sbin/named

默认监听端口:53

主配置文件:/etc/named.conf

保存DNS解析记录的数据文件位于:/var/named

yum -y install bind

2.1配置正向解析

1.rpm -qc bind                             #查询bind软件配置文件所在路径

2./etc/named.conf                       #主配置文件

3./etc/named/rfc1912.zonrs        #区域配置文件

4./var/named/named.localhost   #区域数据配置文件

2.2修改主配置文件

1.vim /etc/named.conf
2.options {
3.     listen-on-v6 poet 53 { 192.168.75.10; };              #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
4.#  listen-on-v6 port 53 { : :1; };          #ipv6行如不使用可以注释掉或者删除
5.   directory       "/var/named";            #区域数据文件的默认存放位 置
6.   dump- file      "/var/ named/data/cache_ dump . db";   #域名缓存数据库文件的位置
7.   statistics-file "/var/named/data/named stats.txt";      #状态统计文件的位置
8.   memstatistics-file "/var/named/data/named_ mem_ stats. txt";    #内存统计文件的位置
9.   allow-query { any; };        #允许使用本DNS解析服务的网段,也可用any代表所有
 
10.zone "." IN {                                            #正向解析“. "根区域
11.        type hint;                                       #类型为根区域
12.       file "named.ca";                                 #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};

13.wq保存退出

2.3修改区域配置文件,添加正向区域配置

1.vim /etc/named.rfc1912.zones                   #可在文件里有模版,可复制粘贴后修改
2.zone "ln. com" IN {                                    #正向解析"lic.com"区域
   type master;                                               #类型为主区域
3. file "ln. com. zone";                             ps:指定区域数据文件为ln. com. zone
4.allow-update { none; };
};

5.wq保存退出

2.4配置正向区域数据文件

1.cd /var/named/
2.cp -p named.localhost ln.com.zone            #保留源文件的权限和属主的属性复制
3.vim /var/named/lic.com.zone
4.$TTL 1D                                                  #设置缓存解析结果的有效时间
5.      @       IN SOA ln.com. admin.lic.com. (
                                                                                        0; serial .
                                                                                        1D; refresh
                                                                                        1H; retry
                                                                                        1W; expire
                                                                                        3H ) ; minimum
          NS              ln.com.                                    #记录当前区域的DNS服务器的名称
          A                192.168.75.10                       #记录主机IP地址
IN    MX   10         mail.lic.com.                           #MX为邮件交换记录,数字越大优先级越低
www  IN    A         192.168.75.10                       #记录正向解析www.benet.com对应的IP
mail   IN    A         192.168.75.19
ftp   IN  CNAME   www                                        #CNAME使用别名,ftp是www的别名
*    IN       A          192.168.75.20                       #泛域名解析,“*"代表任意主机名

2.5启动服务,关闭防火墙

1.systemctl start named
 
2.systemctl stop firewalld
 
3.setenforce 0

4.tail -f /var/log/ message #如果服务启动失败,可以查看日志文件来排查错误
 
5.named-checkconf -z /etc/name.conf       #查看配置文件有没有出错
 
6.rndc-confgen -r /dev/urandom -a          #如果服务启动卡住,可以执行此命令解决

2.6在客户端的域名解析配置文件中添加DNS服务器地址

第一种方法

1.vim /etc/resolv.conf                                      #修改完后立即生效
2.nameserver 192.168.75.10

第二种方法
1..vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
2.DNS1=192.168.75.10
3.systemctl restart network

2.7测试DNS解析

  1. host www.ln.com

  2. nslookup www.ln.com

  3. nslookup ftp.ln.com

3.DNS反向解析实验

3.1修改区域配置文件,添加正向区域配置

1.vim /etc/named. rfc1912. zones             #文件里有模版,可复制粘贴后修改
2.zone "75.168.192. in-addr.arpa" IN {     #反向解析的地址倒过来写,代表解析                                                                                         192.168.100段的地址
3.       type master;
4.       file "ln.com.zone.local";       #指定区域数据文件为ln.com.zone.local
          allow-update { none; } ;
5.wq保存退出

3.2 备份指定区域数据配置文件,然后编辑指定区域数据配置文件

1.cd /var/ named/
2.cp -p named.localhost ln.com.zone.local
3.vim /var/named/ln.com.zone.local
4.$TTL 1D
5.@       IN SOA ln.com. admin.ln.com. (      #这里的“@"代表192.168.80段地   
                                                         0     ; serial
                                                        1D    ; refresh
                                                        1H    ; retry
                                                        1W    ; expi re
                                                        3H )  ; minimum
6.                       NS     ln.com.
7.                          A      192.168.75.10
8.100 IN          PTR      WWW.lic.com. 
9.200 IN          PTR      mail.ln.com  
  
#PTR为反向指针,反向解析192.168.80.200地址结果为www.lic.com.
                                     邮箱地址为mail.lic.com

10.wq保存退出

3.3打开dns域名解析服务

  1. systemctl restart named

  2. host 192.168.100.100

  3. ns1ookup 192.168.100.100

  4. host 192.168.200.200

  5. ns1ookup 192.168.200.200

4.主从服务器(ps:需要再开一台虚拟机当从服务器)

4.1修改主配置文件

(ps:就是我们现在再用的这台服务器)

4.2修改区域配置文件

1.vim /etc/named.rfc1912.zones
2.zone "lic.com" IN {
3.         type master;                         #类型为主区域
4.         file "lic.com.zone";
5.        allow-transfer { 192.168.75.10; };  #允许从服务器下载正向区域数据,这里添从服务                                                                     器的IP地址
           };
 
6.zone "100.168.192.in-addr.arpa" IN {
7.       type master;
8.file "lic.com.zone.local";
9.allow-transfer { 192.168.75.10; };
};

4.3配置区域数据文件

4.4以客户机身份指定从服务器dns地址 

4.5 重启服务并查看是否完成配置 

4.1.1从服务器配置步骤(新开的虚拟机)

4.1.2.安装bind服务

4.1.3.编辑主配置文件

4.1.4编辑区域配置文件

1.vim /etc/ named.rfc1912.zones
2.zone "ln.com" IN {
3.type slave;                                   #类型为从区域
4.masters { 192.168.75.10; } ;          #指定主服务器的IP地址
   file "slaves/ln.com.zone";            #下载的区域数据文件保存到slaves/目录下
};
5.zone "100.168.192.in-addr.arpa" IN {
6.type slave;
7.masters { 192.168.75.10; } ;
8.file "slaves/ln.com.zone.local" ;

};

9.wq保存退出

4.1.5验证从服务器是否已经将主服务器的区域数据配置文件备份过来了

4.1.6指定从服务器的dns

4.17关掉主服务器,验证从服务器

五.DNS服务器分离解析

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

分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址的客户机请求解析同一域名时,为其提供不同的解析结果。

配置网关服务器搭建DNS分离解析

实验环境:CentOS7、虚拟机win10

在网关服务器搭建DNS分离解析,

局域网主机解析www.ln.com 为192.168.75.10,

外网主机解析 www.ln.com 为。

5.1.安装bind服务

5.2为网关服务器多配一张网卡

5.3配置网卡并重启网卡

 5.4xshell掉线,进入终端查看网卡

5.6修改区域配置文件(将主配置文件)

1.vim /etc/named.rfc1912.zones
2.view "lan" {                                #定义内网view,view代表容器分割
3.match-clients { 192.168.20.0/24; };     #匹配内网网段
4zone "benet.com" IN {                   #设置要解析的区域
    type master;                 
    file "benet.com.zone.lan"; };        #数据配置文件
      
5。zone "." IN {                            #可将根域配置从主配置文件剪切过来,dd+p
6.   type hint;                                #hint是根区域类型
7.    file "named.ca"; };      
};
 
 
8.view "wan" {                                #定义外网view
9.match-clients { any; };                 #匹配除了内网网段以外的任意地址
10.zone "long.com" IN {
11.    type master;
12.   file " benet.com.zone.wan"; };

5.7配置区域数据配置文件

5.8重启服务 并验证结果

六.总结

1、DNS 正向 反向
2、DNS工作原理包含递归、迭代查询原理
3、主从原理(主服务器宕机,从服务器顶替工作)
4、缓存原理(缓存每次域名服务器查询的结果,查询相同的信息时用它予以响应)
5、分离解析(外网与内网共用一个域名)
6、服务配置文件
     6.1 bind服务主配置文件
     6.2bind服务区域配置文件
     6.3 bind服务区域数据配置文件

网络服务之----DNS域名解析服务篇相关推荐

  1. Linux网络服务之DNS域名解析服务

    Linux网络服务之DNS域名解析服务 DNS简介 DNS名词介绍 DNS系统的作用 DNS分布式数据结构 DNS系统类型 DNS的查询方式(递归查询和迭代查询) 本地主机映射文件hosts 域名的解 ...

  2. LinuxProbe 0x15 SAMBA文件共享服务、NFS网络文件系统、AutoFs自动挂载服务、DNS域名解析服务

    配置网络文件系统(Network File System,NFS)服务来简化Linux系统之间的文件共享工作, 通过部署NFS服务在多台Linux系统之间挂载并使用资源. 在管理设备挂载信息时,使用a ...

  3. linux下DNS配置及域名解析服务,linux DNS域名解析服务

    DNS域名解析服务 (一)Dns软件包安装 Bind:提供域名服务的主要程序及相关文件 Bind-utils:测试dns工具(nslookup.host) Yum仓库安装软件 Yum install ...

  4. 【鬼网络】之DNS域名解析服务

    序言 域名解析 序言 一.BIND域名服务基础 1.DNS系统的作用及类型 2.DNS系统类型 BIND的安装和配置文件 使用BIND构建域名服务器 构建缓存域名服务器 构建主.从域名服务器 总结 一 ...

  5. LinuxFTP文件传输服务和DNS域名解析服务

    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易, ...

  6. Linux网络 DNS域名解析服务

    目录 1. DNS域名解析服务 (1)DNS系统的作用及类型 (2)缓存域名服务器 (3)DNS系统类型 (4)BIND的安装和配置文件 (1)BIND软件安装 (2)DNS的分布式互联网解析库 (5 ...

  7. 运维之DNS域名解析服务基础概念与Bind9安装

    ​0x00 前言简述 基础概念 基础术语 记录类型 0x01 DNS服务介绍 原理流程 实验目标 0x02 DNS服务之Bind9 Ubuntu 安装 CentOS 安装 Docker 容器 1) 源 ...

  8. DNS域名解析服务(正向解析、反向解析、主从服务器)

    介 绍 Internet发展至今,在网的服务器和个人主机数量庞大,每个用户通过记忆IP地址访问网络资源并不现实了. 目前大家访问互联网进行上网浏览信息时,正常是通过域名进行访问(例如:www.baid ...

  9. 在linux下dns绑定域名,在Linux系统中,使用Bind搭建DNS域名解析服务

    DNS域名解析服务(DomainNameSystem)是用于解析域名与IP地址对应关系的服务作用为维护着一个地址数据库,记录着各种主机域名与IP地址的对应关系,以便为客户提供正向或反向的地址查询服务, ...

最新文章

  1. 什么样的域名更利于优化?
  2. (JAVA)正则表达式
  3. 挖掘建模-分类与预测-回归分析-逻辑回归
  4. 让nginx支持文件上传的几种模式
  5. [2019杭电多校第七场][hdu6651]Final Exam
  6. Delphi--“Range check error“ 错误解决方案之一
  7. wpf 点击按钮弹出新对话框_WPF学习弹出新窗口
  8. JSCRIPT如何调试
  9. 阿里云企业邮箱登陆地址,阿里云个人免费邮箱邮箱登陆地址分享
  10. 解决input获取焦点后,旁边文字抖动问题
  11. Web IDE优势在哪?详解Web版数据库管理工具SQL Studio
  12. 4G信号变卡的主要原因
  13. C语言关系运算符计算题,【单选题】下列运算符中是C语言关系运算符的是().
  14. Springboot集成海康SDK(以海康USB_SDK为例)
  15. slack下载 csdn、_找出老板是否可以下载Slack DM
  16. ⭐算法入门⭐《动态规划 - 串匹配》困难02 —— LeetCode 72. 编辑距离
  17. 网络退化、过拟合、梯度消散/爆炸
  18. Geoffrey Hinton:从神经网络黑暗时代的坚守到今天的胜利
  19. ansible主机清单和动态主机清单
  20. 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)

热门文章

  1. Netcat介绍及安装使用
  2. 互联网公司很年轻?拼多多、字节人均年龄27岁,阿里31岁...
  3. 差分管电路图_基于差分对管的差分放大电路设计.pdf
  4. 35岁程序员真的要去卖炒饭了吗?
  5. 域渗透 | 利用DnsAdmins提权到SYSTEM
  6. 人体器官类比金融科技,及其终极目标
  7. ABAP SE78上载图片时注意位图格式
  8. 巧用GPIO口控制多个LED
  9. .md文件格式详解,即markdown文件语法(图文并茂),新生代农民工必备技能
  10. 用户行为分析模型——路径分析(一)