Amazon web services AWS VPC路由表--删除默认路由

Amazon web services AWS VPC路由表--删除默认路由,amazon-web-services,amazon-ec2,amazon-vpc,Amazon Web Services,Amazon Ec2,Amazon Vpc,在AWS VPC中,您创建的每个路由表都带有一个defualt(本地路由10.0.0.0/16),当我希望我的EC2实例有另一个EC2实例作为默认网关时,这会导致一些问题 例如,如果您有两个EC2入口,即A(在子网10.0.30.0/24中)和B(在子网10.0.40.0/24中),并且如果您将A设置为B的默认网关,则来自B的所有数据包都不会通过A发送,而是通过10.0.40.1发送 我甚至尝试创建一个新的路由表,并添加一个类似于:0.0.0.0/0通过a的NIC进行路由,即使这样也不会通过a路

在AWS VPC中,您创建的每个路由表都带有一个defualt(本地路由10.0.0.0/16),当我希望我的EC2实例有另一个EC2实例作为默认网关时,这会导致一些问题

例如,如果您有两个EC2入口,即A(在子网10.0.30.0/24中)和B(在子网10.0.40.0/24中),并且如果您将A设置为B的默认网关,则来自B的所有数据包都不会通过A发送,而是通过10.0.40.1发送

我甚至尝试创建一个新的路由表,并添加一个类似于:0.0.0.0/0通过a的NIC进行路由,即使这样也不会通过a路由流量

如果我在B上删除到10.0.40.1的路由,那么我将失去与B的所有连接

我的问题是:

  • 如何确保来自B的所有数据包始终通过A发送
  • 是否可以删除10.0.0.0/16本地路由
  • 我还能做什么来做我想做的

  • 嗯。在这种情况下,
    A
    如果要通过它转发数据包,还需要在10.0.40.0/24中有一个接口
    A
    B
    位于不同的段中,这使得其中一个无法在IP级别到达另一个(数据包通过默认情况下不受控制的路由器)

    从本质上讲,此图显示:

    我相信您可以通过在VPC子网10.0.40.0/24中创建网络接口,然后将其连接到
    a
    中的实例来创建此连接:


    10.0.40.1是一个虚拟设备,将所有与Internet绑定的流量转发到您配置为子网默认路由的实例。VPC就是这样做的。您所说的是专有网络内其他实例的流量限制,而不是互联网流量吗?如果是,为什么要这样做?@Michael sqlbot Yes VPC内的其他实例;我的意思是,来自B的所有流量,无论其目的地在哪里,都必须通过A,这意味着如果B尝试与另一个设备通信,比如说C(在同一VPC内)即使是我想要通过A的流量。为了做到这一点,我创建了一个新的路由表,并创建了一个表示0.0.0.0/0通过A的NIC的路由,但我没有看到B和C之间的任何流量通过A,而是以某种方式直接传递到C。我不想成为B网络的一部分。我想要实现的是有三个不同的子网,比如a、b和c,每个子网分别有设备a、b和c。我希望A充当B和C(实际上是B和C子网中的任何设备)之间的中间人。在我的例子中,A是一个我正在试验的虚拟设备,AWS路由让我很困难。因此中间人需要在
    A
    B
    中都有接口。如果您正在使用linux,请确保打开转发。