azure - 连接到azure虚拟机公共(public)端口超时

标签 azure tcp port azure-virtual-machine

我正在使用库提供的 Azure 虚拟机(Windows Server 2008 R2 镜像),并使用门户创建公共(public)端口和专用端口。我远程登录到虚拟机,并在虚拟机内运行 TCP 服务器应用程序(TCP 服务器绑定(bind)到虚拟机的专用端口)。我面临的问题是我无法通过公共(public)IP和端口(来自外部机器)连接它。我在虚拟机的防火墙中创建了一条入站规则,在其中启用了与虚拟机专用端口的连接。我尝试重新创建虚拟机以及新端口。但问题仍然存在。我观察到的另一件事是我的 TCP 客户端能够连接到虚拟机的 RemoteDesktop 端口以及 PowerShell 端口。但无法连接到我通过门户创建的端口。请提出什么可能是错误的?

注意:我还观察到一些奇怪的行为。我在防火墙的入站规则中启用了 TCP 服务器应用程序的所有端口,发现一些未知 IP(类似于 azure 内部 IP)正在连接到我的服务器。为什么会发生这种情况?

最佳答案

我想了解您如何尝试使用 RDP 连接虚拟机或尝试测试连接(例如使用端口 Ping)。

RDP 和 Powershell 的端点是默认配置的。因此,如果您尝试使用远程桌面进行连接,您可以从运行中使用 MSTSC 直接连接到虚拟机,并使用以下格式提供虚拟机的 IP,后跟端口号 xx.xx.xx.xx:3389

但是,如果您想测试与 VM 的连接,我建议您使用端口 Ping 而不是 ICMP ping,因为 ICMP 流量被 Azure 负载均衡器阻止并且 ping 请求超时。虽然 Ping.exe 使用 ICMP,但其他工具(例如 PsPingNmapTelnet)允许您测试与特定 TCP 端口的连接。

另一方面,创建虚拟机后,您可以根据需要额外添加端点。您还可以通过配置端点的网络访问控制列表 (ACL) 规则来管理公共(public)端口的传入流量。

  • 专用端口由虚拟机在内部使用来监听该端点上的流量。
  • Azure 负载均衡器使用公共(public)端口与虚拟机进行通信
    外部资源。创建端点后,您可以使用网络访问控制列表 (ACL) 来定义有助于隔离和控制公共(public)端口上传入流量的规则。为了 有关详细信息,请参阅关于网络访问控制列表。

关于azure - 连接到azure虚拟机公共(public)端口超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486585/

相关文章:

linux - 无法连接到 Azure Ubuntu VM - 公钥被拒绝

Azure Powershell 函数使用推送输出绑定(bind)附加到 Blob

c - 套接字在recv之前关闭而不调用close

azure - 将最新文件夹中的文件从 azure blob 存储加载到 azure 数据仓库

python - 使用 VS Code 在本地调试 Azure Functions 时无法进行身份验证

sockets - 如何通过以太网在两个嵌入式设备之间进行通信?

sockets - so_reuseaddr相关的问题

javascript - 从 URL 获取协议(protocol)、域和端口

c - 端口为零的绑定(bind)会将您绑定(bind)到一个自由端口。这是可移植的吗?

linux - 审计 Linux 上打开/关闭的端口