Azure VM 无法通过其公共 IP 访问自身

Azure VM 无法通过其公共 IP 访问自身

我刚刚将 Azure VM 迁移到新区域。我通过将 VM 的磁盘导出到新区域中的存储帐户,然后根据这些映像创建新磁盘,然后在新区域中创建新 VM 来完成此操作。

以前,虚拟机可以使用自己的公共 IP 地址访问自身。现在,它无法使用新区域中为其分配的新公共 IP 地址进行访问。

示例:在旧区域中,虚拟机的公共 IP 为 192.0.0.1。在新区域中,其公共 IP 为 192.0.100.1。在两个区域中,虚拟机均位于 VNET 上,其 VNET IP 地址为 10.0.1.1。

以前,虚拟机可以通过连接到 192.0.0.1 或连接到与其公共 IP 关联的公共 DNS 名称来访问自身。迁移后,DNS 记录已更新为指向新 IP 地址,我等待 TTL 期限(1 小时)以确保旧 IP 已从缓存中过期。但是现在,虚拟机无法通过 DNS 或使用其新的直接公共 IP 192.0.100.1 来访问自身。

我尝试向 NSG 添加一条防火墙规则,允许从 10.0.1.1 到 192.0.100.1 的所有流量,但没有任何改变。

用例是 Web API 及其数据库在同一台服务器上运行。Web API 尝试使用其 DNS 名称(指向其公共 IP 地址)连接到数据库。

我目前采取的解决方法是将 SQL 服务器的 DNS 名称添加到 HOSTS 文件并将其指向 10.0.1.1。但是,这并不能解释行为的变化。

问题:为什么虚拟机无法通过其公共 IP 访问自身(以前可以)?我可以对网络配置或防火墙进行任何更改以使其再次正常工作吗?

答案1

有些事你可以尝试一下。

选项 1:查看虚拟机 NIC 中的有效安全规则,也许您在 vnet/子网级别和虚拟机级别都有一个 NSG。

选项 2:在同一子网中创建一个虚拟机,并尝试使用 ICMP 协议发送一些包。

选项 3:转到网络观察器>IP 流验证,您可以排除向虚拟机发送某些包的故障。

选项 4:在虚拟机选项中有一个重新部署选项,有时可以解决连接问题。

问候
Victor Villar

答案2

我设法通过在 NSG 上创建一个新的入站规则来解决这个问题,该规则将服务器的公共 IP 设置为其源,然后当然是相关的端口。

希望这对某人有帮助!

在此处输入图片描述

相关内容