Red Hat -- DNS [Zone 文件]

Zone 文件保存一个命名空间(example.com)的信息。

  • 存放位置(工作目录):由 directory 定义,默认是:/etc/named
  • 文件名:由 file 定义,习惯是:example.com.zone
  • 模板文件:/usr/share/doc/bind-9.9.4/sample/var/named/named.localhost

工作目录:/etc/named

  • /etc/named/ 主名称服务器存放 Zone 文件的目录
  • /etc/named/salve/ 次名称服务器保存 Zone 文件的目录
  • /etc/named/data/ 日志文件

权限(640)及拥有者

~ sudo ls -l /var/named/example.com.zone
-rw-r-----. 1 root named 273 May  6 02:50 /var/named/example.com.zone

文件格式

Zone 文件由指令和资源记录组成,每条各占一行。


Zone 文件

指令

INCLUDE
# 包含其他文件
$INCLUDE /var/named/penguin.example.com

ORIGIN
; 不是 FQDN 的主机名都将自动加上 $ORIGIN 的值
; 不以 . 为结尾的都是非 FQDN
$ORIGIN example.com.

没有定义 $ORIGIN 时,它会从 /etc/named.conf 中获取


TTL

增加 TTL 值

  • 减少客户端查询次数
  • 增长修改资源记录后的生效时间
; 默认 TTL: 1 Day
; 递归名称服务器缓存结果到内存的有效时间
; 每行资源记录都可以覆盖该值
$TTL

常见资源记录

SOA

SOA: Start of Authority

  • 向名称服务器宣告重要的权威信息;
  • 第一行资源记录
SOA

Zone 文件中的数字默认是以秒为单位,但也可以自己指定时间单位


时间单位
NS

NS: Nameserver record

; 声明权威服务器
; dns1.example.com. 必须是 FQDN

@    IN  NS  dns1.example.com.
     IN  NS  dns2.example.com.

dns1 IN  A   10.0.1.3
dns2 IN  A   10.0.1.4
A

A: Address record

; server1 的 ip地址为 10.0.1.3 或 10.0.1.5
; 主机名表示 FQDN 的都将自动加上 $ORIGIN 的值:server1.example.com.
; 如果资源记录的主机名为空,则认为是最后指定的那个主机名
server1  IN  A  10.0.1.3
         IN  A  10.0.1.5
CNAME

CNAME: Canonical Name record,将主机名指向另一个主机名

  • 一般用于将一个主机名(A记录)指向另一个众所周知的别名(www, ftp)

限制:

  • 不应该指向其他 CNAME,避免死循环
  • 不能包含其他类型的资源记录(A, NS, MX...),与 DNSSEC 相关的记录除外 (RRSIG, NSEC....)
  • 指向 FQDN 的资源记录(NS, MX, PTR),不能指向 CNAME

; 设置 server1 的 ip地址
; 设置 server1 的 别名为 www
server1  IN  A      10.0.1.5
www      IN  CNAME  server1
MX

MX: Mail Exchange record

腾讯企业邮 -- 什么是 MX

; 10, 20 是优先级;10比20优先;可以设置相同优先级;
; mail.example.com. 必须是 FQDN
; 当一封邮件发往 root@example.com 时,服务器将解析 example.com

example.com.  IN  MX  10  mail.example.com.
              IN  MX  20  mail2.example.com.
mail1         IN  A   10.0.1.1
mail2         IN  A   10.0.1.2
PTR

PTR: Pointer record 用于反向解析

; 50 是 10.0.1.50  4个数字中的最后一个
; server1.example.com 必须是 FQDN

50 IN PTR server1.example.com.

实例

正向解析

; /var/named/example.com.zone

$ORIGIN example.com.
$TTL 86400
@         IN  SOA  dns1.example.com.  hostmaster.example.com. (
              2001062501  ; serial
              21600       ; refresh after 6 hours
              3600        ; retry after 1 hour
              604800      ; expire after 1 week
              86400 )     ; minimum TTL of 1 day
;
;
          IN  NS     dns1.example.com.
          IN  NS     dns2.example.com.
dns1      IN  A      10.0.1.1
          IN  AAAA   aaaa:bbbb::1
dns2      IN  A      10.0.1.2
          IN  AAAA   aaaa:bbbb::2
;
;
@         IN  MX     10  mail.example.com.
          IN  MX     20  mail2.example.com.
mail      IN  A      10.0.1.5
          IN  AAAA   aaaa:bbbb::5
mail2     IN  A      10.0.1.6
          IN  AAAA   aaaa:bbbb::6
;
;
; This sample zone file illustrates sharing the same IP addresses
; for multiple services:
;
services  IN  A      10.0.1.10
          IN  AAAA   aaaa:bbbb::10
          IN  A      10.0.1.11
          IN  AAAA   aaaa:bbbb::11
;
ftp       IN  CNAME  services.example.com.
www       IN  CNAME  services.example.com.
;
;
; In this example, the authoritative nameservers are set as dns1.example.com and dns2.example.com,
; and are tied to the 10.0.1.1 and 10.0.1.2 IP addresses respectively using the A record.

; The email servers configured with the MX records point to mail and mail2 through A records. 
; Since these names do not end in a trailing period, the $ORIGIN domain is placed after them,
; expanding them to mail.example.com and mail2.example.com.
; 
; Services available at the standard names, such as www.example.com (WWW), 
; are pointed at the appropriate servers using the CNAME record.

# /etc/named.conf

zone "example.com" IN {
  type master;
  file "example.com.zone";
  allow-update { none; };
};

反向解析

反向解析:将 IP地址 解析为 FQDN
IP地址 有4个数字(1.0.10.0) 保留最后一位 .0 来做反向解析

; /var/named/example.com.rr.zone

; 将 10.0.1.1~10.0.10.6 反向解析到 FQDN (注意 $ORIGIN 前3个数字是相反的)
;
$ORIGIN 1.0.10.in-addr.arpa.
$TTL 86400
@  IN  SOA  dns1.example.com.  hostmaster.example.com. (
       2001062501  ; serial
       21600       ; refresh after 6 hours
       3600        ; retry after 1 hour
       604800      ; expire after 1 week
       86400 )     ; minimum TTL of 1 day
;
@  IN  NS   dns1.example.com.
;
1  IN  PTR  dns1.example.com.
2  IN  PTR  dns2.example.com.
;
5  IN  PTR  server1.example.com.
6  IN  PTR  server2.example.com.
;
3  IN  PTR  ftp.example.com.
4  IN  PTR  ftp.example.com.

# /etc/named.conf
# 10.0.1.0 网段的反向解析;注意 前3个数字是相反的 <1.0.10>
zone "1.0.10.in-addr.arpa" IN {
  type master;
  file "example.com.rr.zone";
  allow-update { none; };
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,973评论 0 7
  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 1,817评论 0 2
  • 一、BIND是什么 BIND是互联网应用最为广泛的DNS软件。 二、BIND的安装与使用 以下内容转自 http:...
    0_0啊阅读 3,159评论 0 0
  • 什么是DNS及功能: DNS(Domain name server),是将IP地址转换为域名地址。当在互联网访问外...
    魏镇坪阅读 7,689评论 0 8
  • 我走过一百零一条街 终于停在一扇不起眼的门后 发现最好卖的是保鲜膜 轻轻贴上,笑容可以从早到晚 然后撕下,总是一副...
    楚囚998阅读 150评论 0 3