Considerazioni speciali per gli eventi di Stream e Teams negli ambienti VPN

Nota

Questo articolo fa parte di un set di articoli che riguardano l'ottimizzazione di Microsoft 365 per gli utenti remoti.

Traffico dei partecipanti agli eventi live di Microsoft 365 (inclusi i partecipanti agli eventi live prodotti da Teams e quelli prodotti con un codificatore esterno tramite Teams, Stream o Viva Engage), il traffico dei partecipanti del municipio di Microsoft Teams e il traffico dei partecipanti di Stream su richiesta è attualmente classificato come predefinito rispetto a Optimizenell'elenco URL/IP per il servizio. Questi endpoint sono classificati come predefiniti perché sono ospitati in reti CDN che potrebbero essere usate anche da altri servizi. I clienti preferiscono in genere eseguire il proxy di questo tipo di traffico e applicare tutti gli elementi di sicurezza normalmente eseguiti su endpoint come questi.

Molti clienti hanno chiesto i dati URL/IP necessari per connettere i partecipanti agli eventi di Stream o Teams direttamente dalla connessione Internet locale, anziché instradare il traffico sensibile a volumi elevati e latenza tramite l'infrastruttura VPN. In genere, questo non è possibile senza spazi dei nomi dedicati e informazioni IP accurate per gli endpoint, che non vengono forniti per gli endpoint di Microsoft 365 classificati come predefiniti.

Usare la procedura seguente per abilitare la connettività diretta per i servizi eventi di Stream o Teams dai client che usano una VPN tunnel forzata. Questa soluzione ha lo scopo di offrire ai clienti un'opzione per evitare di instradare il traffico dei partecipanti agli eventi tramite VPN mentre il traffico di rete è elevato a causa di scenari di lavoro da casa. Se possibile, è consigliabile accedere al servizio tramite un proxy di controllo.

Nota

Usando questa soluzione, potrebbero esserci elementi del servizio che non si risolvono negli indirizzi IP forniti e quindi attraversano la VPN, ma la maggior parte del traffico ad alto volume, come i dati di streaming, dovrebbe. Potrebbero essere presenti altri elementi all'esterno dell'ambito degli eventi live/flusso che vengono intercettati da questo offload, ma devono essere limitati in quanto devono soddisfare sia il nome di dominio completo che la corrispondenza IP prima di procedere direttamente.

Importante

È consigliabile valutare il rischio di inviare più traffico che ignora la VPN rispetto al miglioramento delle prestazioni per gli eventi live.

Per implementare l'eccezione del tunnel forzato per gli eventi e il flusso di Teams, è necessario applicare i passaggi seguenti:

1. Configurare la risoluzione DNS esterna

I client necessitano di una risoluzione DNS ricorsiva esterna per essere disponibili in modo che i nomi host seguenti possano essere risolti negli indirizzi IP.

  • *.azureedge.net
  • *.media.azure.net
  • *.bmc.cdn.office.net
  • *.ml.cdn.office.net

*.azureedge.net viene usato per gli eventi di flusso (configurare i codificatori per lo streaming live in Microsoft Stream - Microsoft Stream | Microsoft Docs).

*.media.azure.net e *.bmc.cdn.office.net vengono usati per gli eventi live prodotti da Teams (eventi di avvio rapido e RTMP-In eventi supportati) pianificati dal client teams.

*.media.azure.net, *.bmc.cdn.office.net e *.ml.cdn.office.net vengono usati per gli eventi del municipio di Teams.

Alcuni di questi endpoint vengono condivisi con altri elementi esterni agli eventi di Stream o Teams. Non è consigliabile usare solo questi FQDN per configurare l'offload VPN anche se tecnicamente possibile nella soluzione VPN (ad esempio, se funziona con l'FQDN anziché con l'IP).

I nomi FQDN non sono necessari nella configurazione VPN, ma solo per l'uso nei file PAC in combinazione con gli INDIRIZZI IP per inviare direttamente il traffico pertinente.

2. Implementare le modifiche al file PAC (se necessario)

Per le organizzazioni che usano un file PAC per instradare il traffico attraverso un proxy mentre si trova sulla VPN, questo risultato viene in genere ottenuto usando I FQDN. Tuttavia, con Stream/Live Events/Town hall, i nomi host forniti contengono caratteri jolly come *.azureedge.net, che comprende anche altri elementi per i quali non è possibile fornire elenchi IP completi. Pertanto, se la richiesta viene inviata direttamente in base alla sola corrispondenza con caratteri jolly DNS, il traffico verso questi endpoint verrà bloccato perché non esiste alcuna route tramite il percorso diretto nel passaggio 3 più avanti in questo articolo.

Per risolvere questo problema, è possibile fornire gli indirizzi IP seguenti e usarli in combinazione con i nomi host in un file PAC di esempio, come descritto nel passaggio 1. Il file PAC controlla se l'URL corrisponde a quelli usati per Stream/Live Events/Town hall e, in caso affermativo, controlla anche se l'IP restituito da una ricerca DNS corrisponde a quelli forniti per il servizio. Se entrambi corrispondono, il traffico viene instradato direttamente. Se uno degli elementi (FQDN/IP) non corrisponde, il traffico viene inviato al proxy. Di conseguenza, la configurazione garantisce che qualsiasi elemento che si risolve in un indirizzo IP esterno all'ambito sia dell'IP che degli spazi dei nomi definiti attraversi normalmente il proxy tramite la VPN.

Raccolta degli elenchi correnti di endpoint della rete CDN

Gli eventi di Teams usano più provider di rete CDN per lo streaming ai clienti, per offrire la migliore copertura, qualità e resilienza. Attualmente, vengono usate sia la rete CDN di Azure da Microsoft che da Verizon. Nel corso del tempo questo potrebbe essere modificato a causa di situazioni come la disponibilità a livello di area. Questo articolo è un'origine che consente di rimanere aggiornati sugli intervalli IP.

Per la rete CDN di Azure da Microsoft, è possibile scaricare l'elenco da Download azure IP Ranges and Service Tags – Public Cloud from Official Microsoft Download Center (Scarica intervalli IP di Azure e tag di servizio - Cloud pubblico dall'Area download Ufficiale Microsoft ): è necessario cercare in modo specifico il tag di servizio AzureFrontdoor.Frontend in JSON; addressPrefixes mostrerà le subnet IPv4/IPv6. Nel corso del tempo gli indirizzi IP possono cambiare, ma l'elenco dei tag di servizio viene sempre aggiornato prima che vengano usati.

Per la rete CDN di Azure da Verizon (Edgecast) è possibile trovare un elenco completo usando Edge Nodes - List (selezionare Try It ) ( Prova) - è necessario cercare in modo specifico la sezione Premium_Verizon . Si noti che questa API mostra tutti gli INDIRIZZI IP Edgecast (origine e Anycast). Attualmente non esiste un meccanismo che consente all'API di distinguere tra origine e Anycast.

Per implementarlo in un file PAC, è possibile usare l'esempio seguente che invia il traffico di Microsoft 365 Optimize direttamente (procedura consigliata) tramite FQDN e il traffico critico stream/live events direttamente tramite una combinazione di FQDN e indirizzo IP restituito. Il nome segnaposto Contoso deve essere modificato nel nome del tenant specifico da cui proviene contoso contoso.onmicrosoft.com

File PAC di esempio

Ecco un esempio di come generare i file PAC:

  1. Salvare lo script seguente nel disco rigido locale come Get-TLEPacFile.ps1.

  2. Passare all'URL verizon e scaricare il codice JSON risultante (copia incollarlo in un file come cdnedgenodes.json)

  3. Inserire il file nella stessa cartella dello script.

  4. In una finestra di PowerShell eseguire il comando seguente. Modificare il nome del tenant per qualcos'altro se si vogliono gli URL SPO. Si tratta del tipo 2, quindi ottimizza e consenti (il tipo 1 è solo Optimize).

    .\Get-TLEPacFile.ps1 -Instance Worldwide -Type 2 -TenantName <contoso> -CdnEdgeNodesFilePath .\cdnedgenodes.json -FilePath TLE.pac
    
  5. Il file TLE.pac conterrà tutti gli spazi dei nomi e gli INDIRIZZI IP (IPv4/IPv6).

Get-TLEPacFile.ps1
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

<#PSScriptInfo

.VERSION 1.0.5

.AUTHOR Microsoft Corporation

.GUID 7f692977-e76c-4582-97d5-9989850a2529

.COMPANYNAME Microsoft

.COPYRIGHT
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.

.TAGS PAC Microsoft Microsoft365 365

.LICENSEURI

.PROJECTURI http://aka.ms/ipurlws

.ICONURI

.EXTERNALMODULEDEPENDENCIES

.REQUIREDSCRIPTS

.EXTERNALSCRIPTDEPENDENCIES

.RELEASENOTES

#>

<#

.SYNOPSIS

Create a PAC file for Microsoft 365 prioritized connectivity

.DESCRIPTION

This script will access updated information to create a PAC file to prioritize Microsoft 365 Urls for
better access to the service. This script will allow you to create different types of files depending
on how traffic needs to be prioritized.

.PARAMETER Instance

The service instance inside Microsoft 365.

.PARAMETER ClientRequestId

The client request id to connect to the web service to query up to date Urls.

.PARAMETER DirectProxySettings

The direct proxy settings for priority traffic.

.PARAMETER DefaultProxySettings

The default proxy settings for non priority traffic.

.PARAMETER Type

The type of prioritization to give. Valid values are 1 and 2, which are 2 different modes of operation.
Type 1 will send Optimize traffic to the direct route. Type 2 will send Optimize and Allow traffic to
the direct route.

.PARAMETER Lowercase

Flag this to include lowercase transformation into the PAC file for the host name matching.

.PARAMETER TenantName

The tenant name to replace wildcard Urls in the webservice.

.PARAMETER ServiceAreas

The service areas to filter endpoints by in the webservice.

.PARAMETER FilePath

The file to print the content to.

.EXAMPLE

Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type1.pac

.EXAMPLE

Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance China -Type 2 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type2.pac

.EXAMPLE

Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance WorldWide -Lowercase -TenantName tenantName -ServiceAreas Sharepoint

#>

#Requires -Version 2

[CmdletBinding(SupportsShouldProcess=$True)]
Param (
    [Parameter(Mandatory = $false)]
    [ValidateSet('Worldwide', 'Germany', 'China', 'USGovDoD', 'USGovGCCHigh')]
    [String] $Instance = "Worldwide",

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [guid] $ClientRequestId = [Guid]::NewGuid().Guid,

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [String] $DirectProxySettings = 'DIRECT',

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [String] $DefaultProxySettings = 'PROXY 10.10.10.10:8080',

    [Parameter(Mandatory = $false)]
    [ValidateRange(1, 2)]
    [int] $Type = 1,

    [Parameter(Mandatory = $false)]
    [switch] $Lowercase = $false,

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [string] $TenantName,

    [Parameter(Mandatory = $false)]
    [ValidateSet('Exchange', 'SharePoint', 'Common', 'Skype')]
    [string[]] $ServiceAreas,

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [string] $FilePath,

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [string] $CdnEdgeNodesFilePath
)

##################################################################################################################
### Global constants
##################################################################################################################

$baseServiceUrl = "https://endpoints.office.com/endpoints/$Instance/?ClientRequestId={$ClientRequestId}"
$directProxyVarName = "direct"
$defaultProxyVarName = "proxyServer"
$bl = "`r`n"

##################################################################################################################
### Functions to create PAC files
##################################################################################################################

function Get-PacClauses
{
    param(
        [Parameter(Mandatory = $false)]
        [string[]] $Urls,

        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [String] $ReturnVarName
    )

    if (!$Urls)
    {
        return ""
    }

    $clauses =  (($Urls | ForEach-Object { "shExpMatch(host, `"$_`")" }) -Join "$bl        || ")

@"
    if($clauses)
    {
        return $ReturnVarName;
    }
"@
}

function Get-PacString
{
    param(
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [array[]] $MapVarUrls
    )

@"
// This PAC file will provide proxy config to Microsoft 365 services
//  using data from the public web service for all endpoints
function FindProxyForURL(url, host)
{
    var $directProxyVarName = "$DirectProxySettings";
    var $defaultProxyVarName = "$DefaultProxySettings";

$( if ($Lowercase) { "    host = host.toLowerCase();" })

$( ($MapVarUrls | ForEach-Object { Get-PACClauses -ReturnVarName $_.Item1 -Urls $_.Item2 }) -Join "$bl$bl" )

$( if (!$ServiceAreas -or $ServiceAreas.Contains('Skype')) { Get-TLEPacConfiguration })

    return $defaultProxyVarName;
}
"@ -replace "($bl){3,}","$bl$bl" # Collapse more than one blank line in the PAC file so it looks better.
}

##################################################################################################################
### Functions to get and filter endpoints
##################################################################################################################

function Get-TLEPacConfiguration {
    param ()
    $PreBlock = @"
    // Don't Proxy Teams Live Events traffic

    if(shExpMatch(host, "*.azureedge.net")
    || shExpMatch(host, "*.bmc.cdn.office.net")
    || shExpMatch(host, "*.ml.cdn.office.net")
    || shExpMatch(host, "*.media.azure.net"))
    {
        var resolved_ip = dnsResolveEx(host);

"@
    $TLESb = New-Object 'System.Text.StringBuilder'
    $TLESb.Append($PreBlock) | Out-Null

    if (![string]::IsNullOrEmpty($CdnEdgeNodesFilePath) -and (Test-Path -Path $CdnEdgeNodesFilePath)) {
        $CdnData = Get-Content -Path $CdnEdgeNodesFilePath -Raw -ErrorAction SilentlyContinue | ConvertFrom-Json | Select-Object -ExpandProperty value | 
            Where-Object { $_.name -eq 'Premium_Verizon'} | Select-Object -First 1 -ExpandProperty properties | 
            Select-Object -ExpandProperty ipAddressGroups
        $CdnData | Select-Object -ExpandProperty ipv4Addresses | ForEach-Object {
            if ($TLESb.Length -eq $PreBlock.Length) {
                $TLESb.Append("        if(") | Out-Null
            }
            else {
                $TLESb.AppendLine() | Out-Null
                $TLESb.Append("        || ") | Out-Null
            }
            $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
        }
        $CdnData | Select-Object -ExpandProperty ipv6Addresses | ForEach-Object {
            if ($TLESb.Length -eq $PreBlock.Length) {
                $TLESb.Append("        if(") | Out-Null
            }
            else {
                $TLESb.AppendLine() | Out-Null
                $TLESb.Append("        || ") | Out-Null
            }
            $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
        }
    }
    $AzureIPsUrl = Invoke-WebRequest -Uri "https://www.microsoft.com/en-us/download/confirmation.aspx?id=56519" -UseBasicParsing -ErrorAction SilentlyContinue  | 
            Select-Object -ExpandProperty Links | Select-Object -ExpandProperty href | 
            Where-Object { $_.EndsWith('.json') -and $_ -match 'ServiceTags' } | Select-Object -First 1
    if ($AzureIPsUrl) {
        Invoke-RestMethod -Uri $AzureIPsUrl -ErrorAction SilentlyContinue | Select-Object -ExpandProperty values | 
            Where-Object { $_.name -eq 'AzureFrontDoor.Frontend' } | Select-Object -First 1 -ExpandProperty properties |
            Select-Object -ExpandProperty addressPrefixes | ForEach-Object {
                if ($TLESb.Length -eq $PreBlock.Length) {
                    $TLESb.Append("        if(") | Out-Null
                }
                else {
                    $TLESb.AppendLine() | Out-Null
                    $TLESb.Append("        || ") | Out-Null
                }
                $TLESb.Append("isInNetEx(resolved_ip, `"$_`")") | Out-Null
            }
    }
    if ($TLESb.Length -gt $PreBlock.Length) {
        $TLESb.AppendLine(")") | Out-Null
        $TLESb.AppendLine("        {") | Out-Null
        $TLESb.AppendLine("            return $directProxyVarName;") | Out-Null
        $TLESb.AppendLine("        }") | Out-Null
    }
    else {
        $TLESb.AppendLine("        // no addresses found for service via script") | Out-Null
    }
    $TLESb.AppendLine("    }") | Out-Null
    return $TLESb.ToString()
}

function Get-Regex
{
    param(
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [string] $Fqdn
    )

    return "^" + $Fqdn.Replace(".", "\.").Replace("*", ".*").Replace("?", ".?") + "$"
}

function Match-RegexList
{
    param(
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [string] $ToMatch,

        [Parameter(Mandatory = $false)]
        [string[]] $MatchList
    )

    if (!$MatchList)
    {
        return $false
    }
    foreach ($regex in $MatchList)
    {
        if ($regex -ne $ToMatch -and $ToMatch -match (Get-Regex $regex))
        {
            return $true
        }
    }
    return $false
}

function Get-Endpoints
{
    $url = $baseServiceUrl
    if ($TenantName)
    {
        $url += "&TenantName=$TenantName"
    }
    if ($ServiceAreas)
    {
        $url += "&ServiceAreas=" + ($ServiceAreas -Join ",")
    }
    return Invoke-RestMethod -Uri $url
}

function Get-Urls
{
    param(
        [Parameter(Mandatory = $false)]
        [psobject[]] $Endpoints
    )

    if ($Endpoints)
    {
        return $Endpoints | Where-Object { $_.urls } | ForEach-Object { $_.urls } | Sort-Object -Unique
    }
    return @()
}

function Get-UrlVarTuple
{
    param(
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [string] $VarName,

        [Parameter(Mandatory = $false)]
        [string[]] $Urls
    )
    return New-Object 'Tuple[string,string[]]'($VarName, $Urls)
}

function Get-MapVarUrls
{
    Write-Verbose "Retrieving all endpoints for instance $Instance from web service."
    $Endpoints = Get-Endpoints

    if ($Type -eq 1)
    {
        $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -eq "Optimize" })
        $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -ne "Optimize" }) | Where-Object { Match-RegexList $_ $directUrls }
        return @(
            Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
            Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
        )
    }
    elseif ($Type -eq 2)
    {
        $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -in @("Optimize", "Allow")})
        $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -notin @("Optimize", "Allow") }) | Where-Object { Match-RegexList $_ $directUrls }
        return @(
            Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
            Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
        )
    }
}

##################################################################################################################
### Main script
##################################################################################################################

$content = Get-PacString (Get-MapVarUrls)

if ($FilePath)
{
    $content | Out-File -FilePath $FilePath -Encoding ascii
}
else
{
    $content
}

Lo script analizzerà automaticamente l'elenco di Azure in base all'URL di download e alle chiavi di AzureFrontDoor.Frontend, quindi non è necessario ottenerlo manualmente.

Anche in questo caso, non è consigliabile eseguire l'offload VPN usando solo gli FQDN; l'uso sia degli FQDN che degli indirizzi IP nella funzione consente di definire l'ambito dell'uso di questo offload a un set limitato di endpoint, tra cui Live Events/Stream. Il modo in cui la funzione è strutturata comporterà l'esecuzione di una ricerca DNS per il nome di dominio completo corrispondente a quelli elencati direttamente dal client, ovvero la risoluzione DNS degli spazi dei nomi rimanenti rimane invariata.

Se si vuole limitare il rischio di offload di endpoint non correlati agli eventi di Teams e a Stream, è possibile rimuovere il dominio *.azureedge.net dalla configurazione in cui si trova la maggior parte di questo rischio perché si tratta di un dominio condiviso usato per tutti i clienti della rete CDN di Azure. Il lato negativo di questo è che qualsiasi evento che usa un codificatore esterno basato su Stream non sarà ottimizzato, ma gli eventi generati/organizzati all'interno di Teams lo saranno.

3. Configurare il routing sulla VPN per abilitare l'uscita diretta

Il passaggio finale consiste nell'aggiungere una route diretta per gli INDIRIZZI IP degli eventi di Teams descritti in Raccolta degli elenchi correnti di endpoint della rete CDN nella configurazione VPN per assicurarsi che il traffico non venga inviato tramite il tunnel forzato nella VPN. Informazioni dettagliate su come eseguire questa operazione per gli endpoint di Microsoft 365 Optimize sono disponibili nella sezione Implementare il tunneling di divisione VPNdell'implementazione del tunneling condiviso VPN per Microsoft 365. Il processo è esattamente lo stesso per gli indirizzi IP degli eventi di Stream o Teams elencati in questo documento.

Si noti che per la configurazione VPN devono essere usati solo gli INDIRIZZI IP (non IDN) della raccolta degli elenchi correnti di endpoint della rete CDN .

Domande frequenti

Questo invierà tutto il traffico diretto al servizio?

No, questo invierà il traffico di streaming sensibile alla latenza per un evento di Teams o un video stream diretto, qualsiasi altro traffico continuerà a usare il tunnel VPN se non si risolvono negli INDIRIZZI IP pubblicati.

È necessario usare gli indirizzi IPv6?

No, la connettività può essere IPv4 solo se necessario.

Perché questi INDIRIZZI IP non vengono pubblicati nel servizio URL/IP di Microsoft 365?

Microsoft dispone di controlli rigorosi sul formato e sul tipo di informazioni presenti nel servizio per garantire che i clienti possano usare in modo affidabile le informazioni per implementare un routing sicuro e ottimale in base alla categoria di endpoint.

La categoria Endpoint predefinito non include informazioni IP per numerosi motivi (gli endpoint predefiniti potrebbero essere al di fuori del controllo di Microsoft, potrebbero cambiare troppo di frequente o essere in blocchi condivisi con altri elementi). Per questo motivo, gli endpoint predefiniti sono progettati per essere inviati tramite FQDN a un proxy di controllo, come il normale traffico Web.

In questo caso, gli endpoint precedenti sono reti CDN che potrebbero essere usate da elementi non controllati da Microsoft diversi da Live Events o Stream, e quindi l'invio diretto del traffico significherà anche qualsiasi altra cosa che risolve questi INDIRIZZI IP verrà inviata direttamente dal client. A causa della natura unica dell'attuale crisi globale e per soddisfare le esigenze a breve termine dei nostri clienti, Microsoft ha fornito le informazioni precedenti affinché i clienti possano usarle nel modo più opportuno.

Microsoft sta lavorando per riconfigurare gli endpoint degli eventi di Teams per consentirne l'inclusione nelle categorie di endpoint Consenti/Ottimizza in futuro.

È sufficiente consentire l'accesso a questi indirizzi IP?

No, l'accesso a tutti gli endpoint contrassegnati obbligatori nel servizio URL/IP è essenziale per il funzionamento del servizio. Inoltre, è necessario qualsiasi endpoint facoltativo contrassegnato per Stream (ID 41-45).

Quali scenari verranno illustrati da questo consiglio?

  1. Eventi live prodotti all'interno dell'app Teams
  2. Visualizzazione del contenuto ospitato di Stream
  3. Eventi prodotti da dispositivi esterni (codificatore)
  4. Municipio di Teams

Questo consiglio riguarda il traffico dei relatori?

Non lo fa; il consiglio precedente è esclusivamente per coloro che utilizzano il servizio. La presentazione dall'interno di Teams vedrà il flusso del traffico del relatore verso gli endpoint UDP contrassegnati da Optimize elencati nella riga 11 del servizio URL/IP con consigli dettagliati sull'offload VPN descritti nella sezione Implementare il tunneling condiviso VPNdell'implementazione del tunneling split VPN per Microsoft 365.

Questa configurazione rischia l'invio diretto di traffico diverso da Town hall, Live Events & Stream?

Sì, a causa di fqdn condivisi usati per alcuni elementi del servizio, questo è inevitabile. Questo traffico viene in genere inviato tramite un proxy aziendale che può applicare l'ispezione. In uno scenario di split tunnel VPN, l'uso sia degli FQDN che degli INDIRIZZI IP determinerà questo rischio al minimo, ma esisterà ancora. I clienti possono rimuovere il dominio *.azureedge.net dalla configurazione dell'offload e ridurre al minimo questo rischio, ma questo rimuoverà l'offload degli eventi live supportati da Stream (eventi del codificatore di flusso pianificati da Teams, eventi del codificatore di flusso, eventi Viva Engage generati in Teams, eventi del codificatore di flusso pianificati Viva Engage e eventi pianificati stream o visualizzazione su richiesta da Stream). Gli eventi pianificati e prodotti in Teams (incluso il municipio) non sono interessati.

Panoramica: split tunneling VPN per Microsoft 365

Implementazione del split tunneling VPN per Microsoft 365

Scenari comuni di split tunneling VPN per Microsoft 365

Protezione del traffico dei contenuti multimediali di Teams per lo split tunneling per VPN

Ottimizzazione delle prestazioni di Microsoft 365 per gli utenti cinesi

Principi della connettività di rete di Microsoft 365

Valutazione della connettività di rete di Microsoft 365

Ottimizzazione della rete e delle prestazioni di Microsoft 365

Modi alternativi per i professionisti della sicurezza e l'IT per ottenere moderni controlli di sicurezza nei particolari scenari odierni di lavoro remoto (blog del team di sicurezza di Microsoft)

Ottimizzazione delle prestazioni VPN in Microsoft: usare i profili VPN di Windows 10 per consentire connessioni automatiche

Esecuzione del servizio VPN: la soluzione Microsoft per mantenere connessa la forza lavoro remota

Rete globale Microsoft