IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux基础第7节 ----配置与管理DNS服务器 -> 正文阅读

[系统运维]linux基础第7节 ----配置与管理DNS服务器

目录

一.了解DNS服务

1.认识域名空间

2.了解DNS服务的分类

Ⅰ.主DNS服务器

Ⅱ.辅助DNS服务器

Ⅲ.转发DNS服务器

Ⅳ.唯高速缓存DNS服务器

3.掌握DNS查询模式

Ⅰ.递归查询

Ⅱ.转寄查询(又称迭代查询)

4.掌握域名解析过程

Ⅰ.DNS域名解析的工作原理

Ⅱ.正向解析和反向解析

二.安装DNS服务(IP地址192.168.10.1)

1 .安装BIND软件包(实现DNS服务器的开放源码软件)

?2.DNS服务的启动,停止和重启,加入开机自启动

?三.掌握BIND配置文件

1.认识全局配置文件

2.认识主配置文件

1.Zone区域声明

?2.跟区域文件/var/named/named.ca

3.缓存DNS服务器的配置

四.配置主DNS服务器实例

1.案例环境及需求

2.配置过程

Ⅰ.配置全局配置文件/etc/named.conf文件

Ⅱ.配置主配置文件

Ⅲ.修改bind的区域配置文件

?Ⅳ.设置防火墙放行,设置主配置文件和区域文件的属组为named

?Ⅴ.重启DNS服务,并加入开机自启

五.配置DNS客户端

1.配置Windows客户端

?2.配置Linux客户端(ip地址192.168.10.2)

六.使用nslookup测序DNS

1.nslookup命令<前提是客户端与服务端通信畅通>

?2.dig命令

?3.host命令


一.了解DNS服务

? ? ? ?DNS(Domain Name Service,域名解析服务)是Internet/Intarnet中最基本也是非常重要的一项服务,他提供了网络访问域中域名和IP地址地相互转化? ?

1.认识域名空间

? ? ? ? DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树。这个逻辑的树形结构称为域名空间。由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息,如图


? ? ? ? DNS树的每个节点代表一一个域,?通过这些节点,对整个域名空间进行划分,成为一一个层次结构。域名空间的每个域的名字通过域名进行表示。域名通常由一个完全正(?FullyQualified?Domain?Name,?FQDN?)标识。FQDN能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根地完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔

? ? ? ? 一个DNS域可以包括主机和其他域(子域),每个机构都拥有名称空间地某一部分的授权,负责该部分名称空间的管理和换份,并用它来命名DNS域和计算机。例如:163为com域的子域,其表示方法为163.com,而WWW为163域的Web主机,可以使用www.163.com表示

2.了解DNS服务的分类

Ⅰ.主DNS服务器

? ? ? ?主DNS服务器(?Master或Primary)负责维护所管辖域的域名服务信息。它从域管理员构造的本地磁盘文件中加载域信息,该文件(区文件)包含着该服务器具有管理权的一部分域结构的最精确信息。配置主域服务器需要一整套的配置文件,包括主配置文件(/etc/named.conf?)、正向域的区文件、反向域的区文件、高速缓存初始化文件(/var/named/named.ca)和回送文件(/var/named/named.local)

Ⅱ.辅助DNS服务器

? ? ? ?辅助DNS服务器(Slave或Secondary?)用于分担主DNS服务器的查询负载。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。这种转移称为“区文件转移”。在辅助DNS服务器中有一个所有域信息的完整复制,?可以有权威地回客对该过中查询请求。配置辅助DNS服务器不需要生成本地区文件,因为可以从主服务器下载该区文件,所以只需配置主配置文件、高速缓存文件和回送文件就可以了。

Ⅲ.转发DNS服务器

? ? ? ? 转发DNS服务器(?Forwarder?Name?Server?)可以向其他DNS转发解析请求。在DNS服务器收到客户端的解析请求后,它首先会尝试从其本地数据库中查找;若未能找到,则需要向其他指定的DNS服务器转发解析请求;其他DNS服务器完成解析后会返回解析结果,转发DNS服务器将该解析结果缓存在自己的DNS缓存中,并向客户端返回解析结果。在缓存期内,如果客户端请求解析相同的名称,则转发DNS服务器会立即回应客户端;否则,将会再次发生转发解析的过程。

? ? ? ?目前网络中所有的DNS服务器均被配置为转发DNS服务器,向指定的其他DNS服务器或根域服务器转发自已无法完成的解析请求。

Ⅳ.唯高速缓存DNS服务器

? ? ? ?供本地网络上的客户机用来进行域名转换。它通过查询其他DNS服务器并将获得的信息存放在它的高速缓存中,为客户机查询信息提供服务。唯高速缓存DNS服务器(?Caching-nonly DNS?server)不是权威性的服务器,因为它提供的所有信息都是间接信息。

3.掌握DNS查询模式

Ⅰ.递归查询

? ? ?在收到DNS工作站的查询请求后,DNS服务器在自己的缓存或区域数据库中查找。如果DNS服务器本地没有存储查询的DNS信息,那么,该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

Ⅱ.转寄查询(又称迭代查询)

? ? ? ?在收到DNS工作站的查询请求后,如果在DNS服务器中没有查到所需数据,该DNS服务器便会告诉DNS工作站另外-台DNS服务器的IP地址,然后,再由DNS工作站自行向此DNS服务器查询,以此类推,直到查到所需数据为止。如果到最后一台DNS服务器都没有查到所需数据,则通知DNS工作站查询失败。

? ? ? ?“转寄”?的意思就是,若在某地查不到,该地就会告诉你其他地方的地址,让你转到其他地方去查。?一般在DNS服务器之间的查询请求便属于转寄查询(?DNS服务器也可以充当DNS工作站的角色)。

4.掌握域名解析过程

Ⅰ.DNS域名解析的工作原理

如图:

?假设客户机使用电信ADSL(Asymmetric Digital SubscriberLine,非对称数字用户线路)接入Internet,电信为其分配的DNS服务地址为210.111.110.10,域名解析如下:

1.客户端向本地DNS服务器210.111.110.10直接查询www.163.com的域名

2.本地DNS无法解析此域名,它先向根域服务器发出请求,查询.com的DNS地址

3.根域DNS管理.com,.net,.org等顶级域名的地址解析,他收到请求后,把解析结果返回给本地DNS。

4.本地DNS服务器210.111.110.10得到查询结果后,接着向管理.com的域的DNS服务器发出进一步的查询请求,要求得到163.com的DNS地址

5..com域把解析结果返回给本地DNS服务器210.111.110.10

6.本地DNS服务器210.111.110.10得到查询结果后,接着向管理163.com域的DNS服务器发出查询具体主机IP地址的请求(WWW),要求得到满足要求的主机IP地址。

7.163.com把解析结果返回给了本地DNS服务器210.111.110.10

8.本地DNS服务器得到了最终的查询结果,他把这个结果返回给客户端,从而使客户端能够和远程主机通信。

Ⅱ.正向解析和反向解析

正向解析:正向解析是指域名到IP地址的解析过程

反向解析:反向解析是从IP地址到域名的解析过程。反向解析的作用:服务器的身份验证

二.安装DNS服务(IP地址192.168.10.1)

? ? ? ?在linux下架设DNS服务器通常使用BIND(Berkeley Internet Name Domain)程序来实现,守护进程是named

1 .安装BIND软件包(实现DNS服务器的开放源码软件)

[root@localhost ~]# rpm -qa | grep bind

[root@localhost ~]# yum -y install bind bind-chroot

[root@localhost ~]# rpm -qa | grep bind

?2.DNS服务的启动,停止和重启,加入开机自启动


[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl enable named

?三.掌握BIND配置文件

1.认识全局配置文件

[root@localhost ~]# cat? /etc/named.conf\

options {
?? ?listen-on port 53 { 127.0.0.1; };? ? ? //指定BIND侦听的DNS查询请求的本机IP地址及端口
?? ?listen-on-v6 port 53 { ::1; };? ? ? ? ? ? ?//限于IPv6
?? ?directory ?? ?"/var/named";? ? ? ? ? ? ? //指定区域配置文件所在的路径
?? ?dump-file ?? ?"/var/named/data/cache_dump.db";
?? ?statistics-file "/var/named/data/named_stats.txt";
?? ?memstatistics-file "/var/named/data/named_mem_stats.txt";
?? ?secroots-file?? ?"/var/named/data/named.secroots";
?? ?recursing-file?? ?"/var/named/data/named.recursing";
?? ?allow-query ? ? { localhost; };? ? ? ? ? ? //指定接收DNS查询请求的客户端


?? ?recursion yes;

?? ?dnssec-enable yes;
?? ?dnssec-validation yes;? ? ? ? ? ? ? ? ? //改为no可以忽略SElinux影响

?? ?managed-keys-directory "/var/named/dynamic";

?? ?pid-file "/run/named/named.pid";
?? ?session-keyfile "/run/named/session.key";

? ?
?? ?include "/etc/crypto-policies/back-ends/bind.config";
};

//以下用于指定BIND服务的日志参数

logging {
? ? ? ? channel default_debug {
? ? ? ? ? ? ? ? file "data/named.run";
? ? ? ? ? ? ? ? severity dynamic;
? ? ? ? };
};

zone "." IN {? ? ? ? ? ? ? ? ? ? ? ? //用于指定根服务器的配置信息,一般不能改动

? ? type hint;
?? ?file "named.ca";
};

include "/etc/named.rfc1912.zones";? ? ? ?//指定主配置文件按,一定要根据实际修改
include "/etc/named.root.key";
?

  • directory:用于指定named守护进程的工作目录,各区域正反向搜索解析文件和DNS根服务器地址列表文件(named.ca)应放在该配置项指定的目录中。
  • allow-query{}:与allow-query{localhost;}功能相同。另外,还可以使用地址匹配符来表达允许的主机。例如,any可匹配所有的IP地址,none不匹配任何的IP地址,localhost匹配本地主机使用的所有IP地址,localnets匹配本地主机相连的网络中所有主机。例如:仅允许127.0.0.1和192.168.1.0/24网段的主机查询该DNS服务器,则命令为:allow-query {127.0.0.1;192.168.1.0/24};
  • listen-on:设置named守护进程监听的IP地址和监听端口。若未指定,默认监听DNS服务器所有的IP地址的53号端口。若要设置DNS服务器监听192.168.1.2这个IP地址,端口使用标准的5353端口,则配置命令:listen-on port 5353 {192.168.1.2};
  • forwarders{}:用于定义DNS转发器。在设置了转发器后,所有非本域的和在缓存中无法找到的域名查询,可由指定的DNS转发器来完成解析工作并做缓存。foward用于指定转发方式,仅在forwarders转发器列表不为空时有效,其用法为“foward first?l only;”。forward?first为默认方式,DNS服务器会将用户的域名查询请求先转发给forwarders设置的转发器,由转发器来完成域名的解析工作,若指定的转发器无法完成解析或无响应,则再由DNS服务器自身来完成域名的解析。若设置为“forward only;”则DNS服务器仅将用户的域名查询请求转发给转发器,若指定的转发器无法完成域名解析或无响应,DNS服务器自身也不会试着对其进行域名解析。例如,某地区的DNS服务器为61.128.192.68和61.128.128.68,若要将其设置? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? options{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? forwarders {61.128.192.68;61.128.129.68;};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? forward first;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??}

2.认识主配置文件

[root@localhost ~]# cat /etc/named.rfc1912.zones?

zone "localhost.localdomain" IN {
?? ?type master;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //主要区域
?? ?file "named.localhost";? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//指定正向查询区域配置文件
?? ?allow-update { none; };
};

......../省略/

zone "1.0.0.127.in-addr.arpa" IN {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //反向解析区域
?? ?type master;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//指定反向解析区域配置文件
?? ?file "named.loopback";
?? ?allow-update { none; };
};

1.Zone区域声明

(1)主域名服务器的正向解析区域声明为(样本文件为named.localhost)

zone "区域名称" IN {
?? ?type master;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//主要区域
?? ?file "实现正向解析的区域文件名";? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//指定正向查询区域配置文件
?? ?allow-update { none; };
};

(2)从域名服务器的正向解析区域声明格式为

zone "区域名称" IN {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //反向解析区域
?? ?type slave;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//指定反向解析区域配置文件
? ? file "实现正向解析的区域文件名";?

? ? ?masters {主域名服务器的IP地址;}
? ??
};

?2.跟区域文件/var/named/named.ca

? ? ? ?包含了Internet的定义域名服务器的名字和资质。利用该文件可以让DNS服务器找到根DNS服务器,并初始化DNS的缓冲区。当DNS服务器街道客户端主机的查询请求时,如果在Cache中找不到相应的数据,就会通过跟服务器进行逐级查询

? ?

3.缓存DNS服务器的配置

缓存域名服务器配置很简单,不需要区域文件,只需要配置好/etc/named.conf就可以了。一般电信的DNS都是缓存域名服务器。重要的是配置好以下两项内容。

(1):用“forward only”命令指明这个服务器是缓存域名服务器

(2):用"forwarders {转发dns请求到哪个服务器IP;};"的命令格式设置转发dns请求到哪个服务器

四.配置主DNS服务器实例

1.案例环境及需求

某校园网要架设一台DNS服务器负责long.com域的域名解析工作。DNS服务器的FQDN为dns.long.com,IP地址为192.168.10.1.要求为以下域名实现正反域名解析服务。

dns.long.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 192.168.10.1

mail.long.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?192.168.10.2

slave.long.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?192.168.10.3

www.long.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 192.168.10.4

ftp.long.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 192.168.10.5

另外为www.long.com设置别名为web.long.com

2.配置过程

配置过程包括全局配置文件,主配置文件和正反区域解析文件的配置

Ⅰ.配置全局配置文件/etc/named.conf文件

第一步:把options选项中的侦听IP(127.0.0.1)改为any

第二步:把dnssec-vaildation yes 改为 no

第三步:把允许网段allow-query 后面的localhost改为any。

Ⅱ.配置主配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones

添加以下内容:

zone "long.com" IN{
type master;
file "long.com.zone";
allow-update { none; };
}
zone "10.168.192.in-addr.arpa" IN{
type=master;
file "192.168.10.zone";
allow-update { none; };
}

Ⅲ.修改bind的区域配置文件

①创建long.com.zone正向区域文件

正向区域文件位于/var/named目录下,为编辑方便可先将样本文件named.localhost复制到long.com.zone,再对long.com.zone编辑修改

?②创建192.168.10.zone反向区域文件

反向区域文件位于/var/named目录下,为编辑方便可先将样本文件named.loopback复制到192.168.10.zone,再对192.168.10.zone编辑修改

?Ⅳ.设置防火墙放行,设置主配置文件和区域文件的属组为named

?Ⅴ.重启DNS服务,并加入开机自启

五.配置DNS客户端

DNS客户端的配置非常简单,假设本地首选DNS服务器的IP地址为192.168.10.1,备用DNS的服务器IP地址为192.168.10.2,则DNS客户端设置如下。

1.配置Windows客户端

打开"Internet协议(TCP/IP)"属性对话框,输入以下DNS服务器的IP地址即可

?2.配置Linux客户端(ip地址192.168.10.2)

在linux系统中修改/etc/resolv.conf文件来设置DNS客户端

六.使用工具测试DNS

BIND软件包提供了三个DNS测试工具,nslookup,dig和host。?

1.nslookup命令<前提是客户端与服务端通信畅通>

?2.dig命令

?3.host命令

?//正向查询主机IP地址

[root@localhost~]#host www.long.com

//反向查询IP地址对应的域名

[root@localhost~]#host 192.168.10.3

//查询不同类型的资源记录配置,-t参数后可以为SOA,MX,CNAME,A,PTR等

[root@localhost~]#host -t NS long.com

//列出整个long.com域的信息

[root@localhost~]#host -l long.com

//列出与指定主机资源记录相关的详细信息

[root@localhost~]#host -a web.long.com

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 21:02:27  更:2022-02-22 21:02:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:01:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码