DNS区域管理是DNS系统中的一个重要组成部分,它涉及到DNS记录的组织和管理。坦克NS提供了灵活且强大的工具来帮助您管理和维护DNS区域。本节将详细介绍如何在坦克NS中创建、编辑和管理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 区域创建一个单独的 Tconf 格式文件。例如,为 example.com
创建一个区域文件:
cd 记录
touch example.com.zone.tconf
编辑区域文件:
nano
或 vim
)编辑 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
》
》
保存并关闭文件:
example.com.zone.tconf
文件的更改并关闭编辑器。重启坦克NS服务:
# 如果是使用systemd
#sudo systemctl restart tank-ns.service
打开区域文件:
example.com.zone.tconf
。修改记录:
=#",,《》{}“”!!「」[]
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
# 》
保存并关闭文件:
example.com.zone.tconf
文件的更改并关闭编辑器。重启坦克NS服务:
# 如果是使用systemd
#sudo systemctl restart tank-ns.service
删除区域文件:
example.com.zone.tconf
文件:
cd 记录
rm example.com.zone.tconf
重启坦克NS服务:
# 如果是使用systemd
#sudo systemctl restart tank-ns.service
使用nslookup命令:
nslookup
命令查询特定区域的记录。例如,查询example.com
的SOA记录:
nslookup -type=soa example.com 127.0.0.1
使用dig命令:
dig
命令查询特定区域的记录。例如,查询example.com
的所有记录:
dig @127.0.0.1 example.com any
创建多个区域文件:
anotherdomain.com
创建一个区域文件:
cd 记录
touch anotherdomain.com.zone.tconf
编辑多个区域文件:
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
》
》
保存并关闭文件:
重启坦克NS服务:
# 如果是使用systemd
#sudo systemctl restart tank-ns.service
ping
、dig
、nslookup
等进行监控。通过以上步骤,您应该能够熟练地管理DNS区域,包括创建、编辑、删除和查看DNS区域。这将帮助您更好地组织和维护DNS记录,确保DNS服务的高效和稳定运行。