在 Azure 虚拟网络中连接两个虚拟机

Connecting two virtual machines in and azure virtual network

我对 Azure 比较陌生,似乎无法掌握一些基本的网络概念。我想在一台机器上开一个邮件服务器,让另一台机器连接到它,这样两台机器就可以通过虚拟网络使用电子邮件。 (仅供内部使用,无需将其暴露在互联网上)。

我的尝试:我创建了两个虚拟机,将它们放在同一个网络组、资源组和安全组中。我在一台机器上安装了 hmailserver(我们称之为机器 A)。我能够连接到邮件服务器,send/receive 机器 A 的邮件正常。机器 B 看不到邮件服务器。服务器 运行 在端口 25 (SMTP) 和端口 143 (IMAP) 上。

机器A的IP是10.0.0.4

如果我 运行 'telnet 10.0.0.4 25' 我得到 'could not open connection to host...'

如果我 运行 ping 10.0.0.4 我会得到成功的回复。

两个防火墙都完全关闭。

通过 Azure,我为入站和出站设置了安全规则,以允许在两个端口上使用 'any'。

在邮件服务器设置中,我允许来自任何 IP 的连接。

我尝试将服务器更改为 运行 端口 1025 和 1026 而不是 25 和 143 并重新配置所有内容以查看这些特定端口是否被 azure 阻止。

我难住了。

调试了几天终于找到问题所在了。我 post 在这里以防其他人遇到这个问题:

当然是防火墙问题(总是怀疑,因为我的主机可以连接到端口,但我的另一台机器不能)。防火墙在防火墙管理器(和高级防火墙管理器)上炫耀,所以我认为没有任何问题。幸运的是,我找到了这个命令:

netsh advfirewall set allprofiles state off

运行 这在邮件主机和连接的 VM 上的命令行都有效!尽管 windows 告诉我防火墙已经完全关闭了,但肯定还有一些残留的防火墙在运行……谢谢 Windows。调试 session 到 re-affirm 我对 linux...

的爱总是很有趣

现在开始弄清楚如何在不隐藏我的端口的情况下启用防火墙,这样我就不会坐视不理了。

感谢那些花时间在这里发表评论的人。