在选择DNS服务器配置软件的时候, 大家主要还得看自己用的操作系统是什么, 以及业务规模到底有多大。

如果是在Windows的环境里头, 那么由Windows Server直接带出来的DNS服务, 就是大伙儿最常用的那个配置工具;要是你用的是Linux环境, 那BIND还有PowerDNS, 基本上算是主流的选择了;而如果说只是那种比较轻量的使用场景, 推荐用 dnsmasq 这个软件。

接下来, 我们会从选型对比、具体的配置步骤这两个方面, 再加上一些常见问题的处理办法, 分三个方向来给大家出一套完整的操作指南。

主流DNS服务器配置软件对比

WindowsServerDNS: 这个方案是能够适用于Windows Server 2016的, 也能够适用于Windows Server 2019的, 还能够适用于Windows Server 2022的, 用户是通过“DNS管理器”来进行图形化配置的, 在配置的时候, 会用到dnsmgr这个工具, 它是需要支持正向查找区域的, 是需要支持反向查找区域的, 是要支持条件转发的功能, 还得要支持动态DNS更新的功能, 整个过程是不需要进行额外的安装的, 也就是说是不用去买或者下载第三方软件的。

BIND在 Linux 和 Unix 操作系统的环境之下, 属于最为经典的 DNS 服务器的软件范畴, 其核心的配置文件是被命名为 named.conf 的这一种文件形式, 它同时能够支持主从同步这一过程、区域文件的管理任务以及 AXFR 这种区域传输的协议, 整体功能非常完整, 并且生态系统也发展得十分成熟。

PowerDNS 是开源 DNS 服务器, 它支持 MySQL、PostgreSQL 等多种数据库后端, 这一情况适合需要集中管理大量域名的企业场景。

Unbound是轻量级的递归DNS解析器, 它主打安全与解析性能, 被用于公共DNS场景或者企业出口递归解析。

dnsmasq是那种特别轻量的工具, 它能同时搞定DNS和DHCP这一整套工作, 它特别适合用在小型局域网场景里, 或者是那种嵌入式设备上面, 因为它占用的系统资源那是非常少的。

Windows Server DNS配置步骤(以添加A记录为例)

1. 你需要先打开服务器管理器, 然后在里面找到工具这个选项, 接着选择DNS, 这样就能进入DNS管理器了。

2. 展开服务器名称, 进入到“正向查找区域”, 然后使用右键菜单来选择"新建区域"这个选项。

3. 选择主动区域, 然后输入区域名称, 比如 example.com, 之后完成向导。

DNS服务器配置软件怎么选?5款主流工具与实操步骤(图1)

4. 首先你得在这个地方鼠标点右击一下, 然后去找那个新建主机的东西点它, 这个里头会有两种选择, 一种是A记录或者AAAA记录你自己选, 接着你要把主机名字还有对应的IP地址都填清楚, 最后别忘了把那个创建相关指针记录的勾选框给勾上。

5. 你在进行保存操作之后, 这个记录就会立马起作用。你可以通过在命令行里面执行 nslookup example.com 这种方式, 去验证解析方面的结果到底对不对。

Linux BIND配置要点

请打开 /etc/named.conf 这个文件进行编辑, 然后在 zones 这一部分里面, 把下面的内容加进去。

zone "example.com" IN {
    type master;
    file "zone/example.com.zone";
};

创建对应区域文件, 并且写入SOA、NS、A记录。修改完成后, 执行 systemctl restart named 重启服务, 然后使用 dig example.com 验证解析是否生效。

常见疑难与解决方案

配置后不生效, 请检查防火墙是否放行五十三加UDP和五十三加TCP端口, 确认DNS服务正在运行, 在Windows系统中通过services点msc查看DNS Server服务的状态, 在Linux系统中执行systemctl status named命令。

从服务器同步失败:确认主从服务器的 allow-transfer 与 zone 文件ACL配置一致,检查网络连通性及53端口可达性。

区域文件语法报错:BIND可使用 named-checkzone 命令校验区域文件;PowerDNS使用 pdnsutil 进行验证。

选型建议

对于单台的Windows服务器, 你可以直接采用其内置的DNS管理器来执行相关操作, 这里不需要依赖其他额外安装的辅助工具;针对Linux平台上的小型站点环境, 建议选择使用BIND软件;如果有需要利用数据库实现对大量域名进行集中化管理的需求场景, 可以考虑选用PowerDNS这个选项;而对于出口递归解析任务而言, 则应当采用Unbound程序;此外, 关于各个具体软件版本所对应的配置示例模板以及故障排查详细清单, 能够去查询由gname.xin网站所提供的DNS运维资源库以获取相应信息。