为什么我无法在 AWS Route 53 中为基于 IP 的路由设置 /32 CIDR 块

为什么我无法在 AWS Route 53 中为基于 IP 的路由设置 /32 CIDR 块

请考虑以下简单场景:

NAT 设置

我有一个办公网络,其中有一台服务器提供某些服务,例如通过 HTTPS。我希望能够使用名称访问此服务器service.example.com,并且我希望它既可以在办公网络内部工作,也可以通过互联网工作。

为此,我在 Internet 端有一个具有静态 IP 的路由器,并且我将其设置为将 TCP 端口 443 重定向到内部服务器。

我希望以某种方式配置 DNS,以便查询service.example.com返回:

  • 10.0.0.2(内部 IP)从办公室网络内部查询时
  • 123.45.67.89(外部 IP)从办公室网络外部查询时

我已经使用 Amazon Route 53 满足我的所有 DNS 需求,并且我发现了一项新功能基于 IP 的路由,这样我就可以创建多个 DNS 记录,这些记录会根据查询 IP 动态返回。因此,原则上,我应该按如下方式设置 DNS 记录:

  • service.example.com10.0.0.2当查询时返回123.45.67.89
  • service.example.com123.45.67.89从其他地方查询时返回

但是,Route 53 不允许我设置单独的 IP 地址。相反,我必须注册 CIDR 块,而 CIDR 块的掩码最多为/24。因此,我无法设置单独的 IP 地址(带/32掩码)。

这有什么原因吗?我是不是看错了?我想到的一些替代解决方案是:

  • 记下所有内部 PC 的手动路由/etc/hosts。但是,我希望这可以在有时在内部网络上,有时在外部网络上的笔记本电脑上工作。我认为要求用户/etc/hosts每次将笔记本电脑带回家时都更改路由是不合理的。
  • 为此,在我的网络内设置一个 DNS 服务器。我认为这对于这个用例来说是一个非常繁重的操作——我不想在办公室网络内设置一个服务器来处理每个 DNS 查询,因为到这个内部服务器的流量很少。
  • 停止使用 NAT,并获取一整块/24静态 IP。我认为这对我的需求来说有点过分了。
  • 使用 IPv6,因为 IPv6 在任何地方都可访问,所以不存在这个问题。我现在就是这么做的,但很多人的家庭网络仍然没有 IPv6,所以没有 IPv6 的人根本无法使用该服务。

设置它的正确方法是什么?

相关内容