Del via


Spesielle hensyn for Stream- og Teams-hendelser i VPN-miljøer

Obs!

Denne artikkelen er en del av et sett med artikler som tar for seg Microsoft 365-optimalisering for eksterne brukere.

Deltakertrafikk for Microsoft 365 Live Events (dette inkluderer deltakere til Teams-produserte direktesendte arrangementer, og de som produseres med en ekstern koder via Teams, Stream eller Viva Engage), deltakertrafikk i Microsoft Teams rådhus og trafikk på forespørsel Stream-deltakere kategoriseres for øyeblikket som standard kontra optimaliser i nettadressen/IP-listen for tjenesten. Disse endepunktene er kategorisert som standard fordi de driftes på CDN-er som også kan brukes av andre tjenester. Kunder foretrekker vanligvis å proxy denne typen trafikk og bruke eventuelle sikkerhetselementer som vanligvis gjøres på endepunkter som disse.

Mange kunder har bedt om nettadresse/IP-data som er nødvendige for å koble deltakerne til Stream- eller Teams-hendelser direkte fra den lokale Internett-tilkoblingen, i stedet for å rute den trafikksensitive trafikken med høyt volum og ventetid via VPN-infrastrukturen. Dette er vanligvis ikke mulig uten både dedikerte navneområder og nøyaktig IP-informasjon for endepunktene, som ikke er angitt for Microsoft 365-endepunkter kategorisert som standard.

Bruk følgende fremgangsmåte for å aktivere direkte tilkobling for Stream- eller Teams-hendelsestjenester fra klienter som bruker en tvungen tunnel-VPN. Denne løsningen er ment å gi kundene et alternativ for å unngå ruting av hendelsesdeltakertrafikk over VPN, mens det er høy nettverkstrafikk på grunn av jobb-fra-hjemmet-scenarier. Hvis det er mulig, anbefaler vi at du får tilgang til tjenesten gjennom en kontrollproxy.

Obs!

Ved hjelp av denne løsningen kan det være tjenesteelementer som ikke løses til IP-adressene som er angitt, og dermed krysser VPN, men mesteparten av trafikk med høyt volum som strømming av data bør. Det kan være andre elementer utenfor omfanget av direktesendte arrangementer/stream som fanges opp av denne avlastningen, men disse bør begrenses ettersom de må oppfylle både FQDN og IP-samsvaret før de går direkte.

Viktig

Vi anbefaler at du veier risikoen for å sende mer trafikk som omgår VPN over ytelsesgevinsten for direktesendte arrangementer.

Hvis du vil implementere det tvungen tunnelunntaket for Teams-hendelser og Stream, bør følgende trinn brukes:

1. Konfigurere ekstern DNS-oppløsning

Klienter må ha ekstern, rekursiv DNS-oppløsning for å være tilgjengelig, slik at følgende vertsnavn kan løses til IP-adresser.

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

*.azureedge.net brukes til Stream-hendelser (konfigurer kodere for direkteavspilling i Microsoft Stream – Microsoft Stream | Microsoft Docs).

*.media.azure.net og *.bmc.cdn.office.net brukes til Teams-produserte direktesendte arrangementer (hurtigstarthendelser og RTMP-In støttede hendelser) som er planlagt fra Teams-klienten.

*.media.azure.net, *.bmc.cdn.office.net og *.ml.cdn.office.net brukes til Teams rådhusarrangementer.

Noen av disse endepunktene deles med andre elementer utenfor Stream eller Teams-hendelser. Vi anbefaler ikke bare å bruke disse FQDN-ene til å konfigurere VPN-avlastning selv om det er teknisk mulig i VPN-løsningen (for eksempel hvis det fungerer på FQDN i stedet for IP).

FQDN-er er ikke nødvendige i VPN-konfigurasjonen, de er bare for bruk i PAC-filer i kombinasjon med IP-ene for å sende den relevante trafikkdirigeringen.

2. Implementer PAC-filendringer (der det er nødvendig)

For organisasjoner som bruker en PAC-fil til å rute trafikk gjennom en proxy mens de er på VPN, oppnås dette vanligvis ved hjelp av FQDN-er. Men med Stream/Live Events/Town hall inneholder vertsnavnene som er angitt jokertegn, for eksempel *.azureedge.net, som også omfatter andre elementer som det ikke er mulig å oppgi fullstendige IP-oppføringer for. Hvis forespørselen sendes direkte basert på dns-jokertegn samsvarer alene, blokkeres derfor trafikken til disse endepunktene fordi det ikke finnes noen rute via den direkte banen for den i trinn 3 senere i denne artikkelen.

For å løse dette kan vi gi følgende IP-er og bruke dem i kombinasjon med vertsnavnene i et eksempel på EN PAC-fil, som beskrevet i trinn 1. PAC-filen kontrollerer om nettadressen samsvarer med de som brukes for Stream/Live Events/Town hall, og hvis den gjør det, kontrollerer den også om IP-adressen som returneres fra et DNS-oppslag samsvarer med de som er angitt for tjenesten. Hvis begge samsvarer, rutes trafikken direkte. Hvis et av elementene (FQDN/IP) ikke samsvarer, sendes trafikken til proxyen. Som et resultat sikrer konfigurasjonen at alt som løses til en IP utenfor omfanget av både IP- og definerte navneområder, krysser proxyen via VPN som normalt.

Samle inn gjeldende lister over CDN-endepunkter

Teams-hendelser bruker flere CDN-leverandører til å strømme til kunder, for å gi best mulig dekning, kvalitet og robusthet. For øyeblikket brukes både Azure CDN fra Microsoft og verizon. Over tid kan dette endres på grunn av situasjoner som regional tilgjengelighet. Denne artikkelen er en kilde som lar deg holde deg oppdatert på IP-områder.

For Azure CDN fra Microsoft kan du laste ned listen fra Download Azure IP Ranges and Service Tags – Public Cloud fra Official Microsoft Download Center – du må se spesielt etter servicekoden AzureFrontdoor.Frontend i JSON; addressPrefixes viser IPv4/IPv6-delnettene. Over tid kan IP-ene endres, men listen over tjenestekoder oppdateres alltid før de tas i bruk.

For Azure CDN fra Verizon (Edgecast) kan du finne en uttømmende liste ved hjelp av Edge-noder – liste (velg Prøv det ) – du må se spesielt etter Premium_Verizon-delen . Vær oppmerksom på at denne API-en viser alle Edgecast-IP-er (opprinnelse og Anycast). Det finnes for øyeblikket ingen mekanisme for API-en for å skille mellom opprinnelse og Anycast.

Hvis du vil implementere dette i en PAC-fil, kan du bruke følgende eksempel som sender Microsoft 365 Optimize traffic direct (som anbefales anbefalt fremgangsmåte) via FQDN, og den kritiske Stream/Live Events-trafikken direkte via en kombinasjon av FQDN og den returnerte IP-adressen. Plassholdernavnet Contoso må redigeres til navnet på den bestemte leieren der contoso er fra contoso.onmicrosoft.com

Eksempel på PAC-fil

Her er et eksempel på hvordan du genererer PAC-filene:

  1. Lagre skriptet nedenfor på den lokale harddisken som Get-TLEPacFile.ps1.

  2. Gå til Verizon-nettadressen , og last ned den resulterende JSON-en (kopier lim den inn i en fil som cdnedgenodes.json)

  3. Plasser filen i samme mappe som skriptet.

  4. Kjør følgende kommando i et PowerShell-vindu. Endre leiernavnet for noe annet hvis du vil ha nettadressene for SPO. Dette er type 2, så optimaliser og tillat (type 1 er bare optimaliser).

    .\Get-TLEPacFile.ps1 -Instance Worldwide -Type 2 -TenantName <contoso> -CdnEdgeNodesFilePath .\cdnedgenodes.json -FilePath TLE.pac
    
  5. TLE.pac-filen vil inneholde alle navneområder og IP-er (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
}

Skriptet analyserer automatisk Azure-listen basert på url-adressen for nedlasting og nøkler fra AzureFrontDoor.Frontend, så det er ikke nødvendig å hente dette manuelt.

Vi anbefaler ikke å utføre VPN-avlastning ved hjelp av bare FQDN-er. bruk av både FQDN-er og IP-adressene i funksjonen bidrar til å begrense bruken av denne avlastningen til et begrenset sett med endepunkter, inkludert direktesendte arrangementer/stream. Måten funksjonen er strukturert på, vil føre til at et DNS-oppslag gjøres for FQDN som samsvarer med de som er oppført direkte av klienten, det vil se ut som DNS-oppløsning for de gjenværende navneområdene forblir uendret.

Hvis du ønsker å begrense risikoen for å avlaste endepunkter som ikke er relatert til Teams-hendelser og Stream, kan du fjerne *.azureedge.net-domenet fra konfigurasjonen som er der mesteparten av denne risikoen ligger, da dette er et delt domene som brukes for alle Azure CDN-kunder. Ulempen med dette er at enhver hendelse som bruker en ekstern koder drevet av Stream, ikke blir optimalisert, men hendelser som produseres/organiseres i Teams, blir det.

3. Konfigurer ruting på VPN for å aktivere direkte utgående trafikk

Det siste trinnet er å legge til en direkte rute for Teams-arrangements-IP-ene som er beskrevet i Innsamling av gjeldende lister over CDN-endepunkter i VPN-konfigurasjonen for å sikre at trafikken ikke sendes via tvungen tunnel inn i VPN. Du finner detaljert informasjon om hvordan du gjør dette for Microsoft 365 Optimize-endepunkter i delen Implementer VPN-delt tunnelering i implementering av VPN-delt tunnelering for Microsoft 365. Prosessen er nøyaktig den samme for Stream- eller Teams-hendelses-ID-ene som er oppført i dette dokumentet.

Vær oppmerksom på at bare IP-er (ikke FQDN-er) fra Innsamling av gjeldende lister over CDN-endepunkter skal brukes til VPN-konfigurasjon.

Vanlige spørsmål

Vil dette sende all trafikken min til tjenesten direkte?

Nei, dette vil sende den ventetidssensitive strømmetrafikken for en Teams-hendelse eller Stream-video direkte, all annen trafikk vil fortsette å bruke VPN-tunnelen hvis de ikke løses til de publiserte IP-ene.

Må jeg bruke IPv6-adressene?

Nei, tilkoblingen kan bare være IPv4 hvis det er nødvendig.

Hvorfor publiseres ikke disse IP-adressene i URL-/IP-tjenesten for Microsoft 365?

Microsoft har strenge kontroller rundt formatet og typen informasjon som finnes i tjenesten, for å sikre at kundene på en pålitelig måte kan bruke informasjonen til å implementere sikker og optimal ruting basert på endepunktkategorien.

Standard endepunktkategori har ingen IP-informasjon angitt av flere årsaker (standard endepunkter kan være utenfor Microsofts kontroll, kan endres for ofte eller være i blokker som deles med andre elementer). Av denne grunn er standard endepunkter utformet for å sendes via FQDN til en undersøkende proxy, for eksempel vanlig nettrafikk.

I dette tilfellet er endepunktene ovenfor CDN-er som kan brukes av andre elementer som ikke er Microsoft-kontrollerte enn direktesendte arrangementer eller Stream, og dermed vil sending av trafikkdirigering også bety at alt annet som løses til disse IP-ene, også sendes direkte fra klienten. På grunn av den unike karakteren av den nåværende globale krisen og for å møte de kortsiktige behovene til kundene våre, har Microsoft gitt informasjonen ovenfor for kunder å bruke slik de passer.

Microsoft arbeider med å konfigurere endepunktene for Teams-hendelser på nytt, slik at de kan inkluderes i kategoriene Tillat/optimaliser endepunkt i fremtiden.

Trenger jeg bare å gi tilgang til disse IP-ene?

Nei, tilgang til alle de obligatoriske merkede endepunktene i URL-adressen/IP-tjenesten er avgjørende for at tjenesten skal fungere. I tillegg kreves alle valgfrie endepunkter som er merket for Stream (ID 41-45).

Hvilke scenarier vil dette rådet dekke?

  1. Direktesendte arrangementer produsert i Teams-appen
  2. Vise Stream-vertsbasert innhold
  3. Produserte hendelser for ekstern enhet (koder)
  4. Teams rådhus

Dekker dette rådet presentatørtrafikk?

Det gjør den ikke; rådene ovenfor er utelukkende for de som bruker tjenesten. Presenting from within Teams will see the presenter's traffic flowing to the Optimize market UDP endpoints listed in URL/IP service row 11 with detailed VPN offload advice outlined in the Implement VPN split tunneling section of Implementing VPN split tunneling for Microsoft 365.

Risikerer denne konfigurasjonen trafikk bortsett fra rådhuset, direktesendte arrangementer & Stream sendes direkte?

Ja, på grunn av delte FQDN-er som brukes for enkelte elementer i tjenesten, er dette uunngåelig. Denne trafikken sendes vanligvis via en bedriftsproxy som kan anvende inspeksjon. I et scenario med delt VPN-tunnel vil bruk av både FQDN-er og IP-er begrense denne risikoen ned til et minimum, men den vil fremdeles eksistere. Kunder kan fjerne *.azureedge.net-domenet fra avlastningskonfigurasjonen og redusere denne risikoen til et minimum, men dette vil fjerne avlastningen av Stream-støttede direktesendte arrangementer (Teams-planlagte, Stream-koderhendelser, Viva Engage hendelser produsert i Teams, Viva Engage planlagte Stream-koderhendelser og Stream-planlagte hendelser eller visning ved behov fra Stream). Arrangementer som er planlagt og produsert i Teams (inkludert rådhuset), påvirkes ikke.

Oversikt: VPN-delt tunnelering for Microsoft 365

Implementere VPN-delt tunnelering for Microsoft 365

Vanlige scenarioer for delt VPN-tunnelering for Microsoft 365

Sikre Teams-medietrafikk for VPN-delt tunnelering

Ytelsesoptimalisering for Microsoft 365 for Kina-brukere

Prinsipper for nettverkstilkobling for Microsoft 365

Vurdering av Nettverkstilkobling for Microsoft 365

Nettverksjustering og ytelsesjustering for Microsoft 365

Alternative måter sikkerhetseksperter og IT-eksperter kan oppnå moderne sikkerhetskontroller på i dagens unike scenarier for eksternt arbeid (Microsoft Security Team-blogg)

Forbedre VPN-ytelsen hos Microsoft: bruke Windows 10 VPN-profiler til å tillate automatisk på-tilkoblinger

Kjører på VPN: Slik holder Microsoft sin eksterne arbeidsstyrke tilkoblet

Microsofts globale nettverk