Centos7下的DNS服务器部署(每一步图文结合超详细,适用于初学者)

avatar
作者
筋斗云
阅读量:1

Centos7下的DNS服务器部署

引言

关于DNS服务,网上都有很多很详细很专业的讲解,但是对于大部分初学者可能看的比较懵懂,用白话来说就是起初人们因为对大量用于访问服务器的IP地址难以记住,所以就逐渐出现了域名的形式(诸如:www.baidu.com 之类的),但是计算机本身只能识别出像192.168.10.112之类的IP地址,无法识别域名,所以就有了DNS服务的诞生。

DNS(Domain Name System,即域名系统)实质上是一个分布式的数据库,其中存储了大量的域名和IP地址之间的映射关系,因此它的主要功能就是做域名解析,通过解析域名来获取对应的IP地址。 提供域名解析功能的主机被称为域名服务器,即DNS服务器。

在域名服务器中,一个域名只能对应一个IP地址,但一个IP地址可以对应多个域名,也可以没有相应域名。

部署步骤

实验环境

DNS服务端:

内存2G

硬盘80G

网络模式:NAT

IP:192.168.180.132

DNS客户端:

内存2G

硬盘40G

网络模式:NAT

IP:192.168.180.135

禁用防火墙和关闭selinux(两台虚拟机都要操作)

systemctl disable firewalld

systemctl stop firewalld

setenforce 0 (临时关闭,系统重启后还是会自动开启)

永久关闭

vi /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled 然后保存并退出

正向解析

安装DNS(DNS服务端,客户端都要操作)

安装bind和bind-utils,通常用bind软件包来部署DNS服务器

yum install -y bind bind-utils

image-20230309163054151

修改配置文件信息

1 . 修改 /etc/named.conf 文件的信息

vi /etc/named.conf

image-20230309165907816

将 listen-on port 53 { 127.0.0.1; }; 改成 listen-on port 53 { any; };

将allow-query { localhost; }; 改成 allow-query { any; };

然后保存并退出

image-20230309170141908

  1. 修改 /etc/named.rfc1912.zones 文件

​ vi /etc/named.rfc1912.zones

​ 添加如下信息:

zone “kaisa.com” IN {

​ type master;

​ file “kaisa.com.zone”;

};

image-20230309170901391

注意 这里面添加的 “kaisa.com” 是我自己定义的,以及下面的 file 后面的"kaisa.com.zone" 也要记住这个文件名,后面要新建一个以此命名的文件

3.进入 /var/named 目录,新建一个 kaisa.com.zone 文件 (即上述文件中添加的配置信息中的file 参数) ,因为此目录下的named.localhost 文件格式与我所需要的格式一致,所以为了方便,直接通过cp命令复制重命名即可

cd /var/named

cp -p named.localhost kaisa.com.zone

vi kaisa.com.zone

image-20230309171522710

修改如下图:

image-20230309172027410

修改后保存并退出

其中 :

serial 表示更新序号,范围为0-10;

refresh表示刷新时间,重新下载地址数据的间隔

retry表示重试延时,下载失败后的重试间隔

expire表示失效时间,超过该时间仍无法下载则放弃下载

minimum表示无效解析记录的生存周期

编辑网卡配置信息

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

将 BOOTPROTO="dhcp"改为 “static”,并添加IP、网关、子网掩码、DNS的信息

image-20230309172608057

由于本机是做DNS的服务器端,所以DNS填本机的IP地址

5.重启网络服务和named服务

systemctl restart network

systemctl restart named

若没报错,则上述步骤配置成功

6.在客户端测试

修改客户端的网卡配置信息

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

image-20230309173209642

这里的DNS1改为我们搭建的DNS服务器端的IP地址

重启网络

systemctl restart network

测试

image-20230309173405346

此时可以看到已成功解析出域名!

反向解析

大致步骤和上述一样,只需要修改两个配置文件的信息即可

vi /etc/named.rfc1912.zones

添加如下信息:

zone “180.168.192.in-addr.arpa” IN {

​ type master;

​ file “hzl.com.zone”;

};

image-20230309174248249

同样,180.168.192是我本机的网段,hzl.com.zone 是我自定义的,也要记住,之后创建一个同样的文件时会用此命名

cd /var/named

cp -p kaisa.com.zone hzl.com.zone

vi hzl.com.zone

image-20230309174850776

注意:com后面还有一个.

重启named服务

systemctl restart named

测试

image-20230309175305830

image-20230309175326370

可以看到此时无论是服务端还是客户端都可以通过IP地址来逆向解析出域名

总结

  1. 不论在部署什么开始之前都要先习惯养成考虑是否要先关闭防火墙,selinux这些会影响后续步骤的操作

  2. 在配置文件信息的时候一定要做到仔细,不能有任何失误,包括大小写,标点符号等,一个错误会导致后续的一些服务起不来,然后再排错也会很麻烦,配置文件的准确性是部署任何项目的关键

  3. 在配置完一些关于服务进程的文件之后,要习惯重启服务才能使其生效,如本次的网络配置,和named服务

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!