DNS服务 实验
DNS:Domain Name Service/System,域名系统,是实现域名和IP地址相互映射的一个分布式数据库,linux上的DNS服务是基于一种软件BIND实现的。BIND: Berkeley Internet Name Domain。
那什么是域名呢?举个例子,先问个问题:www.baidu.com是不是域名?可能有人会说这个是域名,其实这是错误的,这个是主机名,否则你怎么访问到它呢。baidu.com才是域名,com也是域名,因为其下面包含有baidu这个域。www.baidu.com是主机名,也叫FQDN,FQDN:Full Qualified Domain Name,完全限定域名(可翻译成其他名字)
那DNS是用来做什么的呢?DNS,即名称解析,简单来说就是名称转换,即Name Resolving,其背后有查询过程,既然是查询,肯定需要依赖某些数据库来实现。那既然是名称解析,主要实现什么解析呢?其实现的是从FQDN <--> IP,这是一种双向转换,或者说双向解析,从FQDN可实现到IP的解析,同样,从IP也可以实现到FQDN的解析。但这种双向转换是通过不同的机制实现的。
(以上转自https://www.cnblogs.com/Simon-xm/p/4485016.html)
DNS域名解析服务器,承担域名到IP地址解析或者IP地址到域名的解析工作。DNS协议运行在UDP协议之上,使用53端口号。
配置主dns:
首先安装bind包:1.查找bind:-find name bind* 2.从查找内容中找到rpm结尾的含有bing版本号的包复制 3.安装bind:rpm -ivh "/media/CentOS_6.8_Final/Packages/bind-9.47.rcl.el6.x86_64.rpm
****遇到问题:安装bind包时候显示 error:Failed dependencies ****
经查询为依赖关系,解决方法,可以强制安装,只要加上一个--force (强制) 和--nodeps(不查找依赖关系)就可以了;
原语句变为
如图bind包就装好了。
接下来启动DNS的服务:service named start 或 systemctl start named (我是CentOS 6 ,好像不支持systemctl命令)
进入vi编辑器:vi /etc/named.conf
找到主配置文件
以及
修改监听为 监听所有主机:
找到被监听的区域:(黑色光标处)
接下来添加要解析的区域,即amy.com
(这里打错了一堆,type master 后面要加;,fil 应该是file,include前面那个大括号后面也要加;)
中间部分即为添加字段,在/var/named/目录下取名文件为amy.zone,之后保存并退出(:wq)
输出/var/named目录:
(cd 查找)
会发现没有amy.zone的文件。接下来添加文件,即将上面的named.empty拷贝为amy.zone:
(cp -a 拷贝所有 -a为列出文件的所有信息)
接下来用 ll 命令查看目录( ll 命令是 ls -l 的简写,-l 为列出文件的详细信息,如图可看到具体的权限和属组) :
接下来编辑amy.zone :
改为:
(倒数第二行068写错了应该是168,最后一行202写错了应该是200)
按esc回到命令模式后:wq保存退出
接下来重启named:service named restart(前面有几个输错了,根据提示改一下就好了。)
(下面的为课程截图)
之后查看DNS域名解析服务器的地址:ifconfig
到第三行的NS地址是
按照课程要求把服务器改为192.168.0.1,之后重新配置网络:
将IPV4的地址改为192.168.0.1,服务器也改成192.168.0.1
以上都调好之后重启网络服务:service network restart,重启好后再次查看ifconfig
接下来域名解析测试,使用nslookup命令:
之后也可以开启客户端计算机开始测试,注意设置ip地址保证网络相同,在命令窗口进行验证,同样输入nslookup即可。