• 第二十一节


    bind

    正向解析实验

    在DNS域名解析服务中,正向解析是指根据域名(主机名)查找到对应的IP地址。也就是说,当用户输入了一个域名后,bind服务程序会自动进行查找,并将匹配到的IP地址返给用户,如图所示。这也是最常用的DNS工作模式。

    正向解析技术示意图

    第13章 使用Bind提供域名解析服务第13章 使用Bind提供域名解析服务

    第1步:编辑区域配置文件。该文件中默认已经有了一些无关紧要的解析参数,旨在让用户有一个参考。可以将下面的参数添加到区域配置文件的最下面。当然,也可以将该文件中的原有信息全部清空,而只保留自己的域名解析信息。

    [root@linuxprobe ~]# vim /etc/named.rfc1912.zones
    zone "linuxprobe.com" IN {
            type master;
            file "linuxprobe.com.zone";
            allow-update {none;};
    };
    

    Tips

    配置文件中的代码缩进仅是为了提升阅读体验,有无缩进对参数效果均没有任何影响。

    第2步:编辑数据配置文件。可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容。

    [root@linuxprobe ~]# cd /var/named/
    [root@linuxprobe named]# ls -al named.localhost
    -rw-r-----. 1 root named 152 Jun 21 2007 named.localhost
    [root@linuxprobe named]# cp -a named.localhost linuxprobe.com.zone
    

    在保存并退出后文件后记得重启named服务程序,让新的解析数据生效。考虑到正向解析文件中的参数较多,而且相对都比较重要,刘遄老师在每个参数后面都作了简要的说明。

    [root@linuxprobe named]# vim linuxprobe.com.zone
    [root@linuxprobe named]# systemctl restart named
    [root@linuxprobe named]# systemctl enable named
    Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
    
    $TTL 1D #生存周期为1天        
    @ IN SOA linuxprobe.com. root.linuxprobe.com. (  
      #授权信息开始: #DNS区域的地址 #域名管理员的邮箱(不要用@符号)  
            0;serial #更新序列号
            1D;refresh #更新时间
            1H;retry #重试延时
            1W;expire #失效时间
            3H );minimum #无效解析记录的缓存时间
      NS ns.linuxprobe.com. #域名服务器记录
    ns IN A 192.168.10.10 #地址记录(ns.linuxprobe.com.)
    www IN A 192.168.10.10 #地址记录(www.linuxprobe.com.)

    在解析文件中,A记录类型表示将域名指向一个IPv4地址,而AAAA表示将域名指向一个IPv6地址。此外,还有8种记录类型,如表13-2所示,供各位读者日后备查:

    表13-2                     域名解析记录类型

    记录类型 作用
    A 将域名指向一个IPV4地址
    CNAME 将域名指向另外一个域名
    AAAA 将域名指向一个IPV6地址
    NS 将子域名指定其他DNS服务器解析
    MX 将域名指向邮件服务器地址
    SRV 记录提供特定的服务的服务器
    TXT 文本内容一般为512字节,常作为反垃圾邮件的SPF记录
    CAA CA证书办法机构授权校验
    显性URL 将域名重定向到另外一个地址
    隐性URL 与显性URL类型,但是会隐藏真实目标地址

    第3步:检验解析结果。为了检验解析结果,一定要先把Linux系统网卡中的DNS地址参数修改成本机IP地址(见图13-6),这样就可以使用由本机提供的DNS查询服务了。nslookup命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录,进而更准确地检验DNS服务器是否已经能够为用户提供服务。

    第13章 使用Bind提供域名解析服务第13章 使用Bind提供域名解析服务

    图13-6 配置网卡DNS参数信息

    [root@linuxprobe named]# nmcli connection up ens160 
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
    [root@linuxprobe named]# nslookup
    Name:	www.linuxprobe.com
    Address: 192.168.10.10
    > ns.linuxprobe.com
    Server:		192.168.10.10
    Address:	192.168.10.10#53
    
    Name:	ns.linuxprobe.com
    Address: 192.168.10.10
    

    若解析出的结果不是192.168.10.10,则很有可能是虚拟机选择了联网模式,并由互联网DNS服务器进行了解析。此时应确认服务器信息是否为“Address: 192.168.10.10#53”,即由本地服务器192.168.10.10的53端口号进行解析;若不是,则重启网络后再试一下。

     反向解析实验

    在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。当购买虚拟主机时,可以使用这一功能验证虚拟主机提供商是否有严重的超售问题。图所示为对IP地址所关联的域名信息进行反推。

    反向解析技术示意图

    第13章 使用Bind提供域名解析服务第13章 使用Bind提供域名解析服务

    第1步:编辑区域配置文件。在编辑该文件时,除了不要写错格式之外,还需要记住此处定义的数据配置文件名称,因为一会儿还需要在/var/named目录中建立与其对应的同名文件。反向解析是把IP地址解析成域名格式,因此在定义zone(区域)时应该要把IP地址反写,比如原来是192.168.10.0,反写后应该就是10.168.192,而且只需写出IP地址的网络位即可。把下列参数添加至正向解析参数的后面。

    [root@linuxprobe ~]# vim /etc/named.rfc1912.zones
    zone "linuxprobe.com" IN {
            type master;
            file "linuxprobe.com.zone";
            allow-update {none;};
    };
    zone "10.168.192.in-addr.arpa" IN {
            type master;
            file "192.168.10.arpa";
            allow-update {none;};
    };
    

    第2步:编辑数据配置文件。首先从/var/named目录中复制一份反向解析的模板文件(named.loopback),然后把下面的参数填写到文件中。其中,IP地址仅需要写主机位,如图13-8所示。

    第13章 使用Bind提供域名解析服务第13章 使用Bind提供域名解析服务

    图13-8  反向解析文件中IP地址参数规范

    [root@linuxprobe ~]# cd /var/named
    [root@linuxprobe named]# cp -a named.loopback 192.168.10.arpa
    [root@linuxprobe named]# vim 192.168.10.arpa
    [root@linuxprobe named]# systemctl restart named
    $TTL 1D        
    @ IN SOA linuxprobe.com. root.linuxprobe.com. (
            0;serial
            1D;refresh
            1H;retry
            1W;expire
            3H);minimum
      NS ns.linuxprobe.com.  
    ns A 192.168.10.10  
    10 PTR ns.linuxprobe.com. #PTR为指针记录,仅用于反向解析中。
    10 PTR www.linuxprobe.com.  
    20 PTR bbs.linuxprobe.com.  

    第3步:检验解析结果。在前面的正向解析实验中,已经把系统网卡中的DNS地址参数修改成了本机IP地址,因此可以直接使用nslookup命令来检验解析结果,仅需输入IP地址即可查询到对应的域名信息。

    [root@linuxprobe ~]# nslookup
    > 192.168.10.10
    10.10.168.192.in-addr.arpa	name = www.linuxprobe.com.
    > 192.168.10.20
    20.10.168.192.in-addr.arpa	name = bbs.linuxprobe.com.
  • 相关阅读:
    vue-ssr优化
    学习基础笔记1
    js原型链继承图
    浏览器缓存和Service Worker
    react项目启动详解(转载)
    深拷贝js对象或数组
    css多边形
    css三角形
    字体文件使用及压缩
    前端调试效率低?试试这10个“Chrome开发者工具”使用技巧
  • 原文地址:https://www.cnblogs.com/wushuai2018/p/15968400.html
Copyright © 2020-2023  润新知