SMB - DNS Server 域名服务器配置与管理(二)-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

SMB - DNS Server 域名服务器配置与管理(二)

简介:

        DNS Server根据提供服务内容,可以分为Authoritative授权服务器和Recursive递归服务器两种。前者在本地保存了授权域名的Zone文件能够提供针对授权域的权威应答,服务器角色可以是Master或Slave Server;后者仅对客户端请求做递归查询并提供缓存服务,通常也称为CacheOnly Server。

        我们在 homelab.pub中构建的DNS Server将会同时配置为授权服务器和递归服务器,满足企业内部私有域名解析和外部域名缓存需求。但这种配置在生产环境中可能会因为缓存服务器向运营商DNS Server频繁发出DNS请求而触发服务侧的安全机制导致被暂时性列入RBL,影响内部用户正常访问,因此建议为本地DNS Server配置多个参考DNS Server,条件允许的话建议配置谷歌或DNSPOD等机构的DNS Server,可以避免此类问题且可以在一定程度上免受DNS污染影响。

       本文将介绍DNS服务关键术语,区域Zone和资源记录ResourceRecords(下文简称RR)。

0x1 Zone和RR

       Zone和Domain虽然都有“区域”的意思,但在IT语境中却是两个不同的术语。Domain是DNS层次化结构中的一个分支,而Zone是DNS结构中的一段连续的名称空间,即Zone是可以包含多个连续的Domain的,而不连续的Domain是无法构成Zone的。在Zone配置文件中通过资源记录RR描述这段连续的名称空间中授权和地址解析情况。Zone配置文件格式通过RFC1035定义,因此大多数DNS Server无论其架构和平台都能够相互兼容。

      Zone配置文件示例参考:

$ORIGIN homelab.pub.                    ;声明域名空间,必须以点号结尾
$TTL       86400                        ;RR生存周期,即可被缓存时间,全局
@          IN      SOA     master.homelab.pub.   xiaomage.homelab.pub.  ( ;SOA记录
                               2018061801       ;序列号  
                               21600            ;更新时间间隔,也可采用6H表示   
                               3600             ;更新失败重试时间间隔,也可采用1H表示
                               604800           ;失效时间,也可采用1W表示
                               86400            ;TTL生存周期,也可采用1D表示
)
;
           IN     NS           master.homelab.pub.   ;NS记录
           IN     NS           slave.homelab.pub.    ;NS记录
master     IN    A              192.168.2.250        ;A记录
slave      IN    A              192.168.2.251        ;A记录
     Zone配置文件中的每条记录(如SOA/NS/A/MX等)就称为RR资源记录。

0x2 RR资源记录类型

    根据IETF相关文档定义,RR可以有多种,本文仅介绍我们日常工作经常用到的几种类型。

    1、SOA记录,Start of Authority Record

          用途:用于委派授权,即表明当前DNS Server作为指定域的授权服务器。SOA是Zone文件的第一条RR,包含多个参数,默认时间单位为秒,也支持H/D/W等便捷表示法;

          示例:

$ORIGIN homelab.pub.                    ;声明域名空间,必须以点号结尾
$TTL       86400                        ;RR生存周期,即可被缓存时间,全局
@          IN      SOA     master.homelab.pub.   xiaomage.homelab.pub.  ( 
                               2018061801
                               21600         
                               3600            
                               604800
                               86400
)

         SOA记录内容说明:

         @                                      在Zone文件中“@”符号表示引用#ORIGIN命令,即homelab.pub

         IN                                     表示Internet

         SOA                                 记录类型

         master.homelab.pub.        授权DNS服务器主机名

         xiaomage.homelab.com.  管理员Email地址,因在Zone文件中“@”符号有其他用途,这里有件地址中用“.”代替

         2018061801                     数字格式序列号,用于配置版本控制,slave根据序列号判断master是否有更新

         21600                               salve向master请求更新的时间间隔(也可以采用6H表示)

         3600                                 salve向master请求更新失败后重试时间间隔,如果在过期时间之内master始终没有响应slave的更新请求,则slave在过期时间后不能再为homelab.pub域提供权威解析(也可以采用1H表示)

         604800                            过期时间(也可以采用1W表示)

         86400                              TTL生存周期,即RR可以呗其他服务器缓存的时间周期(也可以用1D表示)

     2、NS记录,Name Server Record

        用途:声明当前域使用的DNS服务器的FQDN;

        示例:

@          IN      NS     master.homelab.pub.
           IN      NS     slave.homepab.pub.
        说明:如果一条RR的第一个字段为空则使用上一条RR的第一个字段补齐;

     3、A记录,IPv4 Address Record 
        用途:将域名映射到IPv4地址

        示例:

www        IN      A       192.168.2.205
           IN      A       192.168.2.206
       说明:在正向解析域(即从域名解析IP地址),FQDN域名要以“.”点号表示名称结束,否则DNS Server会自动将$ORIGIN的值追加到域名后作为FQDN。示例中“www”没有使用“.”号结束,系统会自动将其补充为“www.homelab.pub.”,如果写为“www.”就错了。

      4、MX记录,Mail Exchange Record

         用途:声明当前域使用的邮件服务器的FQDN

         示例:

@          IN      MX      10      mail1.homelab.pub.
           IN      MX      20      mail2.homelab.pub.
         说明:同一域名可以设置多条同类型的RR以实现负载均摊,MX型RR中增加了优先级列来区分负载均摊的参考权重,权重值越大优先级越低。
       5、CNAME记录,Canonical Name Record

         用途:别名记录,将域名映射到另一个域名,但不能映射到另一个别名(防止环路冲突),其他指向FQDN的记录(NS、MX、PTR)不能指向CNAME记录;

         示例:

portal     IN      CNAME   www

         说明:这条RR中portal和www都没有以“.”点号结尾,因此系统会自动将其补充为“portal.homelab.pub.          IN           CNAME      www.homelab.pub.”。

       6、PTR记录,Pointer Resource Record

         用途:反向解析记录,用于反向解析域(即从IP地址解析域名),将IP地址映射到域名。

         示例:

250       IN      PTR     master.homelab.pub.
         说明:反向解析域Zone文件中IP地址部分仅需填写最后一组数字,以上示例表示“192.168.2.250是域名master.homelab.pub的IP地址”。
      7、TXT记录,Text Record

         用途:文本型记录,多用于垃圾邮件防范的SPF和DKIM,这两种RR不能视为anti-spam的能力,但可以作为整体方案的组成部分;

         示例:

homelab.pub.           IN   TXT    "v=spf1   mx   ptr -all"
mail1.homelab.pub.     IN   TXT    "v=spf1   mx   ptr   -all"
mail2.homelab.pub.     IN   TXT    "v=spf1   mx   ptr   -all"
homelab.pub.           IN   TXT    "v=spf1   ip4:192.168.2.200/24 ip4:192.168.2.201/24  -all"
         说明1:SPF Sender Policy Framework发送方策略框架,用以声明当前域有哪些合法邮件服务器。SPF记录可以配置到整个域和域内的每台MX RR,其中“v=spf1”表示版本1,目前只有版本1,“mx”表示本域对外发送邮件,“ptr”表示本域邮件服务器具有ptr记录,“ip4:192.168.2.200/24”表示本域邮件服务器IPv4地址,有多个邮件服务器则都要写全,“-all”表示拒绝其他地址。具体采用哪种写法要根据DNS Server支持情况来确认,国内的DNS服务商多采用最后一种方式。TXT记录在企业内部的DNS Server上几乎用不到,后续如果谈到MailServer再详细解释。

         说明2:DKIM DomainKeys Identified Mail 域名密钥识别邮件(标准),用以验证发送方服务器合法性。大体流程是MailServer创建了非对称密钥对,并将共钥信息添加到了DNS服务器的TXT记录中,发件方服务器在发送邮件时会在邮件头中加入基于私钥的签名信息,收件服务器在接收到邮件请求后会向DNS服务器请求发件服务器域名TXT记录中的公钥信息用以验证签名是否有效,若有效则进入邮件接收流程,否则则进入垃圾邮件处理流程。

         一句话简单理解SPF和DKIM:SPF声明了当前域合法的MailServer的IP地址,而收件方MailServer则可以通过DKIM对这些地址进行验证。

      8、SRV记录,Service Location Record

        用途:服务定位记录,用以标识指定服务器提供了哪些服务,常用于Windows活动目录中。

        示例:

_http._tcp.homelab.pub. IN   SRV   0   5   8081   www.homelab.pub.

        说明:SRV记录字段构成:srvce.prot.name.       IN     SRV    pri     weight      port    target

                    srvce:服务类型,以下横行开头,如:_http表示WEB服务,_ftp表示FTP服务,_ldap表示LDAP服务等;

                    prot:协议类型,以下横行开头,如:_tcp表示TCP协议,_udp表示UDP协议;

                    name:本域域名;

                    SRV:记录类型;

                    pri:优先级,同MX记录中优先级功能相同,数值越小优先级越高;

                    weight:权重,用于在具有相同优先级的多条SRV记录之间实现负载均摊,数值越大被负载的几率越高;

                    port:服务端口,此处可以填写自定义端口,比如运行于8081端口的WEB服务;

                    target目标服务器,提供该服务的服务器FQDN。

        

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章
最新文章
相关文章