AWS VPC 无法删除到不存在的 IP 范围的路由规则
AWS VPC Cannot delete routing rule to inexistent IP range
我整个上午都在研究这个问题,但它似乎超出了我对 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
.
I1
和 O1
是对等的。
好的,我现在有一个新帐户,我在俄勒冈州创建了一个新的 VPC。让我们称之为
- NO1:
10.1.0.0/20
我看过 O1
和 NO1
。对等互连工作正常,路由 tables 也是如此。
当我查看 I1
和 NO1
时出现问题。
- 创建对等连接没问题。
- 将规则添加到
NO1
路由 table 工作正常。
我担心的是:当我为 I1
修改路由 table 时,我看到以下规则。
172.31.0.0/16
local
active
(这是为这个 VPC 设置的 IP 范围,预期)
10.0.0.0/8
local
active
(这是我的问题)
0.0.0.0/0
inet
active
- 其他一些现有规则...
我不明白 10.0.0.0/8
规则。完整的 IP 范围正在内部路由并且:
- 不在VPC的IP范围内
- 以防万一我遗漏了什么,我检查了我能找到的所有 VPC 和子网。该 IP 范围内没有任何内容。
当我去修改路由table时,无法删除172.31.0.0/16
和10.0.0.0/8
规则,所以我只能假设它们是默认创建的。
我的问题是,当 IP 范围是 "non-existent" 时,这个规则怎么会是 active
?为什么我不能删除这个?我从未见过这个范围被默认添加到路由 table,这可能是 AWS 很久以前做的事情吗?
我添加了规则 10.1.0.0/20
将流量路由到我的对等 VPC。我希望因为它更具体,所以它能正常工作。我这样想对吗?
由于对等,这条路线可以完美。
请注意,CIDR 范围 10.0.0.0/8
实际上包括 10.0.0.1
到 10.255.255.254
您的 NO1
、10.1.0.0/20
包括 IP 10.1.0.1
到 10.1.15.254
所以实际上 10.1.0.0/20
在 10.0.0.0/8
里面
看起来 AWS 正在做的事情是在 I1
路线 table 中阻止您需要的范围以及更多范围,可能是为了避免重叠或出于任何其他原因。但肯定 10.1.0.0/20
在 10.0.0.0/8
里面
为了处理 IP 范围这个问题,我使用了这个非常具有说明性的工具 https://cidr.xyz/,它有助于理解 CIDR 范围的最小和最大 IP 以及可能的不同 IP 总数,这有助于理解还定义子网。
您为此 VPC 启用了 ClassicLink(VPC 和 EC2-Classic 之间的网络连接)。将其关闭(当然,在确认您实际上没有使用它之后),该路由将自行删除。
When you enable a VPC for ClassicLink, a static route is added to all of the VPC route tables with a destination of 10.0.0.0/8
and a target of local
. This allows communication between instances in the VPC and any EC2-Classic instances that are then linked to the VPC. If you add a custom route table to a ClassicLink-enabled VPC, a static route is automatically added with a destination of 10.0.0.0/8
and a target of local
. When you disable ClassicLink for a VPC, this route is automatically deleted in all of the VPC route tables.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
我整个上午都在研究这个问题,但它似乎超出了我对 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
.
I1
和 O1
是对等的。
好的,我现在有一个新帐户,我在俄勒冈州创建了一个新的 VPC。让我们称之为
- NO1:
10.1.0.0/20
我看过 O1
和 NO1
。对等互连工作正常,路由 tables 也是如此。
当我查看 I1
和 NO1
时出现问题。
- 创建对等连接没问题。
- 将规则添加到
NO1
路由 table 工作正常。
我担心的是:当我为 I1
修改路由 table 时,我看到以下规则。
172.31.0.0/16
local
active
(这是为这个 VPC 设置的 IP 范围,预期)10.0.0.0/8
local
active
(这是我的问题)0.0.0.0/0
inet
active
- 其他一些现有规则...
我不明白 10.0.0.0/8
规则。完整的 IP 范围正在内部路由并且:
- 不在VPC的IP范围内
- 以防万一我遗漏了什么,我检查了我能找到的所有 VPC 和子网。该 IP 范围内没有任何内容。
当我去修改路由table时,无法删除172.31.0.0/16
和10.0.0.0/8
规则,所以我只能假设它们是默认创建的。
我的问题是,当 IP 范围是 "non-existent" 时,这个规则怎么会是 active
?为什么我不能删除这个?我从未见过这个范围被默认添加到路由 table,这可能是 AWS 很久以前做的事情吗?
我添加了规则 10.1.0.0/20
将流量路由到我的对等 VPC。我希望因为它更具体,所以它能正常工作。我这样想对吗?
由于对等,这条路线可以完美。
请注意,CIDR 范围
10.0.0.0/8
实际上包括10.0.0.1
到10.255.255.254
您的
NO1
、10.1.0.0/20
包括 IP10.1.0.1
到10.1.15.254
所以实际上
10.1.0.0/20
在10.0.0.0/8
里面
看起来 AWS 正在做的事情是在 I1
路线 table 中阻止您需要的范围以及更多范围,可能是为了避免重叠或出于任何其他原因。但肯定 10.1.0.0/20
在 10.0.0.0/8
为了处理 IP 范围这个问题,我使用了这个非常具有说明性的工具 https://cidr.xyz/,它有助于理解 CIDR 范围的最小和最大 IP 以及可能的不同 IP 总数,这有助于理解还定义子网。
您为此 VPC 启用了 ClassicLink(VPC 和 EC2-Classic 之间的网络连接)。将其关闭(当然,在确认您实际上没有使用它之后),该路由将自行删除。
When you enable a VPC for ClassicLink, a static route is added to all of the VPC route tables with a destination of
10.0.0.0/8
and a target oflocal
. This allows communication between instances in the VPC and any EC2-Classic instances that are then linked to the VPC. If you add a custom route table to a ClassicLink-enabled VPC, a static route is automatically added with a destination of10.0.0.0/8
and a target oflocal
. When you disable ClassicLink for a VPC, this route is automatically deleted in all of the VPC route tables.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html