AWS VPC 对等和路由表
AWS VPC Peering and route tables
是否需要在发送和接收 VPCs/subnets 中启用路由 table 才能使流量流动?
我已经配置了 2 个我对等的 VPC,但希望流量仅沿一个方向从 VPC A 流向 VPC B。这可能吗?
我试过 VPC 和路由 tables 但必须在 VPC A 和 B 中配置路由 tables 以便它们可以通过 VPC 对等连接将流量路由到彼此.双向流量是唯一的解决方案还是只允许一个方向的流量?即只允许来自 VPC A 的请求,但允许 VPC B 返回 return 响应。
我最初的假设是支持流量的一种方式,所以我在 VPC A 中配置了路由 tables,以便流量可以通过 VPC 对等连接路由到 VPC B。然而,由于在 VPC B 中没有相应的路由,因此 ping 响应似乎无法找到返回 VPC A 的路由。
还有这方面的文档吗?我通读了 AWS 文档(包括路由 table 基础知识),但似乎找不到任何可以解决我的问题的内容。
您可以使用 NACL 来拒绝流量从一个流出到另一个。例如,VPC A 有一个 NACL 允许流出到 VPC B,VPC B 有一个 NACL 允许从 VPC A 流入。
文档:
To send traffic from your instance to an instance in a peer VPC using private IPv4 addresses, you must add a route to the route table that's associated with the subnet in which the instance resides.
...
The owner of the other VPC in the peering connection must also add a route to their subnet's route table to direct traffic back to your VPC.
http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-routing.html
路由表不仅仅告诉我网络上的实例如何启动 到您的连接。当您尝试与我建立联系时,它们还会告诉我的实例如何回复 给您。另一侧也是如此。两个方向都需要路由,至少对于 TCP 和 ICMP。 UDP 可能在没有路由对称的情况下工作,但这仍然是错误的,因为传入的 UDP 消息可以触发 ICMP 响应,因此对称路由仍然是正确的,即使在某些情况下它不是严格强制的。
Ryan Harris 的回复非常重要。 TCP/IP 是双向的——数据包必须双向流动。因此,必须配置 RouteTables 和 NACLs 以允许来自两个 VPC(或子网)的访问。
我认为关于这一点的大量混淆源于所有消费级路由器都使用 NAT 并在 "allowing" 特定 port/application 时自动生成互惠规则。
如果您担心单向流量,只需通过 安全组 阻止您不想接收流量的实例周围的那一侧。
- 但是,是的,需要将路由添加到两个 VPC 的路由表中。
干杯!
约瑟夫·P.
不,我们必须在两侧设置路由表才能使 VPC 对等工作。但是除了 VPC 对等,我们可以使用另一种方法让节点不可访问,就像 Joseph 所说的那样,使用安全组。
是否需要在发送和接收 VPCs/subnets 中启用路由 table 才能使流量流动?
我已经配置了 2 个我对等的 VPC,但希望流量仅沿一个方向从 VPC A 流向 VPC B。这可能吗?
我试过 VPC 和路由 tables 但必须在 VPC A 和 B 中配置路由 tables 以便它们可以通过 VPC 对等连接将流量路由到彼此.双向流量是唯一的解决方案还是只允许一个方向的流量?即只允许来自 VPC A 的请求,但允许 VPC B 返回 return 响应。
我最初的假设是支持流量的一种方式,所以我在 VPC A 中配置了路由 tables,以便流量可以通过 VPC 对等连接路由到 VPC B。然而,由于在 VPC B 中没有相应的路由,因此 ping 响应似乎无法找到返回 VPC A 的路由。
还有这方面的文档吗?我通读了 AWS 文档(包括路由 table 基础知识),但似乎找不到任何可以解决我的问题的内容。
您可以使用 NACL 来拒绝流量从一个流出到另一个。例如,VPC A 有一个 NACL 允许流出到 VPC B,VPC B 有一个 NACL 允许从 VPC A 流入。
文档:
To send traffic from your instance to an instance in a peer VPC using private IPv4 addresses, you must add a route to the route table that's associated with the subnet in which the instance resides.
...
The owner of the other VPC in the peering connection must also add a route to their subnet's route table to direct traffic back to your VPC.
http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-routing.html
路由表不仅仅告诉我网络上的实例如何启动 到您的连接。当您尝试与我建立联系时,它们还会告诉我的实例如何回复 给您。另一侧也是如此。两个方向都需要路由,至少对于 TCP 和 ICMP。 UDP 可能在没有路由对称的情况下工作,但这仍然是错误的,因为传入的 UDP 消息可以触发 ICMP 响应,因此对称路由仍然是正确的,即使在某些情况下它不是严格强制的。
Ryan Harris 的回复非常重要。 TCP/IP 是双向的——数据包必须双向流动。因此,必须配置 RouteTables 和 NACLs 以允许来自两个 VPC(或子网)的访问。
我认为关于这一点的大量混淆源于所有消费级路由器都使用 NAT 并在 "allowing" 特定 port/application 时自动生成互惠规则。
如果您担心单向流量,只需通过 安全组 阻止您不想接收流量的实例周围的那一侧。
- 但是,是的,需要将路由添加到两个 VPC 的路由表中。
干杯!
约瑟夫·P.
不,我们必须在两侧设置路由表才能使 VPC 对等工作。但是除了 VPC 对等,我们可以使用另一种方法让节点不可访问,就像 Joseph 所说的那样,使用安全组。