前言
我们平时访问网页大多数情况下都是输入域名的,比如常用的百度、新浪等网站,能够如此方便记忆主要是因为DNS域名系统对这些网站的IP地址进行了解析,这样一来用户就可以通过自身熟悉的语言记住它们。
一、DNS域名系统
1.了解DNS
DNS域名系统(Domain Name system缩写DNS,DomainName被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 DNS的默认端口为53,分为TCP和UDP协议。
2.DNS的作用
1.TCP是用来做区域传送,多用于主从同步 在一个区中主DNs服务器从自己本机的数据文件中读取该区的DNs数据信息,而辅助Ds服务器则从区的主DNs服务器中读取该区的DNs数据信息
2.UDP是用来做DNS解析的 域名:通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Mame,它能准确表示出其相对于DNs域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔,对于DNS域google来说,其完全正式域名( FQDN)为google.com。 例如,google 为 com域的子域,其表示方法为google.com,而 www 为 google域中的子域,可以使 用www. google.com.表示。
注意:通常,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如"google.com")或者FQDN的结尾使用。域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域
即全域名:同时带有主机名和域名的名称FQDN =Hostname + DomainName 如:www .baidu. com. 注意:最前面的一定是主机,最后一个点表示根域,通常是省略不写的,但实际上www.baidu.com=www.baidu.com. 域名结构: http:// www.sina.com.cn./ http://主机名.子域.二级域.顶级域根域/
二、域名解析
1.分类
正向解析:根据域名查找对应的IP地址 反向解析:根据IP地址查找对应的域名(域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证。)
2.过程
正向解析查询过程: 1.先查本机的缓存记录 2.查询hosts文件 3.查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果 4.这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步 5.求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器 6.求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器 7.求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器 8.本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
3.查询方式
(1)递归查询 递归查询是一种DNS 服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。 简单来说就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询 DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台 DNS 服务器地址,客户机再向这台 DNS服务器提交请求,依次循环直到返回查询的结果为止总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反
三、关于配置
1.正向解析配置
先检查有没有安装bind,再挂载光盘 发现没有安装包,咱们就进行安装并查看安装位置 这里我们查一下IP地址,然后进入刚刚查找的软件安装位置进行编辑
vim /etc/named.conf 在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是: master:表示定义的是主域名服务器
slave :表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器 接下来配区域配置文件 vim /etc/named.rfc1912.zones 接下来配置正向解析文件 先将named.localhost里的内容复制生成新文件为qqq.com.zone cd /var/named/ cp -p named.localhost qqq.com.zone vim qqq.com.zone
SOA标记、域名和管理员邮箱,@变量表示域名
NS qqq.com #记录当前区域的DNS服务器名称
A 192.168.9.158 #记录主机IP地址
IN MX 10 mail.qq.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.9.158 #记录正向解析www.qqq.com
mail IN A 192.168.9.160 #mail.qq.com的地址
ftp IN CNAME www #CNAME使用别名,ftp是www的别名
* IN A 192.168.9.170 #反域名解析*代表任意主机名
出现Non-authoritative answer:这种问题 翻译过来大概是:非授权应答表示这个查询结果来自一个非权威主机 说人话就是表明这次并没有到网络外去查询,而是在缓存区中查找并找到数据
那么我们需要在客户端的域名解析配置文件中添加DNS服务器地址或修改DNS vim /etc/resolv.conf 至此,正向解析成功
2.反向解析配置
vim /etc/named.rfc1912.zones 反向解析至此结束
3.主从服务器配置
主域名服务器 负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改,构建主域名服务器时,需要自行建立所负责区域的地址数据文件
从域名服务器 当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务 从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器,构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库
先准备好两台服务器,并且都安装bind服务
主服务器IP:192.168.9.158
从服务器IP:192.168.9.132
先配主服务器
[root@192 named]# vim /etc/named.conf
[root@192 ~]# vim /etc/named.rfc1912.zones
[root@192 named]# cd /var/named
[root@192 named]# cp -p named.localhost qqq.com.zone
[root@192 named]# vim qqq.com.zone
正向解析
[root@192 named]# cp -p qqq.com.zone qqq.com.zone.local
[root@192 named]# vim qqq.com.zone.local
反向解析
至此,主服务器配置结束,开始从服务器配置
[root@192 named]# vim /etc/named.conf
[root@192 named]# vim /etc/named.rfc1912.zones
从服务器配置完成,之后两台服务器进行重启服务并配置DNS
[root@192 named]# systemctl start named
[root@192 named]# vim /etc/resolv.conf #配置DNS
测试主服务器的正向解析 测试从服务器的正向解析
[root@192 named]# systemctl stop named.service #停止服务进行测试
[root@192 named]# nslookup www.qqq.com
可以看到还是好好的
总结
正向解析是通过域名来查找IP地址,反向则是根据IP地址查找域名,但反向解析一般用的不多 主从服务器就等于多了个备份一样,主服务器出现故障无法运行时,从服务器可以代替运作
|