我想知道是否可以对具有私有 IP 和公共 IP 的主机使用相同的域名,如果私有 IP 不可用,则将解析公共 IP。
在非 AWS 环境中,在 DNS 中是否可以执行以下所有操作:
- 在内部(内联网)查询时,从名为 my.test.com 的私有区域(test.com)记录返回内部 IP
- 如果上面未找到记录 - 在内部(内部网)查询时,从名为 my.test.com 的公共区域(test.com)记录返回外部 IP。这不用于故障转移/故障检测。
- 当外部(互联网)查询时,从名为 my.test.com 的公共区域记录返回外部 IP
这在 route53/aws 中是可能的,但是如何在非 aws 环境中做到这一点?如果可以,该怎么做?特别是步骤 #2。
答案1
DNS 服务器能够提供不同的 DNS 信息集,这是相当常见的功能,通常由 DNS 请求的源地址选择。这通常称为https://en.wikipedia.org/wiki/Split-horizon_DNS当范围是内部查询还是外部查询时,https://en.wikipedia.org/wiki/GeoDNS或者当(许多)不同的范围必须各自获取不同的 DNS 信息时,也存在类似的解决方案。
故障检测不是 DNS 的原生功能。
但是,作为(全局)负载平衡和故障转移策略,对服务进行(失败的)健康检查触发对 DNS 记录的更新是相当常见的。这既不是 AWS 服务发明的,也不是 AWS 服务独有的。您会发现围绕(专有)解决方案构建的自定义解决方案(例如 F5 BIG-IP DNS)或更传统的监控脚本,这些脚本在触发警报时使用 DNS 服务器 API。