Delen via


Speciale overwegingen voor Stream- en Teams-gebeurtenissen in VPN-omgevingen

Opmerking

Dit artikel maakt deel uit van een reeks artikelen over Microsoft 365-optimalisatie voor externe gebruikers.

Microsoft 365 Live Events-deelnemersverkeer (dit omvat deelnemers aan door Teams geproduceerde livegebeurtenissen en die zijn geproduceerd met een externe encoder via Teams, Stream of Viva Engage), verkeer van deelnemers in het stadhuis van Microsoft Teams en verkeer van stream-deelnemers op aanvraag is momenteel gecategoriseerd als Standaard versus Optimaliseren in de URL/IP-lijst voor de service. Deze eindpunten worden gecategoriseerd als Standaard omdat ze worden gehost op CDN's die ook door andere services kunnen worden gebruikt. Klanten geven er over het algemeen de voorkeur aan om dit type verkeer te proxyen en alle beveiligingselementen toe te passen die normaal gesproken worden uitgevoerd op eindpunten zoals deze.

Veel klanten hebben gevraagd om URL/IP-gegevens die nodig zijn om hun deelnemers rechtstreeks vanuit hun lokale internetverbinding te verbinden met Stream- of Teams-gebeurtenissen, in plaats van het verkeer met hoge volumes en latentiegevoelige verkeer te routeren via de VPN-infrastructuur. Dit is meestal niet mogelijk zonder zowel toegewezen naamruimten als nauwkeurige IP-informatie voor de eindpunten, die niet is opgegeven voor Microsoft 365-eindpunten die zijn gecategoriseerd als Standaard.

Gebruik de volgende stappen om directe connectiviteit in te schakelen voor de Stream- of Teams-gebeurtenisservices van clients met behulp van een VPN met een geforceerde tunnel. Deze oplossing is bedoeld om klanten een optie te bieden om het verkeer van deelnemers aan gebeurtenissen via VPN te voorkomen terwijl er veel netwerkverkeer is vanwege scenario's met thuiswerk. Indien mogelijk raden we u aan de service te openen via een controlerende proxy.

Opmerking

Als u deze oplossing gebruikt, zijn er mogelijk service-elementen die niet worden omgezet in de opgegeven IP-adressen en dus de VPN-verbinding doorkruisen, maar het grootste deel van het verkeer met grote volumes, zoals streaminggegevens, moet dat wel doen. Er kunnen andere elementen buiten het bereik van livegebeurtenissen/stream zijn die worden gevangen door deze offload, maar deze moeten beperkt zijn omdat ze moeten voldoen aan zowel de FQDN als de IP-overeenkomst voordat ze direct gaan.

Belangrijk

We raden u aan om het risico van het verzenden van meer verkeer dat de VPN omzeilt, af te wegen via de prestatieverbetering voor livegebeurtenissen.

Als u de uitzondering voor geforceerde tunnels wilt implementeren voor Teams-gebeurtenissen en Stream, moeten de volgende stappen worden toegepast:

1. Externe DNS-resolutie configureren

Clients moeten externe, recursieve DNS-omzetting beschikbaar zijn, zodat de volgende hostnamen kunnen worden omgezet in IP-adressen.

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

*.azureedge.net wordt gebruikt voor Stream-gebeurtenissen (encoders configureren voor live streamen in Microsoft Stream - Microsoft Stream | Microsoft Docs).

*.media.azure.net en *.bmc.cdn.office.net worden gebruikt voor door Teams geproduceerde livegebeurtenissen (snelstartgebeurtenissen en RTMP-In ondersteunde gebeurtenissen) die zijn gepland vanuit de Teams-client.

*.media.azure.net, *.bmc.cdn.office.net en *.ml.cdn.office.net worden gebruikt voor Teams Town Hall-evenementen.

Sommige van deze eindpunten worden gedeeld met andere elementen buiten Stream- of Teams-gebeurtenissen. We raden u niet aan alleen deze FQDN's te gebruiken om VPN-offload te configureren, zelfs als dit technisch mogelijk is in uw VPN-oplossing (bijvoorbeeld als deze werkt op de FQDN in plaats van ip).

FQDN's zijn niet vereist in de VPN-configuratie, ze zijn uitsluitend voor gebruik in PAC-bestanden in combinatie met de IP-adressen om het relevante verkeer direct te verzenden.

2. Pac-bestandswijzigingen implementeren (indien nodig)

Voor organisaties die gebruikmaken van een PAC-bestand om verkeer via een proxy te routeren terwijl ze een VPN gebruiken, wordt dit normaal gesproken bereikt met behulp van FQDN's. Bij Stream/Live Events/Town Hall bevatten de opgegeven hostnamen echter jokertekens zoals *.azureedge.net, die ook andere elementen omvatten waarvoor het niet mogelijk is om volledige IP-vermeldingen te verstrekken. Als de aanvraag dus direct wordt verzonden op basis van dns-jokertekenovereenkomst, wordt verkeer naar deze eindpunten geblokkeerd omdat er geen route via het directe pad hiervoor is in stap 3 verderop in dit artikel.

Om dit op te lossen, kunnen we de volgende IP-adressen opgeven en deze gebruiken in combinatie met de hostnamen in een voorbeeld-PAC-bestand, zoals beschreven in stap 1. Het PAC-bestand controleert of de URL overeenkomt met de URL die wordt gebruikt voor Stream/Live Events/Town Hall. Als dat het geval is, wordt vervolgens ook gecontroleerd of het IP-adres dat wordt geretourneerd door een DNS-zoekopdracht overeenkomt met het IP-adres dat is opgegeven voor de service. Als beide overeenkomen, wordt het verkeer direct gerouteerd. Als een van de elementen (FQDN/IP) niet overeenkomt, wordt het verkeer naar de proxy verzonden. Als gevolg hiervan zorgt de configuratie ervoor dat alles wat wordt omgezet naar een IP buiten het bereik van zowel het IP-adres als de gedefinieerde naamruimten, de proxy via de VPN passeert zoals normaal.

De huidige lijsten met CDN-eindpunten verzamelen

Teams-gebeurtenissen maken gebruik van meerdere CDN-providers om te streamen naar klanten, om de beste dekking, kwaliteit en tolerantie te bieden. Momenteel worden zowel Azure CDN van Microsoft als van Verizon gebruikt. In de loop van de tijd kan dit worden gewijzigd vanwege situaties zoals regionale beschikbaarheid. Dit artikel is een bron waarmee u op de hoogte kunt blijven van IP-bereiken.

Voor Azure CDN van Microsoft kunt u de lijst downloaden via Azure IP-bereiken en servicetags downloaden – Openbare cloud downloaden in het officiële Microsoft Downloadcentrum . U moet specifiek zoeken naar de servicetag AzureFrontdoor.Frontend in de JSON; addressPrefixes geeft de IPv4-/IPv6-subnetten weer. Na verloop van tijd kunnen de IP-adressen worden gewijzigd, maar de lijst met servicetags wordt altijd bijgewerkt voordat ze in gebruik worden gesteld.

Voor Azure CDN van Verizon (Edgecast) kunt u een volledige lijst vinden met behulp van Edge-knooppunten - Lijst (selecteer Uitproberen ). U moet specifiek zoeken naar de sectie Premium_Verizon . Houd er rekening mee dat deze API alle Edgecast-IP-adressen (origin en Anycast) weergeeft. Er is momenteel geen mechanisme voor de API om onderscheid te maken tussen origin en Anycast.

Als u dit wilt implementeren in een PAC-bestand, kunt u het volgende voorbeeld gebruiken waarmee de Microsoft 365 Optimize traffic direct (wat aanbevolen best practice is) via FQDN wordt verzonden, en het kritieke stream-/livegebeurtenisverkeer direct via een combinatie van de FQDN en het geretourneerde IP-adres. De tijdelijke aanduiding voor de naam Contoso moet worden bewerkt naar de naam van uw specifieke tenant, waarbij contoso afkomstig is van contoso.onmicrosoft.com

Voorbeeld van PAC-bestand

Hier volgt een voorbeeld van het genereren van de PAC-bestanden:

  1. Sla het onderstaande script op uw lokale harde schijf op als Get-TLEPacFile.ps1.

  2. Ga naar de Verizon-URL en download de resulterende JSON (kopieer deze in een bestand zoals cdnedgenodes.json)

  3. Plaats het bestand in dezelfde map als het script.

  4. Voer in een PowerShell-venster de volgende opdracht uit. Wijzig de tenantnaam voor iets anders als u de SPO-URL's wilt. Dit is Type 2, dus Optimaliseren en Toestaan (type 1 is alleen Optimaliseren).

    .\Get-TLEPacFile.ps1 -Instance Worldwide -Type 2 -TenantName <contoso> -CdnEdgeNodesFilePath .\cdnedgenodes.json -FilePath TLE.pac
    
  5. Het bestand TLE.pac bevat alle naamruimten en IP-adressen (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
}

Met het script wordt de Azure-lijst automatisch geparseerd op basis van de download-URL en sleutels van AzureFrontDoor.Frontend, zodat u deze niet handmatig hoeft op te halen.

Nogmaals, we raden niet aan om VPN-offload uit te voeren met alleen de FQDN's; Door zowel de FQDN's als de IP-adressen in de functie te gebruiken, kunt u het gebruik van deze offload beperken tot een beperkte set eindpunten, waaronder livegebeurtenissen/stream. De manier waarop de functie is gestructureerd, leidt ertoe dat er een DNS-zoekopdracht wordt uitgevoerd voor de FQDN die rechtstreeks overeenkomt met de dns-resolutie van de resterende naamruimten.

Als u het risico wilt beperken van offloading-eindpunten die niet zijn gerelateerd aan Teams-gebeurtenissen en Stream, kunt u het domein *.azureedge.net verwijderen uit de configuratie, waar het grootste deel van dit risico ligt, omdat dit een gedeeld domein is dat wordt gebruikt voor alle Azure CDN-klanten. Het nadeel hiervan is dat elke gebeurtenis die gebruikmaakt van een externe encoder die wordt aangedreven door Stream, niet wordt geoptimaliseerd, maar gebeurtenissen die in Teams worden geproduceerd/georganiseerd wel.

3. Routering configureren op de VPN om direct uitgaand verkeer in te schakelen

De laatste stap is het toevoegen van een directe route voor de Teams-gebeurtenis-IP's die worden beschreven in De huidige lijsten met CDN-eindpunten verzamelen in de VPN-configuratie om ervoor te zorgen dat het verkeer niet via de geforceerde tunnel naar het VPN wordt verzonden. Gedetailleerde informatie over hoe u dit doet voor Microsoft 365 Optimize-eindpunten vindt u in de sectie Vpn-gesplitste tunneling implementeren in Vpn-split tunneling implementeren voor Microsoft 365. Het proces is precies hetzelfde voor de IP-adressen van Stream- of Teams-gebeurtenissen die in dit document worden vermeld.

Houd er rekening mee dat alleen de IP's (geen FQDN's) van Het verzamelen van de huidige lijsten met CDN-eindpunten moeten worden gebruikt voor VPN-configuratie.

Veelgestelde vragen

Wordt al mijn verkeer rechtstreeks naar de service verzonden?

Nee, hiermee wordt het latentiegevoelige streamingverkeer voor een Teams-gebeurtenis of Stream-video direct verzonden. Al het andere verkeer blijft de VPN-tunnel gebruiken als het niet wordt omgezet naar de gepubliceerde IP-adressen.

Moet ik de IPv6-adressen gebruiken?

Nee, de connectiviteit kan alleen IPv4 zijn als dat nodig is.

Waarom worden deze IP-adressen niet gepubliceerd in de Microsoft 365 URL/IP-service?

Microsoft heeft strikte controles voor de indeling en het type informatie in de service om ervoor te zorgen dat klanten de informatie betrouwbaar kunnen gebruiken om veilige en optimale routering te implementeren op basis van eindpuntcategorie.

De categorie Standaardeindpunt bevat om verschillende redenen geen IP-informatie (standaardeindpunten kunnen buiten de controle van Microsoft staan, kunnen te vaak worden gewijzigd of bevinden zich in blokken die worden gedeeld met andere elementen). Daarom zijn standaardeindpunten ontworpen om via FQDN te worden verzonden naar een controlerende proxy, zoals normaal webverkeer.

In dit geval zijn de bovenstaande eindpunten CDN's die kunnen worden gebruikt door niet-Door Microsoft beheerde elementen dan livegebeurtenissen of Stream, en dus betekent het verzenden van het verkeer direct ook dat alles wat naar deze IP-adressen wordt omgezet, ook rechtstreeks vanuit de client wordt verzonden. Vanwege de unieke aard van de huidige wereldwijde crisis en om te voldoen aan de kortetermijnbehoeften van onze klanten, heeft Microsoft de bovenstaande informatie verstrekt voor klanten die ze naar eigen goeddunken kunnen gebruiken.

Microsoft werkt aan het opnieuw configureren van de eindpunten voor Teams-gebeurtenissen, zodat deze in de toekomst kunnen worden opgenomen in de eindpuntcategorieën Toestaan/optimaliseren.

Moet ik alleen toegang tot deze IP-adressen toestaan?

Nee, toegang tot alle vereiste gemarkeerde eindpunten in de URL/IP-service is essentieel om de service te laten werken. Bovendien is elk optioneel eindpunt dat is gemarkeerd voor Stream (id 41-45) vereist.

Welke scenario's worden in dit advies behandeld?

  1. Livegebeurtenissen geproduceerd in de Teams-app
  2. Door Stream gehoste inhoud weergeven
  3. Gebeurtenissen die zijn geproduceerd door extern apparaat (encoder)
  4. Teams Stadhuis

Heeft dit advies betrekking op het verkeer van presentatoren?

Dat is niet zo; het bovenstaande advies is uitsluitend bedoeld voor degenen die de service gebruiken. Als u vanuit Teams presenteert, stroomt het verkeer van de presentator naar de UDP-eindpunten optimaliseren die worden vermeld in URL/IP-servicerij 11, met gedetailleerd advies over VPN-offloads dat wordt beschreven in de sectie VPN-gesplitste tunneling implementeren van Vpn-gesplitste tunneling implementeren voor Microsoft 365.

Loopt deze configuratie het risico dat andere verkeer dan Town Hall, Live Events & Stream direct wordt verzonden?

Ja, vanwege gedeelde FQDN's die worden gebruikt voor sommige elementen van de service, is dit onvermijdelijk. Dit verkeer wordt normaal gesproken verzonden via een bedrijfsproxy die inspectie kan toepassen. In een scenario met gesplitste VPN-tunnel wordt dit risico beperkt door zowel de FQDN's als de IP-adressen te gebruiken, maar het blijft bestaan. Klanten kunnen het domein *.azureedge.net verwijderen uit de offloadconfiguratie en dit risico tot een minimum beperken, maar hierdoor wordt de offload van door Stream ondersteunde livegebeurtenissen (Geplande Teams, Stream Encoder-gebeurtenissen, Viva Engage gebeurtenissen geproduceerd in Teams, Viva Engage geplande Stream Encoder-gebeurtenissen en Geplande Stream-gebeurtenissen of weergave op aanvraag vanuit Stream) verwijderd. Gebeurtenissen die zijn gepland en geproduceerd in Teams (inclusief gemeentehuis) worden niet beïnvloed.

Overzicht: VPN split tunneling voor Microsoft 365

VPN split tunneling implementeren voor Microsoft 365

Veelvoorkomende scenario's voor vpn-split tunneling voor Microsoft 365

Teams-mediaverkeer beveiligen voor gesplitste VPN-tunneling

Microsoft 365-prestatieoptimalisatie voor China-gebruikers

Microsoft 365-netwerkconnectiviteitsprincipes

Microsoft 365-netwerkverbindingen evalueren

Microsoft 365-netwerk en prestaties afstemmen

Alternatieve manieren voor beveiligingsprofessionals en IT om moderne beveiligingscontroles te realiseren in de huidige unieke scenario's voor extern werken (Microsoft Security Team-blog)

VPN-prestaties bij Microsoft verbeteren: Windows 10 VPN-profielen gebruiken om automatische verbindingen toe te staan

Uitvoeren op VPN: hoe Microsoft zijn externe werknemers verbonden houdt

Wereldwijd netwerk van Microsoft