linux搭建dns服务器(linux搭建dns详细步骤)

zzxiexin 5 0

课程目标

看到最后,你将学会:如何在Centos7 上搭建DNS服务器

不要忘了给我们转发+关注呦!

每天前10名关注的,还可私信回复:书籍,入群领取100本计算机与网络安全书籍哦!

实验说明

可能有些同学在测试能否访问外网时会选择ping一下www.baidu.com这一域名,那么本章将详细介绍如何在centos7虚拟机上配置域名解析服务器(dns)

文章最后会对出现过的一些代码做简要说明。

实验环境

准备一台centos7虚拟机,网络适配器选择nat模式,完成本地软件仓库的配置,以及安装好补全增强型工具以及vim文本编辑器。

虚拟机ip地址:192.168.159.131

物理机ip地址:192.168.159.1

(实验根据你的nat实际分配地址而定)

进行实验

因为是要将虚拟机配置为dns服务器,所以虚拟机和物理机的dns地址都要填虚拟机的ip地址

先将虚拟机的ip地址进行手动修改。

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.159.131/24 ipv4.dns 192.168.159.131 connection.autoconnect yes

nmcli connection up ens33

(不要想着直接复制粘贴,要手动输入加深映像,且要勤按tab键有奇效)

再将物理机上对应nat的网卡中的dns地址设为虚拟机ip地址

安装dns服务器所需的依赖包

如果安装时有如下报错

只需要将光盘文件重新挂载一遍即可

再次安装一遍就可以正常安装了

进行配置文件编辑

vim /etc/named.conf

一打开就是如下界面映入眼帘,让很多小白同学顿时摸不着头脑,但是不用担心只需要进行两处修改即可,其他都是些说明文件或是注释文件罢了我们不需要理会。

按a键或是i键进入编辑模式,至于二者有何不同之处,大家自己探索

修改为如下图一样即可

注意:如果有出现编辑过程中失误想要撤回的情况,则在视图模式下按u键即可(类似于windows中的ctrl+z)

最后按esc键退出编辑模式,再按”:x”加回车键保存编辑并退出(如果是“:q”则是不保存并退出)

第二处配置文件编辑

vim /etc/named.rfc1912.zones

出现如下界面

使用“Shift+G”组合键 将光标移动到末行

再使用“5+k”组合键 将光标向上移动五行

光标会到达如下位置

使用“5+yy”组合键 复制五行

复制后会有所提示

再次移动到末行,使用p键粘贴

再再次移动到末行,再使用p键粘贴

Ok,此时你的配置文件当中会多出这样一些内容

复制的两次内容,将分别作为dns正向和反向解析的编写

修改为如下图所示

“skills.com” 域名名称(可自定)

“a” 后续正向解析配置文件名称(如果是小白新手建议跟着我的来)

“159.168.192“ip地址网段反写(根据实际情况而定)

“b“后续反向解析配置文件名称(如果是小白新手建议跟着我的来)

退出编辑模式,保存并退出。

修改正、反向解析配置文件

进入/var/named/文件夹中

使用ls命令列出所有文件

其中named.localhost是为正向解析文件,named.loopback为反向解析文件

复制named.localhost文件,并将复制出来的文件名改为a

cp -p named.localhost a

复制named.loopback文件,并将复制出来的文件改为b

cp -p named.loopback b

再次使用ls命令列出所有文件

可以看到已经已经多出了名为a和b的两个文件

首先修改正向解析文件a

修改为

“dd”组合键 删除当前行

保存并退出

再修改反向解析文件

修改为

保存并退出

其中的dns.skills.com是我给定虚拟机的域名,可以根据自己的想法定义即可,但是skills.com是对应/etc/named.rfc1912.zones文件中的skills.com

到此,所有的配置文件已经全部修改完毕。

重启dns服务并设为开机自动启动,解决防火墙问题,并验证。

一条代码即可解决

systemctl --now enable named

出现如下图提示信息即可,如果有error报错,一定是上面的某一配置文件配置过程中出错,请自行排错

到这里我们虚拟机ping dns.skills.com域名已经能够通信了

注意:在linux上的icmp通信是需要手动ctrl+c终止的,不会像windows中发送四个数据包就会自动终止。

但是此时我们的物理机ping dns.skills.com会返回ipv6的数据包

这就涉及到centos上的firewall(防火墙)规则了

两种解决方法

方式一,直接关闭防火墙服务

输入以下代码

systemctl stop firewalld.service

再在物理机上ping dns.skills.com

因为是在学习中,所以直接关闭防火墙也就没什么问题,但是还是不建议这样做。

方式二,防火墙上放行dns服务

先开启已经关闭的防火墙服务

输入以下代码放行dns服务

firewall-cmd –permanent –add-service=dns

再重新加载一遍防火墙规则

firewall-cmd --reload

再再在物理机上ping dns.skills.com

到此,一个简单的dns服务器就已经搭建起来了。

代码梳理

cp -p [原文件] [新文件]中“-p”参数意为连同文件属性一起复制

可将systemctl --now enable [服务名称]拆分为两行代码

systemctl enable [服务名称] 将服务设为开机自动启动

systemctl restart [服务名称] 重新启动服务

systemctl stop [服务名称] 关闭服务

有关firewall内容将会在后续学习中重点讲解

标签: #linux搭建dns服务器

  • 评论列表

留言评论

 
QQ在线咨询
售前咨询电话
173-175-32776
技术支持电话
173-175-32776
嘿,欢迎咨询