Considerações especiais sobre eventos do Teams em ambientes VPN

Observação

Este artigo faz parte de um conjunto de artigos que abordam a otimização do Microsoft 365 para utilizadores remotos.

Tráfego de participantes de eventos em direto do Microsoft Teams (inclui participantes em eventos em direto produzidos pelo Teams e produzidos com um codificador externo através do Teams ou Viva Engage) e o tráfego de participantes da Câmara Municipal do Microsoft Teams está atualmente categorizado como Predefinido versus Otimizar na lista DE URL/IP do serviço. Estes pontos finais são categorizados como Predefinidos porque estão alojados em CDNs que também podem ser utilizados por outros serviços. Geralmente, os clientes preferem utilizar o proxy deste tipo de tráfego e aplicar quaisquer elementos de segurança normalmente efetuados em pontos finais como estes.

Muitos clientes pediram dados de URL/IP necessários para ligar os participantes em eventos do Teams diretamente a partir da sua ligação à Internet local, em vez de encaminhar o tráfego sensível à latência e volume elevado através da infraestrutura de VPN. Normalmente, isto não é possível sem espaços de nomes dedicados e informações de IP precisas para os pontos finais, que não são fornecidos para pontos finais do Microsoft 365 categorizados como Predefinição.

Utilize os seguintes passos para identificar e ativar a conectividade direta para o tráfego de participantes para Eventos do Teams de clientes que estão a utilizar uma VPN de túnel forçado. Esta solução destina-se a fornecer aos clientes uma opção para evitar o encaminhamento do tráfego de participantes através da VPN, enquanto existe tráfego de rede elevado devido a cenários de trabalho a partir de casa. Se possível, recomendamos que aceda ao serviço através de um proxy de inspeção.

Observação

Com esta solução, podem existir elementos de serviço que não resolve para os endereços IP fornecidos e, assim, atravessam a VPN, mas a maior parte do tráfego de elevado volume, como os dados de transmissão em fluxo, deve. Podem existir outros elementos fora do âmbito dos Eventos em Direto/Stream que são apanhados por esta descarga, mas estes devem ser limitados, uma vez que têm de cumprir o FQDN e a correspondência de IP antes de serem diretos.

Importante

Recomendamos que pondere o risco de enviar mais tráfego que ignore a VPN sobre o ganho de desempenho dos Eventos do Teams.

Para implementar a exceção de túnel forçado para Eventos do Teams, devem ser aplicados os seguintes passos:

1. Configurar a resolução de DNS externo

Os clientes precisam de uma resolução de DNS externa e recursiva para estarem disponíveis para que os seguintes nomes de anfitrião possam ser resolvidos para endereços IP.

Para a cloud Comercial :

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

*.media.azure.net e *.bmc.cdn.office.net são utilizados para Eventos em Direto produzidos pelo Teams (eventos de Início Rápido e RTMP-In eventos suportados) agendados a partir do cliente do Teams.

*.media.azure.net, *.bmc.cdn.office.net e *.ml.cdn.office.net são utilizados para eventos da Câmara Municipal do Teams.

Observação

Alguns destes pontos finais são partilhados com outros elementos fora dos eventos do Teams. Não recomendamos apenas a utilização destes espaços de nomes para configurar a descarga de VPN, mesmo que tecnicamente possível na sua solução de VPN (por exemplo, se funcionar com o espaço de nomes em vez de IP).

Para as clouds do Governo(GCC, GCC High, DoD):

  • *.cdn.ml.gcc.teams.microsoft.com
  • *.cdn.ml.gov.teams.microsoft.us
  • *.cdn.ml.dod.teams.microsoft.us

*.cdn.ml.gcc.teams.microsoft.com é utilizado para eventos da Câmara Municipal do Teams na Microsoft 365 U.S. Government Community Cloud (GCC).

*.cdn.ml.gov.teams.microsoft.us é utilizado para eventos da Câmara Municipal do Teams no Microsoft 365 U.S. Government GCC High Cloud (GCC High).

*.cdn.ml.dod.teams.microsoft.us é utilizado para eventos da Câmara Municipal do Teams na Microsoft 365 U.S. Government DoD Cloud (DoD).

Os FQDNs não são necessários na configuração da VPN, são exclusivamente utilizados em ficheiros PAC em combinação com os IPs para enviar o tráfego direto relevante.

2. Implementar alterações ao ficheiro PAC (sempre que necessário)

Para organizações que utilizam um ficheiro PAC para encaminhar o tráfego através de um proxy enquanto estiver na VPN, isto é normalmente conseguido com FQDNs. No entanto, com os eventos do Teams, os nomes de anfitrião fornecidos contêm carateres universais que resolve para endereços IP utilizados pelas Redes de Entrega de Conteúdos (CDNs) que não são utilizados exclusivamente para o tráfego de eventos do Teams. Assim, se o pedido for enviado diretamente com base apenas na correspondência de carateres universais DNS, o tráfego para estes pontos finais será bloqueado, uma vez que não existe nenhuma rota através do caminho direto para o mesmo no Passo 3 mais à frente neste artigo.

Para resolver este problema, podemos fornecer os seguintes IPs e utilizá-los em combinação com os nomes de anfitrião num ficheiro PAC de exemplo, conforme descrito no Passo 1. O ficheiro PAC verifica se o URL corresponde aos utilizados para eventos do Teams e, se o fizer, também verifica se o IP devolvido de uma pesquisa DNS corresponde aos fornecidos para o serviço. Se ambos corresponderem , o tráfego é encaminhado diretamente. Se qualquer um dos elementos (FQDN/IP) não corresponder, o tráfego é enviado para o proxy. Como resultado, a configuração garante que tudo o que for resolvido para um IP fora do âmbito do IP e dos espaços de nomes definidos atravessa o proxy através da VPN normalmente.

Recolher as listas atuais de Pontos Finais da CDN

Para a cloud Comercial, os eventos do Teams utilizam vários fornecedores de CDN para transmitir em fluxo para os clientes, para proporcionar a melhor cobertura, qualidade e resiliência. Atualmente, são utilizadas tanto a CDN do Azure da Microsoft como a CDN do Azure da Verizon. Ao longo do tempo, isto pode ser alterado devido a situações como a disponibilidade regional. Este artigo é uma origem que lhe permite manter-se atualizado nos intervalos de IP. Para as clouds do Microsoft 365 para o Governo Norte-Americano (GCC, GCC High e DoD), apenas é utilizada a CDN do Azure da Microsoft.

Para a cloud Comercial :

  • Para a CDN do Azure da Microsoft, pode transferir a lista a partir de Transferir Intervalos de IP do Azure e Etiquetas de Serviço – Cloud Pública a partir do Centro Oficial de Transferências da Microsoft – terá de procurar especificamente a etiqueta AzureFrontdoor.Frontend de serviço no JSON; addressPrefixes mostrará as sub-redes IPv4/IPv6. Ao longo do tempo, os IPs podem ser alterados, mas a lista de etiquetas de serviço é sempre atualizada antes de serem utilizados.

  • Para a CDN do Azure da Verizon (Edgecast), pode encontrar uma lista exaustiva através de Nós edge – Lista (selecione Experimentar ) – terá de procurar especificamente a secção Premium_Verizon . Tenha em atenção que esta API mostra todos os IPs do Edgecast (origem e Anycast). Atualmente, não existe um mecanismo para a API distinguir entre a origem e o Anycast.

Para as clouds do Governo(GCC, GCC High e DoD):

O script seguinte pode gerar um ficheiro PAC que incluirá os espaços de nomes e as listagens de IP para o tráfego de participantes de Eventos do Teams. O parâmetro -Instance determina o ambiente especificado - os valores suportados são [Worldwide, USGov, USGovGCCHigh e UsGovDoD]. Opcionalmente, o script também pode incluir os domínios Otimizar e Permitir, bem como utilizar o parâmetro -Type .

Geração de ficheiros PAC de exemplo para a cloud Comercial

Eis um exemplo de como gerar o ficheiro PAC para a cloud Comercial:

  1. Guarde o script no disco rígido local como Get-EventsPacFile.ps1.

  2. Aceda ao URL da Verizon e transfira o JSON resultante (copie colá-lo num ficheiro com o nome cdnedgenodes.json)

  3. Coloque o ficheiro na mesma pasta que o script.

  4. Numa janela do PowerShell, execute o seguinte comando. Se apenas quiser que os nomes Otimizar (e não Otimizar e Permitir) alterem o parâmetro -Type para Otimizar.

    .\Get-EventsPacFile.ps1 -Instance Worldwide -CdnEdgeNodesFilePath .\cdnedgenodes.json -Type OptimizeAndAllow -FilePath .\Commercial.pac
    
  5. O ficheiro Commercial.pac irá conter todos os espaços de nomes e IPs (IPv4/IPv6) para o tráfego de participantes de Eventos do Teams.

Geração de ficheiros PAC de exemplo para o Microsoft 365 U.S. Government Community Cloud (GCC)

Eis um exemplo de como gerar o ficheiro PAC para o ambiente GCC:

  1. Guarde o script no disco rígido local como Get-EventsPacFile.ps1.

  2. Numa janela do PowerShell, execute o seguinte comando. Se apenas quiser que os nomes Otimizar (e não Otimizar e Permitir) alterem o parâmetro -Type para Otimizar.

    .\Get-EventsPacFile.ps1 -Instance UsGov -Type OptimizeAndAllow -FilePath .\USGov.pac
    
  3. O ficheiro USGov.pac irá conter todos os espaços de nomes e IPs (IPv4/IPv6) específicos da nuvem GCC para o tráfego de participantes da Câmara Municipal do Teams.

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

<#PSScriptInfo

.VERSION 1.0.6

.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 for Teams Events (Live Events, Town hall)

.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. The default is Worldwide. To specify GCC use the USGov value.

.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 Optimize and OptimizeAndAllow, which are 2 different modes of operation.
These values align to the categories defined in our Principles of Network Connectivity at https://aka.ms/pnc

.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-EventsPacFile.ps1 -Instance Worldwide -CdnEdgeNodesFilePath .\cdnedgenodes.json -Type OptimizeAndAllow -FilePath .\Commercial.pac 

.EXAMPLE

Get-EventsPacFile.ps1 -Instance USGov -FilePath .\USGov.pac -Type OptimizeAndAllow


#>

#Requires -Version 2

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

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

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

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

    [Parameter()]
    [ValidateSet('OptimizeOnly','OptimizeAndAllow')]
    [string]
    $Type = 'OptimizeOnly',

    [Parameter()]
    [switch] $Lowercase,

    [Parameter()]
    [ValidateNotNullOrEmpty()]
    [string] $TenantName,

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

    [Parameter()]
    [ValidateNotNullOrEmpty()]
    [string] $FilePath,

    [Parameter()]
    [ValidateNotNullOrEmpty()]
    [string] $CdnEdgeNodesFilePath
)

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

$baseServiceUrl = if ($Instance -eq 'USGov') {
    "https://endpoints.office.com/endpoints/Worldwide/?ClientRequestId=$ClientRequestId"
} else {
    "https://endpoints.office.com/endpoints/$Instance/?ClientRequestId=$ClientRequestId"
}
$directProxyVarName = "direct"
$defaultProxyVarName = "proxyServer"

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

function Get-PacString {
    param(
        [Parameter(ValueFromPipelineByPropertyName)]
        [string[]]
        $NonDirectOverrideFqdns,

        [Parameter(ValueFromPipelineByPropertyName)]
        [string[]]
        $DirectFqdns
    )

    $PACSb = New-Object 'System.Text.StringBuilder'
    $null = & {
        $PACSb.AppendLine('// This PAC file will provide proxy config to Microsoft 365 services')
        $PACSb.AppendLine('// using data from the public web service for all endpoints')
        $PACSb.AppendLine('function FindProxyForURL(url, host)')
        $PACSb.AppendLine('{')
        $PACSb.Append('    var ').Append($directProxyVarName).Append(' = "').Append($DirectProxySettings).AppendLine('";')
        $PACSb.Append('    var ').Append($defaultProxyVarName).Append(' = "').Append($DefaultProxySettings).AppendLine('";')
        if ($Lowercase) {
            $PACSb.AppendLine('    host = host.toLowerCase();')
        }
        $first = $true
        foreach ($fqdn in $NonDirectOverrideFqdns) {
            if ($first) {
                $PACSb.AppendLine()
                $PACSb.AppendLine('    // Force proxy for subdomains of bypassed hosts')
                $PACSb.AppendLine()
                $PACSb.Append('    if(')
            }
            else {
                $PACSb.AppendLine().Append('            || ')
            }
            $first = $false
            $PACSb.Append('shExpMatch(host, "').Append($fqdn).Append('")')
        }
        if (!$first) {
            $PACSb.AppendLine(')')
            $PACSb.AppendLine('    {')
            $PACSb.Append('        return ').Append($directProxyVarName).AppendLine(';')
            $PACSb.AppendLine('    }')
        }

        $first = $true
        foreach ($fqdn in $DirectFqdns) {
            if ($first) {
                $PACSb.AppendLine()
                $PACSb.AppendLine('    // Bypassed hosts')
                $PACSb.AppendLine()
                $PACSb.Append('    if(')
            }
            else {
                $PACSb.AppendLine().Append('            || ')
            }
            $first = $false
            $PACSb.Append('shExpMatch(host, "').Append($fqdn).Append('")')
        }
        if (!$first) {
            $PACSb.AppendLine(')')
            $PACSb.AppendLine('    {')
            $PACSb.Append('        return ').Append($directProxyVarName).AppendLine(';')
            $PACSb.AppendLine('    }')
        }

        if (!$ServiceAreas -or $ServiceAreas.Contains('Skype')) {
            $EventsConfig = Get-TeamsEventsConfiguration
            if ($EventsConfig.EventsAddressRanges.Count -gt 0) {
                $EventsBlock = $EventsConfig | Get-TLEPacConfiguration
                $PACSb.AppendLine()
                $PACSb.AppendLine($EventsBlock)
            }
        }

        $PACSb.Append('    return ').Append($defaultProxyVarName).AppendLine(';').Append('}')
    }

    return $PACSb.ToString()
}

##################################################################################################################
### Functions to get and filter endpoints
##################################################################################################################
function Get-TeamsEventsConfiguration {
    param()
    $IncludedHosts = switch ($Instance) {
        'USGov' {
            @('*.cdn.ml.gcc.teams.microsoft.com')
            break
        }
        'USGovDoD' {
            @('*.cdn.ml.dod.teams.microsoft.us')
            break
        }
        'USGovGCCHigh' {
            @('*.cdn.ml.gov.teams.microsoft.us')
            break
        }
        default {
            @('*.bmc.cdn.office.net', '*.ml.cdn.office.net', '*.media.azure.net')
            break
        }
    }
    $IncludedAddressRanges = & {
        if (!$Instance.StartsWith('USGov') -and ![string]::IsNullOrEmpty($CdnEdgeNodesFilePath) -and (Test-Path -Path $CdnEdgeNodesFilePath)) {
            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 |
                ForEach-Object {
                    $_.ipv4Addresses
                    $_.ipv6Addresses
                } |
                Where-Object { $_.BaseIpAddress } |
                ForEach-Object { $_.BaseIpAddress + '/' + $_.prefixLength }
        }

        $ServiceTagsDownloadId = '56519'
        if ($Instance.StartsWith('USGov')) {
            $ServiceTagsDownloadId = '57063'
        }
        $AzureIPsUrl = Invoke-WebRequest -Uri "https://www.microsoft.com/en-us/download/confirmation.aspx?id=$ServiceTagsDownloadId" -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
        }
    }
    [PSCustomObject]@{
        EventsHostNames = $IncludedHosts
        EventsAddressRanges = $IncludedAddressRanges
    }
}

function Get-TLEPacConfiguration {
    [CmdletBinding()]
    param (
        [Parameter(ValueFromPipelineByPropertyName)]
        [string[]]
        $EventsHostNames,

        [Parameter(ValueFromPipelineByPropertyName)]
        [string[]]
        $EventsAddressRanges
    )
    if ($EventsAddressRanges.Count -eq 0) {
        return ''
    }
    $TLESb = New-Object 'System.Text.StringBuilder'
    $Spaces = '    '
    $null = $TLESb.Append($Spaces).AppendLine('// Bypass Teams Events attendee traffic')
    $first = $true
    $null = foreach ($hostName in $EventsHostNames) {
        if ($first) {
            $TLESb.AppendLine().Append($Spaces).Append('if(')
        }
        else {
            $TLESb.AppendLine().Append($Spaces).Append('    || ')
        }
        $first = $false
        $TLESb.Append('shExpMatch(host, "').Append($hostName).Append('")')
    }
    $null = $TLESb.AppendLine(')').Append($Spaces).AppendLine('{')
    $Spaces = $Spaces + $Spaces
    $null = $TLESb.Append($Spaces).AppendLine('var resolved_ip = dnsResolveEx(host);')

    $first = $true
    $null = foreach ($addressRange in $EventsAddressRanges) {
        if ($first) {
            $TLESb.AppendLine().Append($Spaces).Append('if(')
        } else {
            $TLESb.AppendLine().Append($Spaces).Append('    || ')
        }
        $first = $false
        $TLESb.Append('isInNetEx(resolved_ip, "').Append($addressRange).Append('")')
    }
    if (!$first) {
        $null = $TLESb.AppendLine(')').
            Append($Spaces).AppendLine('{').
            Append($Spaces).Append('    return ').Append($directProxyVarName).AppendLine(';').
            Append($Spaces).AppendLine('}')
    }
    else {
        $null = $TLESb.Append($Spaces).AppendLine('// no addresses found for service via script')
    }
    return $TLESb.AppendLine('    }').ToString()
}

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

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

    $Include = if ($Type -eq 'OptimizeOnly') { @('Optimize') } else { @('Optimize', 'Allow') }

    $directUrls = $endpoints |
        Where-Object { $_.category -in $Include } |
        Where-Object { $_.urls } |
        ForEach-Object { $_.urls } |
        Sort-Object -Unique

    $MatchList = [Collections.Generic.Dictionary[string,Regex]]@{}
    $directUrls |
        Where-Object { $_.Contains('*') -or $_.Contains('?') } |
        ForEach-Object { $MatchList[$_] = [Regex]::new('^{0}$' -f $_.Replace('.','\.').Replace('*','.*').Replace('?','.?'),[Text.RegularExpressions.RegexOptions]::IgnoreCase) }

    $nonDirectPriorityUrls = $endpoints |
        Where-Object { $_.category -notin $Include } |
        Where-Object { $_.urls } |
        ForEach-Object { $_.urls } |
        Sort-Object -Unique |
        Where-Object { [Linq.Enumerable]::Any($MatchList,[Func[System.Collections.Generic.KeyValuePair[string,Regex],bool]]{$args[0].Key -ne $_ -and $args[0].Value.IsMatch($_)}) }

    return [PSCustomObject]@{
        NonDirectOverrideFqdns = $nonDirectPriorityUrls
        DirectFqdns = $directUrls
    }
}

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

$content = Get-MapVarUrls | Get-PacString

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

O script analisará automaticamente a lista da CDN do Azure adequada com base no valor do parâmetro instance e nas chaves de fora de AzureFrontDoor.Frontend, pelo que não é necessário obtê-lo manualmente.

Mais uma vez, não recomendamos a execução da descarga de VPN apenas com os FQDNs; A utilização dos FQDNs e dos endereços IP na função ajuda a definir o âmbito da utilização desta descarga para um conjunto limitado de pontos finais, incluindo Eventos do Teams. A forma como a função é estruturada resultará na realização de uma pesquisa de DNS para o FQDN que corresponda diretamente às listadas pelo cliente, ou seja, a resolução de DNS dos restantes espaços de nomes permanece inalterada.

3. Configurar o encaminhamento na VPN para ativar a saída direta

O passo final é adicionar uma rota direta para os IPs de eventos do Teams descritos em Reunir as listas atuais de Pontos Finais da CDN na configuração da VPN para garantir que o tráfego não é enviado através do túnel forçado para a VPN. Pode encontrar informações detalhadas sobre como fazê-lo para os pontos finais da Otimização do Microsoft 365 na secção Implementar túnel dividido de VPN da Implementação de túneis divididos de VPN para o Microsoft 365. O processo é exatamente o mesmo para os IPs de eventos do Teams listados neste documento.

Observação

Apenas os IPs (não FQDNs) de Recolher as listas atuais de Pontos Finais da CDN devem ser utilizados para a configuração de VPN.

Perguntas frequentes

Isto irá enviar todo o meu tráfego para o serviço diretamente?

Não, isto irá enviar o tráfego de transmissão em fluxo sensível à latência para um participante do Evento do Teams diretamente, qualquer outro tráfego continuará a utilizar o túnel VPN se não resolve para os IPs publicados.

Preciso de utilizar os Endereços IPv6?

Não, a conectividade só pode ser IPv4 se for necessário.

Por que motivo estes IPs não são publicados no serviço URL/IP do Microsoft 365?

A Microsoft tem controlos rigorosos em torno do formato e tipo de informação que está no serviço para garantir que os clientes podem utilizar de forma fiável as informações para implementar o encaminhamento seguro e ideal com base na categoria de ponto final.

A categoria Ponto final predefinido não tem informações de IP fornecidas por vários motivos (os pontos finais predefinidos podem estar fora do controlo da Microsoft, podem ser alterados com demasiada frequência ou estar em blocos partilhados com outros elementos). Por este motivo, os Pontos finais predefinidos foram concebidos para serem enviados através do FQDN para um proxy de inspeção, como o tráfego Web normal.

Neste caso, os pontos finais acima são CDNs que podem ser utilizadas por elementos não controlados pela Microsoft que não sejam Eventos do Teams, pelo que enviar o tráfego direto também significará qualquer outra coisa que resolva para estes IPs também será enviado diretamente do cliente. Devido à natureza única da crise global atual e ao satisfazer as necessidades a curto prazo dos nossos clientes, a Microsoft forneceu as informações acima para que os clientes possam utilizar conforme entenderem.

A Microsoft está a trabalhar para reconfigurar os pontos finais de eventos do Teams para permitir que sejam incluídos nas categorias de ponto final Permitir/Otimizar no futuro.

Só preciso de permitir o acesso a estes IPs?

Não, o acesso a todos os Pontos finais marcados necessários para o ambiente adequado é essencial para o serviço funcionar.

Que cenários serão apresentados por este conselho?

  1. Eventos em direto produzidos na Aplicação Teams
  2. Eventos produzidos por dispositivos externos (codificador)
  3. Câmara Municipal do Teams

Este conselho abrange o tráfego do apresentador?

Não tem; o conselho acima é puramente para os participantes do evento. A apresentação a partir do Teams verá o tráfego do apresentador a fluir para os pontos finais UDP marcados como Otimizado listados na linha de serviço URL/IP 11 com conselhos detalhados de descarga de VPN descritos na secção Implementar túnel dividido de VPN de Implementar o túnel dividido de VPN para o Microsoft 365.

Descrição geral: túnel dividido de VPN para o Microsoft 365

Implementar o túnel dividido de VPN para o Microsoft 365

Cenários comuns de túnel dividido de VPN para o Microsoft 365

Protegendo o tráfego de mídia do Teams para túnel dividido de VPN

Otimização do desempenho do Microsoft 365 para utilizadores da China

Princípios de Conectividade de Rede do Microsoft 365

Avaliando a conectividade de rede do Microsoft 365

Otimização da rede e do desempenho do Microsoft 365

Maneiras alternativas para profissionais de segurança e TI alcançarem controles de segurança modernos nos cenários atuais de trabalho remoto (blog da equipe de segurança da Microsoft)

Melhorar o desempenho da VPN na Microsoft: usar perfis VPN do Windows 10 para permitir conexões automáticas

Trabalhando no VPN: Como a Microsoft mantém sua força de trabalho remota conectada

Rede global da Microsoft