AWS VPC 端点后面的 IIS FTP
IIS FTP behind AWS VPC Endpoint
提供上下文:我在 IIS 中的 WS2019 EC2 实例中有一个 FTP 服务器 运行 在 VPC A[=39 中=]需要被VPC B和C访问。最后一个在GCP中,A和B在AWS中。
- VPC A 和 B 具有对等连接。
- VPC B 和 C 通过 VPN 连接。
- VPC C 不与 A 交换数据,除了这个 FTP 服务器;因此,维持一个 VPN 对我来说是昂贵的。
我按照此指南在 VPC A 中构建 NLB,然后将其附加到 VPC B 中的 VPC 端点。
How to run an FTPS server behind the AWS Network Load Balancer | by Michael Kirk | Medium
当我测试 TCP 连接时,它工作正常
PS C:\Users\johndoe> Test-NetConnection -ComputerName vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com -Port 21
ComputerName : vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com
RemoteAddress : 10.70.255.253
RemotePort : 21
InterfaceAlias : WAN
SourceAddress : 10.58.32.20
TcpTestSucceeded : True
但是,当我尝试通过 FTP 客户端 连接时,我收到以下 错误消息 :
Status: Resolving address of vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com
Status: Connecting to 10.70.255.253:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode (10,74,163,58,43,209).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
如果我的被动模式使用 public 或私有 IP 地址进行应答,会有什么不同吗?我检查了所有的安全组和路由表...
有人能帮我弄清楚这是怎么回事吗?
您需要了解 FTP 被动模式。 FTP 客户端正在连接到位于 10.70.255.253:21 的 FTP 服务器。 FTP 服务器正在为 LIST 命令 10.74.163.43:209 设置 IP/Port 并等待。
FTP 客户端应该连接到 IP:PORT。它没有启动连接,FTP 服务器在 20 秒后超时。
请注意,FTP 客户端为命令连接 (10.70.255.253) 连接的地址与服务器认为它应该回复数据传输命令的地址 (10.74.163.43) 不同。 FTP 服务器存在配置问题。
注意:由于 FTP 客户端正在连接到 FTP 服务器以在不同于 21 的端口上执行数据传输命令,因此您还必须允许那些 ingress 端口通过防火墙。
注意:出于安全原因,大多数 FTP 客户端 不会 连接到不同的 IP 地址。
提供上下文:我在 IIS 中的 WS2019 EC2 实例中有一个 FTP 服务器 运行 在 VPC A[=39 中=]需要被VPC B和C访问。最后一个在GCP中,A和B在AWS中。
- VPC A 和 B 具有对等连接。
- VPC B 和 C 通过 VPN 连接。
- VPC C 不与 A 交换数据,除了这个 FTP 服务器;因此,维持一个 VPN 对我来说是昂贵的。
我按照此指南在 VPC A 中构建 NLB,然后将其附加到 VPC B 中的 VPC 端点。
How to run an FTPS server behind the AWS Network Load Balancer | by Michael Kirk | Medium
当我测试 TCP 连接时,它工作正常
PS C:\Users\johndoe> Test-NetConnection -ComputerName vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com -Port 21
ComputerName : vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com
RemoteAddress : 10.70.255.253
RemotePort : 21
InterfaceAlias : WAN
SourceAddress : 10.58.32.20
TcpTestSucceeded : True
但是,当我尝试通过 FTP 客户端 连接时,我收到以下 错误消息 :
Status: Resolving address of vpce-0948b61f1f991b98b-1w539hu9.vpce-svc-0ed1458eb15584b09.us-east-1.vpce.amazonaws.com
Status: Connecting to 10.70.255.253:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode (10,74,163,58,43,209).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
如果我的被动模式使用 public 或私有 IP 地址进行应答,会有什么不同吗?我检查了所有的安全组和路由表...
有人能帮我弄清楚这是怎么回事吗?
您需要了解 FTP 被动模式。 FTP 客户端正在连接到位于 10.70.255.253:21 的 FTP 服务器。 FTP 服务器正在为 LIST 命令 10.74.163.43:209 设置 IP/Port 并等待。
FTP 客户端应该连接到 IP:PORT。它没有启动连接,FTP 服务器在 20 秒后超时。
请注意,FTP 客户端为命令连接 (10.70.255.253) 连接的地址与服务器认为它应该回复数据传输命令的地址 (10.74.163.43) 不同。 FTP 服务器存在配置问题。
注意:由于 FTP 客户端正在连接到 FTP 服务器以在不同于 21 的端口上执行数据传输命令,因此您还必须允许那些 ingress 端口通过防火墙。
注意:出于安全原因,大多数 FTP 客户端 不会 连接到不同的 IP 地址。