我有内部 AD 域:ad.domain.com 外部公共域:domain.com
在 DNS 上我有两个正向查找区域:
ad.domain.com 作为我的活动目录,mail.domain.com - 黑色 A 记录指向我的内部 IP 邮件服务器。
在公共 DNS 上,我的域名注册器将 mail.domain.com 指向路由器上的公共 IP,该 IP 是指向内部邮件服务器的下一个 dst-nat - 您认为这种配置可以吗?
现在我需要本地用户在 Web 浏览器地址中输入:mail.domain.com 自动转到 mail.ad.domain.com,因此在 mail.domain.com 上我尝试创建 CNAME 将其指向位于 ad.domain.com 中名为“mail”的 A 记录和邮件服务器的 IP 地址,并收到此错误:
“无法创建新记录。无法将别名 (CNAME) 记录添加到此 DNS 名称。DNS 名称包含与 CNAME 记录不兼容的记录。”
答案1
您正在谈论网络浏览器和位置栏,因此您可能拥有某种网络邮件服务mail.ad.example.com
。
DNSCNAME
记录与此无关。ACNAME
只是一个别名,表示该主机名上的所有内容实际上都在另一个主机上,典范主机名。因此,如果您有CNAME
,则不能有同一主机名的任何其他记录。此外,由于您可能有MX 0 mail.example.com.
,因此应该是A
,而不是CNAME
。 请勿因此触碰您的 DNS!您唯一能做的就是让本地 DNS 服务器使用本地 IP 来应答mail.example.com
。即使这样,您仍可能会遇到本地 DNS 缓存问题。
对于重定向,安装 Web 服务器。如果您有外部的mail.example.com
,您可以在那里安装 Web 服务器并设置 HTTP 重定向到mail.ad.example.com
。现在mail.example.com
指向您网络的外部 IP,这是不可能的。第二好的选择是单独http://webmail.example.com
执行有条件的重定向:
- 如果请求来自你的网络,则重定向到
http://mail.ad.example.com/
, - 否则重定向至
http://mail.example.com/
。
在那里你应该使用状态代码302
暂时移动,以避免缓存它。
答案2
重点是“mail.domain.com”作为转发区域是不好的。
您需要将“mail.domain.com”添加为 CNAME 或 A 类型。之后,您可以在 Windows DNS 中创建任何 CNAME 或 A 记录。
因此,删除 mail.domain.com 作为转发区域,然后将其添加为 CNAME。“邮件”记录可以保存在您的“ad.domain.com”中,您无需为此创建区域,也不需要在本地 DNS 中使用 MX 记录。您只需要在公共域中使用 MX 记录。