我有以下情况:
我们公司内网中的 Web 服务器的地址位于私有范围内。某些许可限制阻止我们更改私有地址。使用网关上的公共地址上的端口转发将端口 443 公开。到目前为止一切顺利。
在外部,我们使用托管的 Linux 服务器,其中 Bind9 是 mycorp.com 域的权威名称服务器。此服务器将我们的 Web 服务器 FQDN 解析为外部公共地址,因此:
superwebsite.mycorp.com -> 209.85.148.103(向谷歌致歉)
在内部,我们使用 Windows 2003 Active Directory 服务器作为 DNS 服务器。此服务器对我们的内联网域具有权威性,并将我们服务器的内部 FQDN 解析为私有地址,因此:
超级网站.mycorp.本地域 -> 192.168.1.25
我们最近为 superwebsite.mycorp.com 购买了商业 SSL 证书,因此我们需要内部 AD 服务器将公共 FQDN 解析为私有地址,因此:
superwebsite.mycorp.com -> 192.168.1.25
我们还希望从该服务器提供 Subversion 存储库,因此外部 URL 与内部 URL 相同非常重要,否则开发人员的工作区将出现问题……
我如何告诉 Active Directory 将这个特定的 FQDN 解析为私有地址?显然,我无法在内部网内创建区域 superwebsite.mycorp.com:这会导致 AD DNS 服务器认为自己具有权威性,并忽略真实的内网外的权威服务器。
答案1
我无法在内部网中创建区域 superwebsite.mycorp.com:这会导致 AD DNS 服务器认为自己具有权威性,并忽略内部网之外的真正权威服务器。
你可以,而且这是你得到你想要的东西的唯一方法。我以前也遇到过类似的情况,虽然这样做会让你觉得很肮脏,但我从来没有遇到过问题。
关键是创建一个名称与 FQDN superwebsite.mycorp.com 匹配的区域,而不是整个 mycorp.com。然后在区域中使用相关 IP 创建新的 A 记录。
唯一会出现问题的情况是:
- 当IP发生变化时,一定要记得内部更新。
- 如果您使用过第 4 级名称,即 something.superwebsite.mycorp.com,那么您还需要在 Internet DNS 和内部 DNS 中维护这些名称。
答案2
你实际上能在没有在 DNS 服务器中定义该区域的情况下在区域中创建记录;关键是将该记录视为较低级别的区域:
- 创建一个区在您的内部 DNS 中称为“superwebsite.mycorp.com”。
- 在其中创建一个空的“A”记录,指向您服务器的内部 IP 地址。
空记录将与其所在的区域匹配,因此它将匹配“superwebsite.mycorp.com”的查询;您的 DNS 服务器会将其视为一个区域,但它实际上的行为就像标准 A 记录。