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

标签 amazon-web-services amazon-ec2 amazon-vpc

在 AWS VPC 中,您创建的每个路由表都带有默认路由(本地路由 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 ​​的所有连接

我的问题是:

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

最佳答案

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

从本质上讲,该图显示的是:

VPC Description

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

Network Interfaces

关于amazon-web-services - AWS VPC 路由表 -- 删除默认路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234857/

相关文章:

amazon-web-services - 降低 AWS EC2 的日志轮换频率

使用 Nginx 和 Docker 的 Node.JS 代理

apache - 如何指向 Amazon EC2 实例的本地主机?

ubuntu - 无法使用 CodeDeploy 部署代码

amazon-web-services - AWS 系统管理器启动 session : An error occurred (TargetNotConnected) when calling the StartSession operation: <instance_id> is not connected

amazon-web-services - 如何为在 EC2 模式下运行在 AWS ECS 集群中的容器分配公共(public) IP

mysql - 如果数据库子网组同时包含公共(public)/私有(private)子网,则 RDS 实例部署在哪个 AZ

amazon-web-services - 了解 Kubernetes 集群扩展

php - 如何将我的 PHP 文件放在 EC2 - dreamweaver/FTP/SSH 上的 Linux AMI 上?

amazon-web-services - S3 到 Redshift 输入数据格式