判斷 Azure 實驗室服務的防火牆設定

本文涵蓋如何在 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,而不需要網路防火牆封鎖存取。