Internet 子域 A 记录是否可以指向内部 IP,这样做也是一种好习惯吗?

bes*_*est 3 networking domain-name-system

我们将很快运行一项工作,我们希望用户连接到基于 Internet 的服务器,但由于网络链接速度较慢,在现场时连接到本地服务器。我们将成为现场的分包商,基础设施将由主要客户提供。

我们希望我们的应用程序首先尝试连接到本地服务器,如果它失败或找不到它,则在 Internet 上尝试全局服务器。我正在考虑使用我们的域注册商为每个服务器 localproject.domain.com 和 project.domain.com 创建一个项目子域,而不是开发人员必须在应用程序配置中使用原始 IP 地址。

我很高兴为 project.domain.com 提供 Web 服务器的公共 Internet IP,但是我可以提供 localproject.domain.com 和内部 192.168.xx 地址吗?

至于最佳实践,我是否应该要求客户端将 localproject.domain.com 的 DNS 条目添加到他们基于 LAN 的 DNS 中,我们将搭载它,而不必前往基于 Internet 的 DNS 服务器?

Nex*_*ex7 5

您不会是第一个将 DNS 记录指向公共域上的内部 IP 空间的人。我对这个问题的理解基本上是三个问题:

1)您以某种方式暴露了实体的内部运作。您正在向任何想要知道主机名和它所关联的内部 IP 地址的人提供服务,这可能使他们能够推断出有关该公司网络/设置的内部结构的任意数量的信息。这可能是最小的或可以减轻的风险。

2) 任何试图访问该地址的人都将尝试访问该本地 IP,即使它们不是内部 IP——对于随机的外部用户和远程站点上设置无效的实际客户用户来说,这都是一个潜在的混淆点(没有 VPN,不在公司网络上,等等),这可能会导致额外的 IT 工作负载。

3) 与#2 有点一致——如果有人试图在不在公司站点时访问“local.domain.com”,并且它解析的 IP 是他们实际所在网络上的有效 IP,该怎么办?如果服务器做坏事怎么办?引入了安全风险,但同样,有一些方法可以减轻这种风险(例如应用程序具有自己的身份验证和安全机制来实现这样的事情)。

如果以上 3 个问题并不过分关注,或者您愿意努力减轻它们,我认为这不是一个特别糟糕的方法。让应用程序首先尝试“local.domain.com”,如果它不能解析或无法连接,请尝试“.domain.com”似乎是处理应用程序应该将其发送到公共服务器的想法的明智方法如果私人的不起作用。