AWS VPC-无法从专用子网中的堡垒主机SSH到另一个子网中同一VPC中的EC2实例

问题描述 投票:0回答:1

我希望有人可以帮助我解决以下问题。我已经尝试过搜索,但是找不到解决我问题的好方法。

我有VPC 10.0.0.0/16

在VPC中,我将其分为专用和公用子网。每个可用区有1个私有子网和1个公共子网。

所以我的子网如下:AZ us-east-2a10.0.1.0/24-私人10.0.2.0/24-公开

AZ us-east-2b10.0.3.0/24-私人10.0.4.0/24-公开

AZ us-east-2c10.0.5.0/24-私人10.0.6.0/24-公开

所有这些都是为了冗余。但是目前,我仅在us-east-2a中安装了堡垒进行了测试,并且我希望它应该能够插入该VPC中的所有其他ec2实例中,但是这没有发生,这就是我面临的问题。

我的堡垒主机在我创建的公共子网中的us-east-2a中。我可以从我的本地计算机成功地将其切入。

如果我尝试将其与堡垒主机一起放入同一子网中的ec2实例,则它可以工作,但是对于不同子网中的任何其他主机,即使所有这些都在一个VPC中,也无法使用。

出于测试目的,我尝试从该堡垒攻入的ec2-instances的安全组已完全打开(一旦找出问题,我将对此进行锁定:]

基本上,我允许所有端口上的所有tcp通信进入。

就我的NACL而言-我有一个用于公用网络的NACL(并已将我的公共子网与之关联)和一个用于我的专用网络的NACL(并已将我的专用子网与之关联了。)

从我的公共nacl传出的流量允许所有tcp流量0-65535

此时,入站专用NACL允许所有流量和相同的出站。同样,我会对此进行加强,但是当我在解决此问题时,我放宽了这些规则,以确保那里没有问题。

我分别在公共和私有子网中附加了公共和私有路由表。

[公共路由表具有到我的IG的目标路由0.0.0.0/0,并且还具有10.0.0.0/16本地路由,应该允许访问子网中的任何主机。

专用路由表具有到本地接口的10.0.0.0/16路由以及到NAT网关的所有其他流量(0.0.0.0/0)。

It just hangs here and eventually there is a timeout.
[root@ip-10-0-2-177 ec2-user]# ssh [email protected]
ssh: connect to host 10.0.1.242 port 22: Connection timed out
[root@ip-10-0-2-177 ec2-user]# ssh -vvvv [email protected]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug2: resolving "10.0.1.242" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 10.0.1.242 [10.0.1.242] port 22.
debug1: connect to address 10.0.1.242 port 22: Connection timed out
ssh: connect to host 10.0.1.242 port 22: Connection timed out

I can ping this server though:
[root@ip-10-0-2-177 ec2-user]# ping 10.0.1.242
PING 10.0.1.242 (10.0.1.242) 56(84) bytes of data.
64 bytes from 10.0.1.242: icmp_seq=1 ttl=255 time=0.403 ms
64 bytes from 10.0.1.242: icmp_seq=2 ttl=255 time=0.461 ms
64 bytes from 10.0.1.242: icmp_seq=3 ttl=255 time=0.479 ms
64 bytes from 10.0.1.242: icmp_seq=4 ttl=255 time=0.439 ms
^C
--- 10.0.1.242 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3061ms
rtt min/avg/max/mdev = 0.403/0.445/0.479/0.035 ms

任何帮助都将不胜感激,因为我已经查看了所有可以想到的内容,并且不确定问题出在哪里。

amazon-web-services ssh routing amazon-vpc subnet
1个回答
1
投票

您可以对实例执行ping操作,但无法对其执行SSH操作,这意味着您的路由表和常规网络设置正确。

那离开:

  • 安全组
  • NACL

由于您的安全组是“完全开放的”,因此无法区分流量类型(例如SSH与Ping)。因此,这不太可能成为问题。

通常,除非您有非常特定的需求(例如,创建DMZ),否则应让NACL保留其默认值为“全部允许”。

此外,NACL仅适用于进入/退出子网的流量。鉴于同一子网中的目标实例正在运行,而其他子网中的实例却无法运行,它再次将您的NACL指出为问题的原因。

建议:将NACL恢复为正常的默认设置。

© www.soinside.com 2019 - 2024. All rights reserved.