文档目录

区域管理

DNS区域管理是DNS系统中的一个重要组成部分,它涉及到DNS记录的组织和管理。坦克NS提供了灵活且强大的工具来帮助您管理和维护DNS区域。本节将详细介绍如何在坦克NS中创建、编辑和管理DNS区域。


创建DNS区域目录结构

坦克 NS ZONE 可以单独创建一个文件保存起来,也可以与快记录一起放在 所有记录.tconf 文件里面,如果大量 Zone 需要管理,可以使用独立文件保存 Zone,少量Zone可以与快记录放一起。 所以,它有两种目录结构,这取决于 生产环境.tconf 配置文件:

=#",,《》{}“”!!「」[]	

...
... 
#默认所有记录保存在一个文件里面,同时支持灵活的按照Zone名称来分别保存在不同的文件里面,如果使用了Zone功能,你可以尝试使用“拆分记录保存”,只要把前面的!号删除。

!拆分记录保存
...
...

开启拆分记录保存的目录结构:

记录
├── ceo.com.zone.tconf
├── com.zone.tconf
├── shos2.zone.tconf
├── tk.shos.zone.tconf
├── 独立记录.tconf
└── 配置示例.md

1 directory, 6 files

关闭拆分记录保存的目录结构:

记录
├── 所有记录.tconf
└── 配置示例.md

不管使用哪种方式保存记录,它实现的目的都是方便管理坦克 NS 记录。


创建DNS区域

  1. 创建区域文件

    • 在坦克 NS 的记录文件夹中,为每个 DNS 区域创建一个单独的 Tconf 格式文件。例如,为 example.com 创建一个区域文件:
      cd 记录
      touch example.com.zone.tconf
      
  2. 编辑区域文件

    • 使用文本编辑器(如 nanovim )编辑 example.com.zone.tconf 文件。以下是一个示例,展示了如何定义一个基本的 DNS 区域:
      =#",,《》{}“”!!「」[]	
      
      example.com《
           #可以暂停Zone功能,暂停后 客户端将不会查询到 Zone 的记录。
           !暂停
      
           # 默认关闭转发查询,坦克 NS 只负责 这个 Zone 里面的记录查询,如果一个 Zone 没有配置 子域名 `mail` 记录的情况下,客户端查询 `mail.example.com` 会返回无法找到记录,如果开启转发查询,则会发送到外部服务器协助查询。
           !转发查询
      
             类型=soa
             主要名称服务器=ns1.example.com
             管理员邮箱=admin.example.com
             更新号=2024102301
             刷新间隔=86400
             重试间隔=7200
             到期时间=3600000
             最小生存时间=172800
             注释=exampleZone
      
           # 下面这条记录,因为记录域名本身就是 example.com ,所以 名=example.com 可以不写。
             类型=ns
             主机域名=ns1.example.com
      
           # 下面这条记录,因为记录域名是子域名 www ,可以不写 Zone 名称 example.com ,所以 名=www 就可以了。
             类型=a
      =www
             IPv4地址=192.168.2.3
      
           # 同理,添加 Zone 名称自身 mx 记录,可以不写 名=example.com
             类型=mx
             优先级=10
             主机域名=mail.example.com
      
  3. 保存并关闭文件

    • 保存对 example.com.zone.tconf 文件的更改并关闭编辑器。
  4. 重启坦克NS服务

    • 坦克 NS 支持热加载,但如果更改无效,建议重启坦克 NS 服务:
      # 如果是使用systemd
      #sudo systemctl restart tank-ns.service
      

编辑DNS区域

  1. 打开区域文件

    • 使用文本编辑器打开您之前创建的区域文件,例如 example.com.zone.tconf
  2. 修改记录

    • 根据需要修改现有的记录或添加新的记录。新添加的记录应该保证与 SOA 记录同级。不应该放在 Zone 外面。例如,添加一个新的 A 记录:
      =#",,《》{}“”!!「」[]	
      
      example.com《
           #可以暂停Zone功能,暂停后 客户端将不会查询到 Zone 的记录。
           !暂停
      
           # 默认关闭转发查询,坦克 NS 只负责 这个 Zone 里面的记录查询,如果一个 Zone 没有配置 子域名 `mail` 记录的情况下,客户端查询 `mail.example.com` 会返回无法找到记录,如果开启转发查询,则会发送到外部服务器协助查询。
           !转发查询
      
             类型=soa
             主要名称服务器=ns1.example.com
             管理员邮箱=admin.example.com
             更新号=2024102301
             刷新间隔=86400
             重试间隔=7200
             到期时间=3600000
             最小生存时间=172800
             注释=exampleZone
      
             类型=a
      =blog
             IPv4地址=192.168.2.4
      
      # 放 Zone 外面还是会按照快记录处理
      # 《
      #   类型=a
      #   名=blog
      #   IPv4地址=192.168.2.4
      # 》
      
  3. 保存并关闭文件

    • 保存对 example.com.zone.tconf 文件的更改并关闭编辑器。
  4. 重启坦克NS服务

    • 坦克 NS 支持热加载,但如果更改无效,建议重启坦克 NS 服务:
      # 如果是使用systemd
      #sudo systemctl restart tank-ns.service
      

删除DNS区域

  1. 删除区域文件

    • 删除您不再需要的区域文件。例如,删除 example.com.zone.tconf 文件:
      cd 记录
      rm example.com.zone.tconf
      
  2. 重启坦克NS服务

    • 坦克 NS 支持热加载,但如果更改无效,建议重启坦克 NS 服务:
      # 如果是使用systemd
      #sudo systemctl restart tank-ns.service
      

查看DNS区域

  1. 使用nslookup命令

    • 使用nslookup命令查询特定区域的记录。例如,查询example.com的SOA记录:
      nslookup -type=soa example.com 127.0.0.1
      
    • 该命令的输出应该显示SOA记录的详细信息。
  2. 使用dig命令

    • 使用dig命令查询特定区域的记录。例如,查询example.com的所有记录:
      dig @127.0.0.1 example.com any
      
    • 该命令的输出应该包含该区域的所有记录信息。

管理多个DNS区域

  1. 创建多个区域文件

    • 为每个不同的DNS区域创建单独的Tconf文件。例如,为anotherdomain.com创建一个区域文件:
      cd 记录
      touch anotherdomain.com.zone.tconf
      
  2. 编辑多个区域文件

    • 使用文本编辑器分别编辑每个区域文件,添加所需的记录。例如,编辑anotherdomain.com.zone.tconf文件:
      =#",,《》{}“”!!「」[]	
      
      anotherdomain.com《
              类型=soa
              主要名称服务器=ns1.anotherdomain.com
              管理员邮箱=admin@anotherdomain.com
              更新号=2024102301
              刷新间隔=86400
              重试间隔=7200
              到期时间=3600000
              最小生存时间=172800
              注释=anotherdomainZone
      
              类型=ns
              主机域名=ns1.anotherdomain.com
      
              类型=a
      =www
              IPv4地址=192.168.2.5
      
  3. 保存并关闭文件

    • 保存对每个区域文件的更改并关闭编辑器。
  4. 重启坦克NS服务

    • 坦克 NS 支持热加载,但如果更改无效,建议重启坦克 NS 服务:
      # 如果是使用systemd
      #sudo systemctl restart tank-ns.service
      

注意事项

通过以上步骤,您应该能够熟练地管理DNS区域,包括创建、编辑、删除和查看DNS区域。这将帮助您更好地组织和维护DNS记录,确保DNS服务的高效和稳定运行。