0

我有一个 OS X 10.6 服务器正在运行,它上面运行着 PHP、Apache、MySQL 和 DNS。我想从 Server Admin App 中移除 DNS 管理。我知道 DNS 配置文件(BIND 使用的那些)是纯文本文件(显然必须遵守一些规则)。

主要原因是我想为我的一个域设置 DKIM,并且我必须将 TXT 记录添加到子域 pm._domainkey.example.com。由于“无效”下划线字符,服务器管理员不允许我添加该子域。

我搜索了基于 Web 的 DNS 管理工具(我将安装在我的服务器上并允许我管理我的 DNS 记录的工具),但我找不到任何好的工具。(我设法安装了几个,但他们没有看到我已经在服务器管理中设置的配置)。现在我正在研究直接编辑配置文件,但我不知道它们在哪里。

这是一个测试/开发服务器,所以搞砸它不会是一场灾难。我知道“我不应该这样做”,但我想:)。

谢谢你的帮助。

4

2 回答 2

1

我不确定 Apple 是否在现代版本的 OSX Server 中更改了这些,但在我的旧 10.5.8 服务器中,BIND 配置的起点是文件/etc/named.conf.

从这个文件中,您可以看到类似include "/etc/dns/options.conf.apple";这样的行,告诉您您可能会在/etc/dns/目录中找到其他内容。

我没有在我的 OSX Server 1.5.8 机器上配置任何 DNS,但我怀疑您所做的任何事情都需要包含在 /etc/named.conf 中,或者包含在它包含的内容中。

一旦开始直接编辑文本文件,请确保不要尝试使用 GUI 工具修改配置。

你可能还想研究一个版本控制系统,比如 subversion 或 git(或者哎呀,甚至是 RCS)来跟踪你所做的更新。它将更容易查看您的历史记录、追踪错误以及从意外的 GUI 配置覆盖中恢复!

另一件事。虽然 OSX 的配置工具可能不允许您将下划线放入主机名中,但也许它会让您将其放入子域中?我没有尝试过,但您可能只想看看它是否允许您设置 的新域_domainkey.example.com,在该域​​下您将拥有类似pm. 验证主机名的例程可能与验证子域的例程不同。我不知道这是否可行,但值得尝试。

于 2012-06-06T17:01:18.147 回答
0

您无需停止使用 Server Admin 来管理 DNS,只需在其背后添加它无法处理的记录即可。这是可能的,因为在 OS X Server v10.6 中,每个 DNS 区域的内容实际上都存储为两个单独的文件:/var/named/zones/db.zonename.zone.apple 具有服务器管理员管理的所有内容,而 /var /named/db.zonename。只有一个注释和一个包含指令来拉入 .zone.apple 文件。因为服务器管理员只查看和更改 .zone.apple 文件,所以您可以将所需的任何资源记录添加到第二个文件中——服务器管理员将忽略它们,但由 DNS 服务提供服务。

于 2012-06-06T18:38:08.017 回答