Linux CentOS7 配置与管理DNS服务器

您所在的位置:网站首页 Linux命令设置dns Linux CentOS7 配置与管理DNS服务器

Linux CentOS7 配置与管理DNS服务器

2024-04-26 04:16| 来源: 网络整理| 查看: 265

DNS服务相关知识 DNS服务概述

  DNS是一个分布式名称管理与映射系统,它的主要工作就是IP地址与域名之间的相互翻译及其对域名地址映射数据库的管理。DNS采用树状结构对域名进行管理。域名的形成往往如下所示:

     www.baidu.com   其中,“com”称为顶级域名,“baidu”称为二级域名,“www”称为三级域名。每级之间可以用符号“.”相隔。从中可以看出域名采用逆序,即越靠后,域名等级越高,越靠前,域名等级越低。 DNS服务器分类

DNS服务器主要分成一下几类: 1、主DNS服务器   主DNS服务器为其所负责的区域提供DNS服务。 2、辅助DNS服务器   辅助DNS服务器分担主DNS服务器查询工作。 3、高速缓存DNS服务器   这种高速缓存DNS服务器使用缓存的DNS信息进行域名转换,因而速度比较快。   辅助DNS服务器和高速缓存DNS服务器可以在一定程度上减轻主DNS服务器的负荷,并且在主DNS服务器出现故障时,可以接替主服务器的工作。

DNS查询模式与域名解析

  DNS查询模式主要分成递归查询和迭代查询两种。 1、递归查询   当DNS客户机向服务器发出DNS解析请求时,假设该DNS服务器在缓存或者区域数据库文件中无法解析该请求,那么如果由它向另一个DNS服务器发送该请求,则这种插叙模式被称为递归查询。 2、迭代查询   当DNS客户机向服务器发出DNS解析请求时,假设该DNS服务器在缓存或者区域数据库文件中无法解析该请求,那么如果由客户机向另一个DNS服务器发送该请求,则这种查询模式被称为迭代查询。   两种查询模式的区别主要在于当前DNS服务器无法解析域名时,又睡向另一台服务器发起新的解析请求。如果由当前服务器向另一台服务器发起新的解析请求,那么该查询请求称为递归查询。反之,如果由客户机向领一台服务器发起新的请求,则称为迭代查询。   另外,域名解析过程又分为正向解析过程和反向解析过程。正向解析过程指的是由域名向IP地址的解析过程。反向解析过程指的是由IP地址向域名解析的过程

资源记录

  在DNS服务器的域名数据库文件中包含着许多的DNS域资源信息的记录被称为资源记录。资源记录主要包含以下几种类型: 1、SOA资源记录   SOA(Start of AUthority,起始授权)资源记录用于定义整个区域的全局设置,一个区域文件只允许存在一个SOA记录。 2、NS资源记录   NS(Name Server,名称服务器)资源记录用来指定某一个区域的权威DNS服务器,每个区域至少有一个NS记录。 3、A资源记录   A(Address,地址)资源记录用于FQDN(Fully Qualified Domain Name,全称域名)映射为IP地址。 4、PIR资源记录   PTR(Pointer,指针)资源记录用于将IP地址映射为FQDN。 5、CNAME资源记录   CNAME(Canonical Name,别名)资源记录用于为FQDN起别名。 6、MX资源记录   MX(Mail Exchange,邮件交换)资源记录用于为邮件服务器提供DNS解析。

hosts文件

  当没有DNS服务器时,hosts文件可以用来处理当前主机的域名解析请求。hosts文件由一系列的域名-IP地址对组成。将常用的域名-IP地址对加入hosts 文件可以加快域名解析的速度。linux系统中,hosts文件位于/etc/ 目录下 ;windows系统中,hosts文件位于 C:\Windows\system32/drivers\etc 目录下。

实验环境:

物理机操作系统:windows 10 VMware版本:VMware Workstation16 镜像版本:CentOS-7-x86_64-DVD-1611

实验目的:

1、了解DNS服务相关知识 2、掌握DNS服务的安装 3、掌握DNS服务的配置 4、了解DNS服务常见故障排除方法

实验基本配置命令: 启动、停止、重启及自启DNS服务 1、查询DNS服务状态

 查询DNS服务状态,可以使用以下命令:

[root@Dai ~]# systemctl status named 上述命令有两种执行结果,分别表示DNS服务是启动还是停止状态

Active: inactive (dead)      //未运行

● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled) Active: inactive (dead) #未运行

Active: active (running)     //运行中

● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled) Active: active (running) since 二 2021-05-11 07:25:10 CST; 5s ago #运行中 2、启动DNS服务

 安装完毕后,可以通过以下命令启动DNS服务:

[root@Dai ~]# systemctl start named //启动named守护服务 3、停止DNS服务

 启动后,可以通过以下命令停止DNS服务:

[root@Dai ~]# systemctl stop named //停止named守护进程 4、重启DNS服务

 如果需要重启DNS服务,可以使用如下命令:

[root@Dai ~]# systemctl restart named //重启named守护进程 5、重新加载DNS服务配置

 如果需要重新加载DNS服务配置,可以使用如下命令:

[root@Dai ~]# systemctl reload named 6、查询DNS版本

 如果要查询DHCP是否安装,那么可以用如下命令:

[root@localhost~]#rpm -qa|grep bind  rpm 软件包的管理工具  -q 查看   -qa查看所有  |查看类似结果  grep :正则表达式匹配 [root@Dai ~]# rpm -qa|grep bind bind-license-9.11.4-26.P2.el7_9.5.noarch rpcbind-0.2.0-38.el7.x86_64 bind-libs-9.11.4-26.P2.el7_9.5.x86_64 bind-utils-9.11.4-26.P2.el7_9.5.x86_64 keybinder3-0.3.0-1.el7.x86_64 bind-9.11.4-26.P2.el7_9.5.x86_64 bind-export-libs-9.11.4-26.P2.el7_9.5.x86_64 bind-libs-lite-9.11.4-26.P2.el7_9.5.x86_64 0x00:实验开始 拍摄快照

开始之前建议拍摄快照,这样即使虚拟机被玩坏了或者出现无法逆转的操作,可以还原到原始状态。

1、虚拟机→快照→拍摄快照2、管理快照 "CTRL+M"3、点击“拍摄快照"后,建议不要做任何操作,等待虚拟机左下角 “正在保存”完成后,即可

在这里插入图片描述 在这里插入图片描述

0x01 CentOS7 连接网络

1、先通过虚拟机的NAT模式或者桥接模式 ,连接网络安装DHCP服务

虚拟机→设置→网络适配器→NAT模式

在这里插入图片描述

2、正常来说现在应该可以ping通 外网了。

在这里插入图片描述 3、当然,也有很多不正常的情况,出现ping不同的情况。这个时候还原 “虚拟网络编辑器”,也许就O了。

编辑→设置→虚拟网络编辑器→还原默认设置注:目前了解到windows 10,进入“虚拟网络编辑器”后,需要点击右下角“更改设置”,才能修改网络配置

在这里插入图片描述

0x02 安装DNS服务 1、yum方法

使用yum安装DNS服务可以使用命令:

[root@locahost~]#yum install bind -y //安装DHCP服务

如果成功安装,会有如下提示:

已安装: bind.x86_64 32:9.11.4-26.P2.el7_9.5 完毕! 2、图形化方法 1、应用程序→ 系统工具→软件 2、在搜索框中 搜索“bind” 3、勾选“The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server”→应用更改

在这里插入图片描述

0x03 搭建DNS服务器 案例描述

  授权DNS服务器管理JQE.com区域,并把该区域的文件命名为JQE.com.zone。DNS服务器是192.168.3.5,Mail服务器是 192.168.3.6,www 服务器是 192.168.3.7.

本例需要2台CentOS7 虚拟机,一台作为服务器,一台作为客户机

实训开始: 1、修改“虚拟网络编辑器中”

将Vmnet1 类型 修改为 自定义模式

编辑→虚拟网络编辑器→“VMnet2”→ □ 将主机虚拟适配器连接到此网络 □使用本地DHCP服务将IP地址分配给虚拟器→ 应用

如图所示: 在这里插入图片描述

2、修改网络连接

将 网络适配器 自定义 VMnet1

虚拟机→设置→网络适配器→自定义→Vmnet1→确定

在这里插入图片描述

3、配置DNS服务器网卡 地址(A) 地址:192.168.3.5 网络掩码:255.255.255.0 网关:192.168.3.5 DNS 服务器:192.168.3.5

在这里插入图片描述

4、修改DNS主配置文件,增加正向解析区域和反向解析区域 [root@Dai ~]# vim /etc/named.conf listen-on port 53 { any; };    //“127.0.0.1” 改成 “any” allow-query { any; };      //“localhost” 改为 “any” dnssec-enable no;       //“yes” 改为 “no” dnssec-validation no;    //“yes” 改为 “no” 尾部添加一下内容 zone "JQE.com" {   type master;   file "JQE.com.zone"; }; zone "3.168.192.in-addr.arpa" {   type master;   file "3.168.192.in-addr.arpa.zone"; }; 具体如下 options { listen-on port 53 { any; }; //“127.0.0.1” 改成 “any” listen-on-v6 port 53 { ::1; }; 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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; //“localhost” 改为 “any” recursion yes; dnssec-enable no; //“yes” 改为 “no” dnssec-validation no; //“yes” 改为 “no” bindkeys-file "/etc/named.root.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "JQE.com" { //增加正向解析区域“JQE.com” type master; //类型为 “master” file "JQE.com.zone"; //区域解析文件为 “/var/named/JQE.com.zone” }; zone "3.168.192.in-addr.arpa" { //增加反向解析区域 “3.168.192.in-addr.arpa” type master; //类型为“master” file "3.168.192.in-addr.arpa.zone"; //区域解析文件为 “/var/named/3.168.192.in-addr.arpa.zone” }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; 5、添加正向区域

复制样例文件 并修改 文件名为 “JQE.com.zone”

[root@Dai ~]# cp -p /var/named/named.loopback /var/named/JQE.com.zone

编写 文件

[root@Dai ~]# vim /var/named/JQE.com.zone

修改内容如下:

$TTL 1D @ IN SOA JQE.com.root.JQE.com ( 20210511 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.JQE.com. dns IN A 192.168.3.5 mail IN A 192.168.3.6 www IN A 192.168.3.7 @ IN MX 5 mail.JQE.com.

在这里插入图片描述

MX优先级数字越小,优先级越高。同一域名两个MX服务器,低优先级的作为高优先级的备份

6、添加反向区域

复制样例文件 并修改 文件名为 “JQE.com.zone”

[root@Dai ~]# cp -p /var/named/named.empty /var/named/3.168.192.in-addr.arpa.zone

编写 文件

[root@Dai ~]# vim /var/named/3.168.192.in-addr.arpa.zone 修改内容如下: $TTL 3H @ IN SOA 3.168.192.in-addr.arpa. root.JQE.com ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.JQE.com. @ IN MX 5 mail.JQE.com. 5 IN PTR dns.JQE.com. 6 IN PTR mail.JQE.com. 7 IN PTR www.JQE.com.

在这里插入图片描述

在区域文件中,@代表区域。因此,邮件地址root.JQE.com不能写成 [email protected]

7、修改相应文件所属组为 named [root@Dai ~]# chgrp named /etc/named.conf [root@Dai ~]# chgrp named /var/named/JQE.com.zone [root@Dai ~]# chgrp named /var/named/3.168.192.in-addr.arpa.zone

named 守护进程的默认属组是named,为了让进程能正常读取文件,因此需要修改文件的属组

8、开启DNS服务 [root@Dai ~]# systemctl start named 9、关闭防火墙 [root@Dai ~]# systemctl stop firewalld.service 检验配置结果:

步骤一:准备另一台 linux 虚拟机,将网络连接 修改为 “VMnet1” 在这里插入图片描述 步骤二:修改IP地址 ,一定要有 DNS服务器在同一个网段

在这里插入图片描述 步骤三:测试客户机是否与 DNS服务器 相通 在这里插入图片描述 步骤四:测试DNS服务器是否正常工作

nslookup 是一个程序的名字 是查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。

[dai@localhost ~]$ nslookup //域名查询 > server Default server: 192.168.3.5 Address: 192.168.3.5#53 > 192.168.3.5 Server: 192.168.3.5 Address: 192.168.3.5#53 5.3.168.192.in-addr.arpa name = dns.JQE.com. > mail.JQE.com Server: 192.168.3.5 Address: 192.168.3.5#53 Name: mail.JQE.com Address: 192.168.3.6

以上

由于博主目前还是大二学生,水平有限。文章中难免有疏漏或不当之处,敬请各位大神以及读者不吝赐教


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3