我整个上午都在研究这个问题,但它似乎超出了我对AWS VPC的了解。
我们有和旧的AWS账户,里面有一系列的VPC。这些都是多年前创建的。我所关心的VPC可以很容易地6岁,如果不是更老。现有的VPC是。
eu-west-1
(爱尔兰)
172.31.0.0/16
172.102.0.0/16
172.201.0.0/16
192.168.96.0/20
us-west-2
(俄勒冈州)
192.168.0.144/20
我正在使用的VPC是 I1: 172.31.0.0/16
.
I1
和 O1
是同行。
对了,我现在有一个新的账户,我在俄勒冈州创建了一个新的VPC。 让我们称它为
10.1.0.0/20
我已经看了 O1
和 NO1
. Peering工作正常,路由表也是如此。
问题是,当我对接 I1
和 NO1
.
NO1
路由表工作正常。我担心的是:当我去修改路由表的 I1
我看到以下规则。
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范围在内部路由和。
当我去修改路由表的时候 172.31.0.0/16
和 10.0.0.0/8
规则不能被删除,所以我只能认为它们是默认创建的。
我的问题是,这个规则如何才能被 active
当IP范围为 "不存在 "时?为什么我不能删除这个?我从来没有见过这个范围被默认添加到路由表中,这也许是AWS在很久以前做的事情吗?
我已经添加了一个规则 10.1.0.0/20
将流量路由到我的对等VPC。我希望既然是比较特殊的,就可以正常工作。我这样想对吗?
你为这个VPC启用了ClassicLink(VPC和EC2-Classic之间的网络连接)。 关闭它(当然是在验证您没有实际使用它之后),该路由就会自行删除。
当您为ClassicLink启用一个VPC时,一个静态路由会被添加到所有的VPC路由表中,其目的地为
10.0.0.0/8
和一个目标local
. 这允许在VPC中的实例和任何EC2-Classic实例之间进行通信,这些实例随后被链接到VPC。如果您将自定义路由表添加到启用 ClassicLink 的 VPC 中,则会自动添加一条静态路由,其目标为10.0.0.0/8
和一个目标local
. 当你禁用一个VPC的ClassicLink时,这个路由会在所有VPC路由表中自动删除。https:/docs.aws.amazon.comAWSEC2latestUserGuidevpc-classiclink.html。
因为对等关系,这个路由可以完美的。
请注意,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
路由表,也许是为了避免重叠或其他原因。但绝对是 10.1.0.0/20
是在 10.0.0.0/8
为了处理IP范围这件事,我使用了这个工具,它很形象地说明了这一点 https:/cidr.xyz它有助于理解CIDR范围内的最小和最大IP以及可能的不同IP总数,这也有助于定义子网。