为什么我无法通过 VPC 对等连接与另一个账户中的 VPC 进行通信?

为什么我无法通过 VPC 对等连接与另一个账户中的 VPC 进行通信?

我有两个亚马逊 AWS 账户,一个付费账户,用于托管公共网络服务器(称为“有薪酬的” ),以及一个免费层级帐户(称为“自由的”)。每个账户都有几个在自己的 VPC 中运行 Amazon Linux 的 EC2 实例,每个实例都有一个子网,彼此之间没有重叠。我希望能够在账户之间轻松传输文件,包括访问 git 裸存储库有薪酬的自由的。因此,我阅读了有关 VPC 对等连接的信息,并且我相信我正确地遵循了指南,创建并接受 VPC 之间的对等连接,然后修改安全组,并在每个 VPC 中设置路由以访问另一个 VPC 中的子网。

以下是有薪酬的帐户:

私有云平台: 付费 VPC

对等连接和路由: 付费对等连接和路由

安全组: 付费安全组

以下是自由的帐户:

私有云平台: 免费 VPC

对等连接和路由: 免费对等连接和路由

安全组: 免费安全组

我发现,从一个例子来看有薪酬的帐户,我可以在免费帐户中成功 ping 一个实例:

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP qlen 1000
    inet 10.0.0.12/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
$ ping 172.31.30.44
PING 172.31.30.44 (172.31.30.44) 56(84) bytes of data.
64 bytes from 172.31.30.44: icmp_seq=1 ttl=255 time=0.722 ms

但我无法从自由的帐户有薪酬的帐户:

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    inet 172.31.30.44/20 brd 172.31.31.255 scope global dynamic eth0
       valid_lft 3259sec preferred_lft 3259sec
$ ping 10.0.0.12
PING 10.0.0.12 (10.0.0.12) 56(84) bytes of data.
^C
--- 10.0.0.12 ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13308ms

有人能解释为什么这个配置不允许我 ping 主机有薪酬的来自主机的帐户自由的帐户?

我是否需要提供更多信息(如果需要,提供什么)?

答案1

在评论中这个答案关于网络 ACL 的一个不相关问题有薪酬的帐户的 VPC,我提到我已经用 Linux iptables 命令替换了 AWS 网络 ACL 的使用。十年前设置它时,我没想到会与我自己子网之外的任何私有地址进行通信。所以我放弃了来自 172.16.0.0/12 的入站连接。这就是为什么我能够访问自由的有薪酬的,但反之则不行。删除该 iptables 块即可解决问题。

多么尴尬!

相关内容