如何在 Azure 资源管理器中访问 VM 上的特定端口

How do I access a specific port on a VM in Azure's Resource Manager

我正在尝试通过 运行在 Azure 门户上使用我自己的 MUD 来重温我的大学时光,并且 运行 在与外界连接时遇到困难。

对于那些不知道的人,它有一个相当简单的界面,它监听您选择的端口,并在它们进入时分发描述符: https://github.com/InfiniteAxis/SmaugFUSS/blob/master/src/comm.c

我在 Azure 中设置了一个 Ubuntu VM,它有一个 IP 地址,我可以通过 ssh 从我的机器连接到它,并成功编译和 运行 泥。我可以使用 telnet 连接到 ssh 会话内的端口 4020,但无法从我的机器连接到端口 4020。

netstat -an | grep :4020
tcp        0      0 0.0.0.0:4020            0.0.0.0:*               LISTEN

它似乎没有正确监听,所以我尝试将入站安全规则添加到网络安全组。我给了它比 ssh 规则更高的优先级(较低的数字),它似乎将所有连接到 22 的 tcp 端口重定向,但我仍然无法连接。

两条规则:

Source: Any, Protocol: TCP, Port: 4020, Destination: Any, Port: 4020
Source: Any, Protocol: TCP, Port: *,    Destination: Any, Port: 22

Ubuntu似乎没有启用任何防火墙(ufw被禁用),但我无法连接。

有人知道我下一步应该去哪里吗?我觉得我错过了一些非常明显的东西。

您需要将源端口设置为 *,而不是 4020。这是指定流量的来源,而不是流量的去向。