你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

确定 Azure 实验室服务的防火墙设置

重要

Azure 实验室服务将于 2027 年 6 月 28 日停用。 有关详细信息,请参阅停用指南

本文介绍如何在 Azure 实验室服务中查找实验室使用的特定公共 IP 地址。 可以使用这些 IP 地址配置防火墙设置,并指定入站和出站规则,使实验室用户能够连接到其实验室虚拟机。

每个组织或学校都以最适合其需求的方式配置自己的网络。 有时这包括设置防火墙规则,以阻止远程桌面协议 (RDP) 或安全外壳 (SSH) 连接到其自己网络之外的计算机。 由于 Azure 实验室服务在公有云中运行,因此可能需要一些额外配置,以允许实验室用户从本地网络连接时访问其 VM。

每个实验室均使用单个公共 IP 地址和多个端口。 每个实验室所使用的公共 IP 地址是不同的。 所有 VM(模板 VM 和实验室 VM)都将使用此公共 IP 地址。 实验室的公共 IP 地址不会更改。 每个 VM 都分配有不同的端口号。 SSH 连接的端口范围为 4980-4989 和 5000-6999。 RDP 连接的端口范围为 4990-4999 和 7000-8999。 使用此公共 IP 地址和端口号的组合将实验室创建者和实验室用户连接到正确的 VM。

如果正在使用实验室帐户,请参阅使用实验室帐户时实验室的防火墙设置

注意

如果你的组织需要执行内容筛选,例如,为了符合儿童互联网保护法案 (CIPA) 的要求,需要使用第三方软件。 有关详细信息,请阅读有关使用实验室服务进行内容筛选的指南。

查找实验室的公共 IP

如果正在使用可自定义的实验室,可以在实验室创建后的任何时候获得公共 IP 地址。 如果正在使用不可自定义的实验室,该实验室必须已发布且容量至少为 1 才能获得该实验室的公共 IP 地址。

可以使用 Az.LabServices PowerShell 模块来获取实验室的公共 IP 地址。

$ResourceGroupName = "MyResourceGroup"
$LabName = "MyLab"
$LabPublicIP = $null

$lab =  Get-AzLabServicesLab -Name $LabName -ResourceGroupName $ResourceGroupName
if (-not $lab){
    Write-Error "Could find lab $($LabName) in resource group $($ResourceGroupName)."
}

if($lab.NetworkProfilePublicIPId){
    #Lab is using advance networking
    # Get public IP from networking properties
    $LabPublicIP = Get-AzResource -ResourceId $lab.NetworkProfilePublicIPId | Get-AzPublicIpAddress | Select-Object -expand IpAddress
}else{
    #Get first VM from lab
    # If customizable lab, this is the template VM
    # If non-customizable lab, this is the first VM published.
    $vm =  $lab | Get-AzLabServicesVM | Select -First 1

    if ($vm){
        if($vm.ConnectionProfileSshAuthority){
            $connectionAuthority = $vm.ConnectionProfileSshAuthority.Split(":")[0]
        }else{
            $connectionAuthority = $vm.ConnectionProfileRdpAuthority.Split(":")[0]
        }
        $LabPublicIP = [System.Net.DNS]::GetHostByName($connectionAuthority).AddressList.IPAddressToString | Where-Object {$_} | Select -First 1

    }
}

if ($LabPublicIP){
    Write-Output "Public IP for $($lab.Name) is $LabPublicIP."
}else{
    Write-Error "Lab must be published to get public IP address."
}

有关使用 Az.LabServices PowerShell 模块以及如何使用它的更多示例,请参阅快速入门:使用 PowerShell 和 Azure 模块创建实验室计划以及快速入门:使用 PowerShell 和 Azure 模块创建实验室。 有关 Az.LabServices PowerShell 模块中可用的 cmdlet 的详细信息,请参阅 Az.LabServices 参考

结束语

现在可以确定实验室的公共 IP 地址。 可以为公共 IP 地址和端口范围 4980-4989、5000-6999 和 7000-8999 创建组织防火墙的入站和出站规则。 更新规则后,实验室用户便可以访问其 VM,而网络防火墙不会阻止访问。