Kali与编程:小白黑客如何在Centos7 上搭建dns服务器(下节更精彩)
(6.10)Centos7 上搭建dns服务器
1.实验说明:可能有些同学在测试能否访问外网时会选择ping一下www.baidu.com这一域名,那么本章将详细介绍如何在centos7虚拟机上配置域名解析服务器(dns)
文章最后会对出现过的一些代码做简要说明。
2.实验环境:准备一台centos7虚拟机,网络适配器选择nat模式,完成本地软件仓库的配置,以及安装好补全增强型工具以及vim文本编辑器。
虚拟机ip地址:192.168.159.131
物理机ip地址:192.168.159.1
(实验根据你的nat实际分配地址而定)
3.进行实验
因为是要将虚拟机配置为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服务器所需的依赖包
如果安装时有如下报错
只需要将光盘文件重新挂载一遍即可
再次安装一遍就可以正常安装了
4.进行配置文件编辑
vim /etc/named.conf
一打开就是如下界面映入眼帘,让很多小白同学顿时摸不着头脑,但是不用担心只需要进行两处修改即可,其他都是些说明文件或是注释文件罢了我们不需要理会。
按a键或是i键进入编辑模式,至于二者有何不同之处,大家自己探索
修改为如下图一样即可
注意:如果有出现编辑过程中失误想要撤回的情况,则在视图模式下按u键即可(类似于windows中的ctrl+z)
最后按esc键退出编辑模式,再按”:x”加回车键保存编辑并退出(如果是“:q”则是不保存并退出)
5.第二处配置文件编辑
vim /etc/named.rfc1912.zones
出现如下界面
使用“Shift+G”组合键 将光标移动到末行
再使用“5+k”组合键 将光标向上移动五行
光标会到达如下位置
使用“5+yy”组合键 复制五行
复制后会有所提示
再次移动到末行,使用p键粘贴
再再次移动到末行,再使用p键粘贴
Ok,此时你的配置文件当中会多出这样一些内容
复制的两次内容,将分别作为dns正向和反向解析的编写
修改为如下图所示
“skills.com” 域名名称(可自定)
“a” 后续正向解析配置文件名称(如果是小白新手建议跟着我的来)
“159.168.192“ip地址网段反写(根据实际情况而定)
“b“后续反向解析配置文件名称(如果是小白新手建议跟着我的来)
退出编辑模式,保存并退出。
6.修改正、反向解析配置文件
进入/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
到此,所有的配置文件已经全部修改完毕。
7.重启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服务器就已经搭建起来了。
8.代码梳理
cp -p [原文件] [新文件]中“-p”参数意为连同文件属性一起复制
可将systemctl --now enable [服务名称]拆分为两行代码
systemctl enable [服务名称] 将服务设为开机自动启动
systemctl restart [服务名称] 重新启动服务
systemctl stop [服务名称] 关闭服务
有关firewall内容将会在后续学习中重点讲解