【发布时间】:2021-08-24 21:43:48
【问题描述】:
问题定义:- 我有两个 EC2 实例,一个在公共子网中,另一个在私有子网中。现在我可以从公共子网实例 RDP 到私有实例,但即使在添加了“ICMP”之类的规则后也无法 ping 它。但是 PING 的工作方式相反,即我能够从私有实例 ping 公共实例。我将尝试解释如下:-
-
我在公共子网中创建了一个 EC2 实例,让我们将此 EC2 实例命名为 BASTION HOST,并且我在安全的入站请求中允许来自“所有”(互联网 - 0.0.0.0/0)的 RDP 和 PING (ICMP)附加到 EC2 的组 (SG1)。此 EC2 正在按预期工作,例如,我可以使用来自 Internet 的公共 IP 地址 ping 或 RDP 到此实例。
-
接下来我在私有子网中创建了另一个 EC2 实例,我们称之为 EC2SQL1。我要求我能够将 BASTION ping 通到 EC2SQL1,反之亦然。但这并没有发生,我可以从 EC2SQL1 ping 到 BASTION,但不能反过来,即使我在安全组的入站请求中添加了 ICMP、“所有流量”规则(也是 RDP 规则)(我们称之为 SG2与 EC2SQL1 相关联)。我尝试将 SG1 作为源并尝试使用 VPC 的 CIDR 范围。奇怪的是,从堡垒到 EC2SQL1 的 RDP 正在工作,但是无论添加什么规则,ping 请求都会失败,任何 telnet 到 TCP 端口也是如此。那么我在这里缺少什么?
(B) 然而,两个实例都使用相同的 NACL:
(C) 与 EC2SQL01 关联的安全组规则如下,尽管我的 TCP、telnet、PING 不起作用,但 RDP 起作用(或 telnet 到 RPD 端口也起作用):-
在我绝望的情况下,我添加了这么多入站规则,但似乎没有任何工作可以允许从 BASTION 主机到 EC2SQL01 的 TCP 端口的 ping 或 telnet,是的,我正在使用 Ping 或 telnet 或 BASTION 的 RDP 的私有 IP从 VPC 到 EC2SQL01 或反之亦然。
(D) 两个安全组的出站规则如下所示,表明一切都被允许:-
非常感谢任何建议
【问题讨论】:
-
Windows 防火墙默认阻止 ICMP。您是否允许 ICMP 通过堡垒的 Windows 防火墙但不允许在 SQL 主机上?
-
为什么要使用 PING?那只会证明 PING 有效。通常最好尝试让您想要工作的东西(例如 SSH)而不是其他东西。
-
你需要
Echo Request,而不是Echo reply -
谢谢你,Marcin,我也尝试过回显请求,但这也不起作用。我的私有子网的路由表中没有 NAT 网关关联,这可能会让我的生活变得困难。
-
谢谢你,John,我打开 TCP all 和 UDP all 来测试从 Bastion 到我的 SQL 服务器正在侦听的 EC2SQL1 的 TCP 端口的 telnet,但即使这样也不起作用。奇怪的是,如果我使用 RDP 端口 3389,telnet 就会通过。
标签: amazon-web-services amazon-ec2 ping