如何在 Azure 中阻止来自 public 的端口并允许 Vnet 中的端口?

How to block ports from public and allow ports within Vnet in Azure?

我在 Azure 中设置了点对点 VPN。 我想允许使用 VPN 客户端登录的用户使用端口 3389、22、5432、8080,同时只允许此 VM 在 public IP 的端口 8080。这些配置可以在 NSG 完成 我怎样才能做到这一点?

在 VM/Networking 选项卡中,我可以看到 NSG 附加到一个子网,另一个 NSG 附加到 NIC。

首先,尽可能不要将 NSG 分配给 NIC - 这并不是说 不好 做法只是增加了管理难度。尽管在一些非常严格的安全场景中,这可能是必要的。

您的点对点 VPN 将由 VPN 网关提供服务,客户端将从客户端地址池中获得一个 IP 地址。

在您的方案中,您需要创建入站规则以允许从 VPN 客户端连接到任何和所有应用到的 NSG 中的目标 VM 的内部 IP 地址:

  • 网关子网
  • 虚拟机网卡的子网
  • 虚拟机的网卡

如果您没有将 NSG 应用于网关子网,您可以保持原样。

您需要从 VPN 网关获取客户端地址池,并使用 CIDR 标记的网络地址填充源 CIDR 范围。示例如下:



确保您已为规则分配了适当的优先级,以便在任何可能优先的拒绝操作规则之前处理它。

您可能希望从该规则中排除 8080,而是创建一个单独的允许任何源地址访问它的规则。此规则需要存在于子网和 NIC NSG 上。

您只需要一个允许来自 Internet 的 8080 的规则,NSG 默认规则已经允许在包含 VPN 网关路由的虚拟网络标记上进行通信