【问题标题】:Allowing Amazon VPC A to get to a new private subnet on VPC B?允许 Amazon VPC A 访问 VPC B 上的新私有子网?
【发布时间】:2018-02-11 14:11:49
【问题描述】:

我有一个现有的 VPC (vpcA),最近设置了一个新的 VPC (vpcB),其中包含私有子网 (privateSubnet) 和公共子网 (publicSubnet)。我想允许从vpcAvpcB 的连接。

vpcB 设置了堡垒服务器以允许来自publicSubnetprivateSubnet 的 ssh - 这有效,所以我知道 ssh 设置正确......所以开始我想我会尝试允许来自 @ 的 ssh 连接987654331@ 到privateSubnet vpcB

我已设置对等连接,并已按照亚马逊故障排除指南resolving VPC peer network connectivity issues 中的所有说明进行操作。连接处于活动状态,我设置了从vpcA 到将10.0.1.0/24 路由到专用网络(专用地址为10.0.1.10)的路由,ACL 策略似乎允许端口 22 上的所有流量(目前),以及安全性组允许访问端口 22(现在再次)。当前实例本身没有配置防火墙规则,但是当我尝试从vpcA 上的实例通过 ssh 连接时,我得到的是:

$ ssh -vvv 10.0.1.10
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.1.10 [10.0.1.10] port 22.
debug2: fd 3 setting O_NONBLOCK
debug1: connect to address 10.0.1.10 port 22: Connection timed out
ssh: connect to host 10.0.1.10 port 22: Connection timed out

traceroute 给了我这个:

traceroute to 10.0.1.10 (10.0.1.10), 30 hops max, 60 byte packets
1  * * *
2  * * *
... [same up to 30]

vpcB 上的publicSubnet 堡垒服务器到privateSubnetvpcB 的ssh 工作正常,所以我知道ssh 本身正在处理实例本身。但显然流量没有通过 VPC 对等连接。

我意识到故障排除可能需要比我目前提供的更多详细信息,但有没有人有这个设置?关于下一步看哪里或我可以提供哪些配置以提示我们问题所在的任何建议?

谢谢!

【问题讨论】:

  • 您的 VPCA 和 VPCB 的 CIDR 是什么?
  • vpcA CIDR = 172.31.0.0/16,vpcB CIDR = 10.0.0.0/16

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


【解决方案1】:

您的traceroute 输出表明,没有路由转发您的请求。

  • 确保 vpcA 和 vpcB 的 CIDR 不重叠
  • 检查 vpcA 中私有子网和公有子网的路由表是否有用于将流量路由到 vpcB 的条目。
  • 有一个单独的公用路由表和专用路由表。
  • 路由 10.0.1.0/24 的目标应该是 VPC 对等连接 - 以 pcx- 开头
  • VPC 对等连接是否已获批准并处于活动状态?
  • 如果不起作用,请发布子网路由表的屏幕截图

【讨论】:

    【解决方案2】:

    helloV 提到的所有事情都需要涵盖,因为这里有很多事情可能会出错。但是,我的具体情况是,我有从 vpcA 路由到 vpcB 的条目,但没有从 vpcB 到 vpcA 的返回流量的路由。

    Amazon documentation on routing tables for VPC Peering 在这句话中暗示了这种需求:

    要在 VPC 对等连接中启用 VPC 之间的流量路由,您必须将路由添加到指向 VPC 对等连接的一个或多个 VPC 路由表,以访问另一个的全部或部分 CIDR 块对等连接中的 VPC。同样,其他 VPC 的所有者必须将路由添加到其 VPC 路由表,以将流量路由回您的 VPC。

    这里的最后一句话是关键 - 提到的例子突出了这个问题。老实说,我最初对此有点困惑,但this explanation which refers to overlapping CIDR blocks in routes 也阐明了为什么需要这条路线:

    AWS 目前不支持在 VPC 对等连接中进行单播反向路径转发,以检查数据包的源 IP 并将回复数据包路由回源。

    所以总的来说follow this advice 和helloV 帖子中的建议。但请记住,这些路由需要在相关子网之间是双向的,这样您才能让数据包双向流动。

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 2014-04-27
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多