【问题标题】:AWS VPC Cannot delete routing rule to inexistent IP rangeAWS VPC 无法删除到不存在 IP 范围的路由规则
【发布时间】:2020-09-09 11:43:24
【问题描述】:

我整个上午都在研究这个问题,但它似乎超出了我对 AWS VPC 的了解。

我们有一个旧的 AWS 账户,其中包含一系列 VPC。这些是多年前创建的。我担心的 VPC 很容易有 6 年的历史,如果不是更老的话。现有的 VPC 有:

eu-west-1(爱尔兰)

  • I1:172.31.0.0/16
  • I2:172.102.0.0/16
  • I3:172.201.0.0/16
  • I4:192.168.96.0/20

us-west-2(俄勒冈州)

  • O1:192.168.0.144/20

我正在使用的 VPC 是 I1:172.31.0.0/16

I1O1 是对等的。

好的,我现在有一个新帐户,我在俄勒冈州创建了一个新 VPC。就这样吧

  • NO1:10.1.0.0/20

我看过O1NO1。对等互连工作正常,路由表也可以。

当我凝视I1NO1 时,问题就出现了。

  • 创建对等连接很好。
  • NO1 路由表添加规则工作正常。

我担心的是:当我去修改I1 的路由表时,我看到了以下规则。

  • 172.31.0.0/16 local active(这是为此 VPC 设置的 IP 范围,应为预期)
  • 10.0.0.0/8localactive(这是我的问题)
  • 0.0.0.0/0inetactive
  • 其他一些现有规则...

我不明白10.0.0.0/8 规则。整个 IP 范围正在内部路由,并且:

  • 这不在 VPC 的 IP 范围内
  • 以防万一我遗漏了什么,我检查了我能找到的所有 VPC 和子网。该 IP 范围内没有任何内容。

当我去修改路由表时,172.31.0.0/1610.0.0.0/8 规则无法删除,所以我只能假设它们是默认创建的。

我的问题是,当 IP 范围“不存在”时,这条规则怎么可能是 active?为什么我不能删除这个?我从来没有见过这个范围被默认添加到路由表中,这可能是 AWS 很久以前就做过的事情吗?

我添加了一条规则 10.1.0.0/20 将流量路由到我的对等 VPC。我希望因为它更具体,它会正常工作。我这样想对吗?

【问题讨论】:

  • @Carlos Robles 我不相信您删除的细节是“轶事”。我没有创建 VPC,所以我没有比我提供的更多信息。我认为最好从一开始就澄清这一点,不要浪费任何人的时间。它们可能是在 6 年前创建的,这可能意味着当时的 VPC 有所不同。我相信这也与我的问题有关。
  • 我很高兴将其添加回来。我相信这个问题很大,所以删减内容有助于吸引更多读者。我现在再补充一下
  • 如果您无法解决此问题,可能值得向 AWS 提供支持票(并且可能利用开发人员或更高级别的支持计划)。
  • 是的,我认为这不会给我们带来任何实际问题,但我想知道为什么该规则存在以及为什么它不能被删除。在联系 AWS 支持之前,我将等待几天。我与他们的互动并不令人满意。

标签: amazon-web-services amazon-vpc routetable


【解决方案1】:

您为此 VPC 启用了 ClassicLink(VPC 和 EC2-Classic 之间的网络连接)。关闭它(当然,在确认您实际上并没有使用它之后),该路由将自行删除。

当您为 ClassicLink 启用 VPC 时,静态路由将添加到所有 VPC 路由表中,目标为 10.0.0.0/8,目标为 local。这允许 VPC 中的实例与随后链接到 VPC 的任何 EC2-Classic 实例之间进行通信。如果您将自定义路由表添加到启用了 ClassicLink 的 VPC,则会自动添加一个静态路由,其目的地为 10.0.0.0/8,目标为 local。当您为 VPC 禁用 ClassicLink 时,此路由会自动从所有 VPC 路由表中删除。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html

【讨论】:

  • 太好了,谢谢!我会调查的。完全有道理,因为一些实例和数据库是多年前创建的。其中一些已经使用了 5 或 6 年。
【解决方案2】:

由于对等互连,这条路线可以完美无缺。

  • 请注意,CIDR 范围 10.0.0.0/8 实际上包括 10.0.0.110.255.255.254

  • 您的 NO110.1.0.0/20 包括 IP 地址 10.1.0.110.1.15.254

  • 所以实际上10.1.0.0/2010.0.0.0/8 的内部

看起来 AWS 正在做的事情是在 I1 路由表中阻止您需要的范围以及更多范围,这可能是为了避免重叠或出于任何其他原因。但绝对10.1.0.0/2010.0.0.0/8

为了处理 IP 范围的问题,我使用了这个工具,它非常具有说明性 https://cidr.xyz/,它有助于了解 CIDR 范围的最小和最大 IP 以及可能有助于定义子网的不同 IP 总数。

【讨论】:

  • 是的,我明白了。但是,我看过的其他 VPC 都没有做到这一点。我需要手动添加路由规则。老实说,该规则并没有阻止“我需要的范围以及更多”……我使用的是 4096 个地址,该规则阻止了 16.7M。如果是这样的话,有点过头了......
  • 但你说的是不允许你删除它。它不能被删除,因为它包括对等范围。关于为什么这么大我不知道。但是删除它是不可能的。出于好奇,如果您尝试将范围缩小到精确或接近您需要的范围会发生什么?
  • 我们同意它包括对等互连范围,但在我添加对等互连之前,该规则就已经存在。现在我删除了它,它仍然存在。此外,与该 VPC 对等的其他 VPC 不包括该规则。检查屏幕截图。 I1:对等规则在我手动添加的第 4 行。默认情况下似乎添加了总括规则,以及该 VPC 的正确 CIDR。 O1:对等规则在我手动添加的第 3 行。唯一的默认规则是 VPC 的 CIDR。 imgur.com/a/c5Ug8qh
猜你喜欢
  • 1970-01-01
  • 2014-04-09
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 2021-05-15
相关资源
最近更新 更多