Li nux中级DNS(二)初涉

一、扫盲阶段

名词解释

/etc/hosts的说明:在私有网络里面,最好将所有的私有IP与主机名对应都写入这个文件中!

内容形式:IP     主机名  主机别名1  主机别名2

DNS:域名系统(Domain Name System ),是通信协议;作用 :知道主机的名称就知道主机的IP,就能轻松连上主机了!

BIND:Berkeley Internet Name Domain,bind软件的由来!

FQDN主机名域名的组合(Fully Qualified Domain Name),域名的记录各个主机名(核心:小数点)!

ISP(Internet Service Provider),互联网服务提供商,一般帮我们维护主机名和IP的映射关系

生活实例:(1)以区域来区分同名同姓的差异(2)以区域号码来区分形同的电话号码

引申出:DNS是以树形目录分阶层的方式来管理主机名!

理解DNS的管理结构

在这里插入图片描述

核心:知道什么是主机名,什么是域名,什么时候主机名也是域名(不同层级代表的含义不一样)!

常见的域的含义

TLDs(Top Level Domains 顶级域名);gTLD( Generic TLDs 一般顶级域名);ccTLD(Country Code TLDs 区域顶级域名)

理解一点:每个上一层的DNS服务器所记录的信息,其实只有下一层的主机名对应的IP而已!

理解:DNS系统查询主机名的解析流程(与/etc/resolv.conf这个文件有关)!

查看DNS的搜寻过程:dig +trace www.baidu.com

区域查询权:被授权之后,授权成为区域域名和IP的管理者,那么这个区域所有的主机名的信息都以自己为准,与上层无关,只负责给出答案,正确不正确就不一定了(恶搞)

标志位  NS:NameServer(DNS服务器);A:Address(IP)

核心:DNS服务器类型

   (1)主DNS服务器:负责解析至少一个域。

   (2)辅助(从)DNS服务器:负责解析至少一个,是主DNS服务器的辅助。

   (3)高速缓存DNS服务器:不负责解析域,只是缓存域名解析结果

二、高速缓存DNS

问题引入:区域内有多台主机,当同时 ping www.baidu.com 相同的请求,都通过一根线与外界进行通信,所以很耗带宽,并且每次请求等待的时间都很长,影响性能问题!

解决思路:我们知道每台主机获取到当前域名的IP时,都会在缓存中保存一段时间,默认是600s。当区域内的A主机获取到IP的时候,如果区域内的其它主机也有想同的需求,让其先询问此A主机,如果A主机的缓存中有,则直接获取到,由于并不向外界发出请求,也不占用带宽!

解决:区域内有一台主机作为高速缓存的DNS,其余的主机每次想查询域名的IP的时候,会请求这个DNS服务器!

高速缓存DNS特点:这个DNS服务器具有权威性,具有最终解释权,只提供信息,不会校验是否正确!

    2.1)环境配置

#1)DNS安装

    yum -y install  bind.x86_64 #说明如果有多个源,最好写全称,并且要检查来源!

    #版本:bind.x86_64 32:9.9.4-37.el7

    systemctl start named       #开启服务

                                #提示:重启服务,如果加密字符不够会卡顿,随便输入几个字符就OK!

    systemctl enable named      #开机自启

    systemctl status named      #查看服务状态

#说明1:防火墙最好关闭,或者防火墙允许服务通过,并且最好selinux也关闭!

#说明2:真机可以上网,DNS服务器可以通过网桥或者NAT的方式来上网!

#补充: rpm -qa |grep bind可以查询安装的相关组件!

named相关文件的说明

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

/etc/named.rfc1912.zones  # 定义zone的文件 

/etc/rndc.conf            # rndc配置文件 

/usr/sbin/named-checkconf # 检测/etc/named.conf文件语法 

/usr/sbin/named-checkzone # 检测zone和对应zone文件的语法 

/usr/sbin/rndc            # 远程dns管理工具 

/usr/sbin/rndc-confgen    # 生成rndc密钥 

###########named的数据库#############

/var/named/named.ca       # 根解析库 

/var/named/named.localhost# 本地主机解析库(模版)

/var/named/slaves         # 从DNS服务器文件夹

2.2)dig 测试的问题

     2.2.1)客户端测试问题1

    connection timed out; no servers could be reached

    原因:netstat -antlupe |grep named 显示

     tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN

   说明:默认回环地址53端口来监听外部请求的,用来内部测试的,显然不合理,修改配置文件绑定DNS服务器的IP!

     2.2.2) 客户端测试问题2

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 23719

原因:DNS服务器默认是不允许其它客户端来请求访问的!

解决策略:修改named配置文件

     2.2.3)客户端测试问题3

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 10047

原因:DNS服务接受客户端的请求,但是DNS没有解决策略,你问的问题我不知道

解决策略:此台DNS服务器转交上层的DNS服务器;我解决不了我想方设法的帮你解决!

    2.2.4)客户端测试问题4

   内容通上

   原因:默认会校验DNS的合法性(是否是授权的,说白一点就是付费没有),服务器端设置成no

 2.3)达到的效果

   效果:当客户端A去dig www.baidu.com的时候,第一次时间比较长,后续这个域的其它客户端访问的时候直接从DNS服务器的缓存中查看,所以特别快!

;; Query time: 1 msec  #图略

特别说明:这种方式即使有.的根DNS服务器,也不会去请求!

2.4)补充说明

 cach-only DNS并不存在数据库,但是可以指定一个上层的DNS作为通过forwarding目标,将原本自己要往.查询的任务,丢给上层DNS服务器处理即可,这台DNS服务器就变成了客户端,递归查询(默认)!

三、主DNS服务器正向解析

    理解:配置文件的读取过程!

    3.1)DNS的解析方式

   (1)正向解析:即将FQDN转化为IP

   (2)反向解析:即将IP转化为FQDN

    3.2)DNS主配置文件的说明

zone "." IN { 
                                    // 定义zone文件,这里是定义的根域的文件位置
   type hint; 
   file "named.ca"; 

  }; 
include "/etc/named.rfc1912.zones"; // 把named.rfc1912.zones文件包含进来(正反解析的内容)
include "/etc/named.root.key";      // 把/etc/named.root.key文件包含进来

#include理解成vim中的require

     3.3)DNS的正向解析步骤

- 1. 编辑主配置文件 /etc/named.conf

- 2. 编辑子配置文件(区域配置文件) /etc/named.rfc1912.zones 

- 3. 编辑正向解析配置文件 /var/named/wzj.com.zone(自建) 

- 4. 编辑反向解析配置文件 /var/named/192.168.10.arpa(自建) 

- 5. 重启named服务

#实例模版:tree /usr/share/doc/bind-9.9.4/sample

      3.4)以一个示例,讲述正向解析的详细过程

          3.4.1)named配置文件中不做任何修改

              说明:理论上也可以将配置写进此配置文件中,但有了/etc/named.rfc1912.zones此配置文件,不乱,排错好排错!

         3.4.2)/etc/named.rfc1912.zones中来进行定义正向解析

zone "wzj.com" IN {         #domain(注意当前没有.)
    type master;            #主DNS
    file "wzj.com.zone";    #定义区域解析库文件(默认从/var/named/目录找),习惯的命名方式"zone的名字+.zone"!
};

#######补充说明########

type:
    master  指的是主dns解析
    slave   指的是从dns解析
    hint    指的是根域名解析(根提示域)
    forward 指的是转发,转发不使用file

         3.4.3)/var/named/wzj.com.zone配置文件的设置

(3)cd /var/named/ 

cp -p named.localhost wzj.com.zone #说明:与子配置文件中声明的zone的文件名相同

注意:一定要保证属性(-p或者-a)都可以

         3.4.3)编辑该数据库文件

    重点:理解相关字段的含义

$TTL 1D 
@	IN SOA	server.wzj.com. user.mail.wzj.com. (
					0	; serial
					1D	; refresh 
					1H	; retry
					1W	; expire
					3H )	; minimum
	  NS	  server.wzj.com. #最好带上.(否则会自动加上@变量的内容)
server	  A	  172.25.254.105  #DNS服务器的IP
wzj	  A       172.25.254.12   #管理这个域中IP与主机名的映射
java      A       172.25.254.22
mail     CNAME    http.wzj.com.   #注意加上.
http      A       172.25.254.32
wzj.com. MX 1     172.25.254.32  #给这个域发邮件,接受邮件的地址(最好与上面的相同)!

#@变量代表".ZONE_FILE"
#user.mail.wzj.com.表示user@mail.wzj.com.

@的说明

 正解文件资源记录(Resources Record)RR格式

ttl: time to live DNS缓存中保存多久

A : IPV4的标志

NS:nameserver,管理这个域名的服务器的主机的名字

SOA:管理这个域名的七个重要参数

MX :接受这个区域邮件的服务器主机的名字(一定要跟上数字!!!,表示优先级,多个邮件服务器,越小优先级越高)

CNAME:主机的别名,主要是一些主机命名不规范,对内看,和对外看的不一样!

SOA:多台DNS管理同一个域名,声明被管理的zone file是如何进行文件传输的(Start Of Authority)

  核心参数:MaterDNS服务器的主机名(最终解释权) 管理员的email 序号(slave更新查看标识) 更新频率

CNAME:用处-->这个IP对应多个主机名,IP更改的时候-->

设置主要主机名设置为A,其他标志使用CNAME,当IP更改的时候,只需要修订一个A标志,其它的CNAME就跟着变动!

MX:Mail Exchange(邮件交换),表示寄给这个区域的E-mail都要送给Email Server的主机名上

@:在正解里面表示"域名."(wzj.com.)!

别名的理解

别名记录,这种记录允许您将多个名字映射到另外一个域名。

例如:通常用于同时提供WWW和MAIL服务的计算机。

例如,有一台计算机名为“host.wzj.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。

可以为该计算机设置两个别名(CNAME):WWW和MAIL

这两个别名的全称就 http://www.wzj.com/和“mail.wzj.com”。实际上他们都指向"master.wzj.com"。

说明:两种用途!

A记录和CNAME记录的区别

说明:关于RX的测试

 

说明: No route to host 是邮件服务器的问题,不是DNS的问题!

mialq :查看邮件队列!

dig命令

dig -t [a|nx|mx] wzj.com #type

邮件地址解析

电子邮件地址有统一的标准格式:用户名@服务器域名.

    1)用户名表示邮件信箱、注册名或信件接收者的用户标识,

    2)@符号后是你使用的邮件服务器的域名.@可以读成“at”,也就是“在”的意思.

整个电子邮件地址可理解为网络中某台服务器上的某个用户的地址!

四、主DNS的反向解析

  核心步骤

- 1. 编辑子配置文件(区域配置文件) /etc/named.rfc1912.zones (注意这个形式)

- 2. 编辑反向解析配置文件 /var/named/172.25.254.ptr(自建) 

- 3. 重启named服务

#说明:这几个配置文件读取和引用!

/etc/named.rfc1912.zones配置文件增加内容

zone "2.25.172.in-addr.arpa" IN {  #注意书写形式,以及后缀!
	type master;
	file "172.25.2.ptr";       #习惯的命名方式
	allow-update { none; };
};

/var/named/172.25.254.ptr的内容

$TTL 1D
@	IN SOA	master.wzj.com. user.mail.wzj.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	master.wzj.com.
master	A	172.25.2.105
25     PTR	www.wzj.com.
55     PTR      dns.wzj.com.

#注意小数点的问题!

测试

说明:在局域网中,最好正向和反向解析设置正确的数据!

五、双向解析

概念:不同的人解析的是不一样[内网172.25.254.0和外网192.168.172.0]

核心步骤

制作:两套体系-->/etc/named.conf

需求: 1.1.1.0/24 172.25.254.0/24

(1)cp -p westos.com.zone wzj.com.inter

 :%s/172.25.254/1.1.1

 #说明:创建内网的数据库,并且要创建/etc/named.rfc1912.inter

(2)cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter (内网的文件)

(3)vim /etc/named.rfc1912.inter

  只修改了: zone "wzj.com" 中的 file "wzj.com.inter" ==>引用(内网)数据库文件

(4)vim /etc/named.conf

   4.1)原来的通过/**/来注释

   4.2)man 5 named.comf告知的

     view localnet {
           match-clients { localhost; }; #说明:可以写多个(指定网段的IP)
           zone "." {
           type hint;
           file "named.ca";
     };
           include "/etc/named.rfc1912.zones";#客户端A看的是局域网的
};

     view internet {
           match-clients { any; };   #说明:除了本机以外的其他主机(可以设置成网段)!
           zone "." {
           type hint;
           file "named.ca";
     };
           include "/etc/named.rfc1912.inter"; #客户端B看的是公网的
};

include "/etc/named.root.key";

(5)测试

自己主机:dig www.wzj.com

其他主机:dig www.wzj.com 

六、排错的说明

可以通过/var/log/messages、systemctl status named、journel -xe 这三种方式来查看日志的问题

常出现的问题

1)语法设置错误以及拼写问题 -->/var/log/messages 详细的信息!

2)逻辑设置错误,就需要通过反复测试来排查问题!

常见的就是.的问题!

 

dig输出的说明

ANSWER

AUTHORITY

DHCP的租约到期了

/etc/reslov.conf -->多个DNS(放置某个DNS宕机,连不上网) 自己的IP一定要放到上面()

  

需求:日志在/var/log/messages -->想办法自定义位置

   理解:高度的含义

 3、DNS服务器查询的类型:

   (1)递归:客户端仅发出一次请求,让DNS服务器去查询返回结果;

   (2)迭代:要发出多次请求去分别查询不同的DNS服务器;

 

  4、DNS名称解析方式:

   (1)正向解析:即将FQDN转化为IP。

   (2)反向解析:即将IP转化为FQDN。

  

  5、DNS服务器类型:

   (1)主DNS服务器:负责解析至少一个域。

   (2)辅助(从)DNS服务器:负责解析至少一个,是主DNS服务器的辅助。

   (3)缓存DNS服务器:不负责解析域,只是缓存域名解析结果。

  

  6、DNS返回的结果类型:

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

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

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

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

    

  7、DNS的监听端口:tcp的53号端口,udp的53号端口。

链接1链接2链接3

引出下文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值