Centos DNS服务器搭建

前言:

Centos 搭建DNS服务学习记录

DNS的作用:
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP查找对应的主机域名

DNS的工作模式:
递归查询:客户端只发一次请求,要求对方给出最终结果
迭代查询:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表
在这里插入图片描述
服务名:named
端口号:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件位于:/var/named

配置文件
listen-on 监听的端口 ip地址
directory 数据文件存放的目录(解析文件)
dump-file 缓存备份的文件
allow-query 允许哪些客户端到主机上进行查询,可以设置any 对所有网段进行解析
(最重要的设置)

关闭防火墙、SELinux

之前由于做实验便是因为防火墙、SELinux没关,卡了很长时间,这次在做实验前先将其关掉

# 查看当前selinux的运行状态
getenforce

在这里插入图片描述
执行状态,那就先关掉,我这里直接永久给关掉,省的之后每次实验还得手动关

永久关闭SELinux
在这里插入图片描述
修改后重启一下即可

#重启命令
reboot

在这里插入图片描述
OK,这样就永久关掉了,如果不想永久关可以使用暂时命令
暂时关闭SELinux

setenforce 0

关闭防火墙

#关闭防火墙
systemctl stop firewalld 
#关闭开机启动
systemctl disable firewalld 
#查看防火墙状态
systemctl status firewalld
也可以
iptables -F

安装DNS服务

yum -y install bind

查询一下其他文件目录

rpm -ql bind 

在这里插入图片描述
安装成功,接下来修改其配置文件

编辑配置文件

主配置文件

在开始编辑之前,要先了解一下其中主配置文件中参数的作用

listen-on 设置named服务器监听端口及IP地址
directory 设置区域数据库文件的默认存放地址
dump-file 缓存备份的文件
allow-query 允许DNS查询客户端,可以设置any 对所有网段进行解析
vi /etc/named.conf

在这里插入图片描述
修改主配置文件只需要修改这个两个地方即可,一个添加成自己服务器的IP地址一个添加成any即可

检查一下看主配置文件是否有错,如果没有回显则说明正常

named-checkconf /etc/named.conf

在这里插入图片描述

区域配置文件

同样也要了解一下区域配置文件中的一些参数

#DNS正向解析
zone "localdomain" IN {   //定义正向DNS区域
type master;              //定义区域类型
file "localdomain.zone";  //设置对应的正向区域地址数据库文件
allow-update { none; };   //设置允许动态更新的客户端地址(none为禁止)
};
#DNS反向解析
zone "0.0.127.in-addr.arpa" IN {   //设置反向DNS区域
type master;
file "named.local";
allow-update { none; };
};

区域配置文件没有模板,所以在修改前先备份一下,以防万一改错了

[root@localhost etc]# cp named.rfc1912.zones named.rfc1912.zones.bak

在这里插入图片描述

vi /etc/named.rfc1912.zones

在这里插入图片描述
将配置文件中的注释删掉,留一个正向解析和反向解析就可以了
在这里插入图片描述

配置数据文件

数据文件位于/var/named,里面有正向解析和反向解析的模板文件

接下来用正向解析模板文件拷贝成lemon.zone文件,必须跟你的区域文件填写的名称保持一致,否则访问不了,除此之外,还要注意拷贝的时候要加上参数-p,否则拷贝出的lemon.zone文件的属组是root,其他人访问时会没有权限,所以这里用这样的命令:

cp -p named.localhost lemon.zone

在这里插入图片描述
打开该数据文件进行修改(正向解析)

$TTL 1D
@       IN SOA  lemon.com. rname.invalid. (#完全域名及管理员邮箱地址
                                        0       ; serial
                                        1D      ; refresh# 主从刷新时间
                                        1H      ; retry# 主从通讯失败后重试间隔
                                        1W      ; expire# 缓存过期时间
                                        3H )    ; minimum# 没有TTL定义时的最小生存周期
 
        NS      dns.lemon.com.//定义域名服务器,切记域名后面的“.”,表示这是一个FQDN
        MX  5   mail.lemon.com.
dns     A       192.168.186.129//主机记录
mail    A       192.168.186.130
www     A       192.168.186.131
ftp     CNAME   www
*       A       192.168.1.100

编辑好之后,检查一下看看是否报错

named-checkzone /var/named/lemon.zone /var/named/lemon.zone

在这里插入图片描述
出现OK即可,上面的只是提示名字问题,不影响后面的操作
接下来拷贝反向解析模板文件

[root@localhost named]# cp -p named.empty lemon.blog

编辑一下反向解析文件
在这里插入图片描述
检查一下
在这里插入图片描述
启动

systemctl start named.service
或
systemctl restart named

如果报错了,回去看看你在是不是这个地方没有加分号
在这里插入图片描述
一开始就是这一点坑了我

以下是我遇到的情况,能测试通的可以不参考这个:

注意最后要修改一下本机默认的DNS服务器

/etc/resolv.conf

更改成你当前主机设置的DNS服务器ip地址

客户端验证

先关下防火墙和SELinux

iptables -F
setenforce 0

配置网卡文件

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

添加上DNS服务器

注意添加的时候一定是DNS1,不要写成DNS
在这里插入图片描述
重启网卡

service network restart

进行测试

nslookup #安装 nslookup	yum -y install bind-utils

正向测试
在这里插入图片描述
解析成功

反向解析一下就行了,真的快自闭了,不过每次自闭前都弄好了,恶心!!!

参考博客

DNS递归查询与迭代查询

发布了71 篇原创文章 · 获赞 80 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43431158/article/details/104795632