VPN 環境中Teams活動的特殊考慮
注意事項
本文是一組文章的一部分,可解決遠端使用者Microsoft 365 優化問題。
- 如需使用 VPN 分割通道來優化遠端使用者Microsoft 365 連線的概觀,請參閱 概觀:適用於 Microsoft 365 的 VPN 分割通道。
- 如需實作 VPN 分割通道的詳細指引,請參閱 實作 Microsoft 365 的 VPN 分割通道。
- 如需 VPN 分割通道案例的詳細清單,請參閱 Microsoft 365 的常見 VPN 分割通道案例。
- 如需在 VPN 分割通道環境中保護 Teams 媒體流量的指引,請參閱 保護適用於 VPN 分割通道的 Teams 媒體流量。
- 如需針對中國用戶優化 Microsoft 365 全球租使用者效能的相關信息,請參閱 Microsoft 365 中國使用者的效能優化。
Microsoft Teams 即時活動出席者流量 (這包括 Teams 產生的即時活動的出席者,以及透過 Teams 或 Viva Engage) 和 Microsoft Teams 全體大會出席者流量透過外部編碼器產生的活動,目前會在服務的 URL/IP 清單中分類為預設與優化。 這些端點會分類為 預設值 ,因為它們裝載於其他服務可能也會使用的CDN上。 客戶通常偏好 Proxy 這種類型的流量,並套用通常在這類端點上執行的任何安全性元素。
許多客戶要求使用 URL/IP 數據,以直接從本機因特網連線在 Teams 活動中連線出席者,而不是透過 VPN 基礎結構路由傳送大量和延遲敏感流量。 一般而言,若沒有專用命名空間和端點的正確IP資訊,就無法這麼做,因為Microsoft將365個端點分類為 預設值。
使用下列步驟來識別並啟用來自使用強制通道 VPN 之用戶端之 Teams 活動的出席者流量直接連線。 此解決方案旨在為客戶提供一個選項,以避免在因家工作案例而導致網路流量偏高時,透過 VPN 路由傳送出席者流量。 可能的話,建議您透過檢查 Proxy 存取服務。
注意事項
使用此解決方案時,可能會有服務元素無法解析為提供的IP位址,因此會周遊 VPN,但串流數據等大量流量應該會發生。 在即時事件/Stream 範圍之外,可能有其他元素會被這個卸除攔截,但這些項目應該受到限制,因為它們必須符合 FQDN 和 IP 比對,才能直接進行。
重要事項
我們建議您權衡傳送更多流量的風險,這些流量會略過 VPN,而不是 Teams 事件的效能提升。
若要實作Teams事件的強制通道例外狀況,應套用下列步驟:
1.設定外部 DNS 解析
用戶端需要外部遞歸 DNS 解析才能使用,才能將下列主機名解析為 IP 位址。
針對 商業 雲端:
- *.media.azure.net
- *.bmc.cdn.office.net
- *.ml.cdn.office.net
*.media.azure.net 和 *.bmc.cdn.office.net 用於 Teams 產生的即時活動 (快速入門活動,以及 RTMP-In 從 Teams 用戶端排程的支持活動) 。
*.media.azure.net、 *.bmc.cdn.office.net 和 *.ml.cdn.office.net 用於 Teams 全體大會活動。
注意事項
其中一些端點會與 Teams 活動以外的其他元素共用。 我們不建議只使用這些命名空間來設定 VPN 卸除,即使技術上可能在您的 VPN 解決方案中 (,例如,如果它可與命名空間搭配運作,而不是 IP) 。
針對 政府 雲 端 (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 用於 Microsoft 365 美國政府社群雲端 (GCC) 中的 Teams 全體大會活動。
*.cdn.ml.gov.teams.microsoft.us 用於Microsoft 365 美國政府 GCC High Cloud (GCC High) 中的 Teams 全體大會活動。
*.cdn.ml.dod.teams.microsoft.us 用於 Microsoft 365 美國政府 DoD Cloud (DoD) 中的 Teams 全體大會活動。
VPN 組態中不需要 FQDN,它們僅供 PAC 檔案搭配 IP 使用,以直接傳送相關的流量。
2.在需要時實作 PAC 檔案變更 ()
對於使用 PAC 檔案在 VPN 上透過 Proxy 路由傳送流量的組織而言,這通常是使用 FQDN 來達成。 不過,使用 Teams 事件時,提供的主機名包含通配符,可解析為內容傳遞網路所使用的 IP 位址 (CDN) ,而這些位址不會專門用於 Teams 事件流量。 因此,如果直接根據 DNS 通配符比對傳送要求,這些端點的流量將會遭到封鎖,因為本文稍後的 步驟 3 中沒有透過其直接路徑的路由。
若要解決此問題,我們可以提供下列IP,並將其與範例 PAC 檔案中的主機名搭配使用,如 步驟 1 中所述。 PAC 檔案會檢查 URL 是否符合用於 Teams 事件的 URL,如果符合,則也會檢查從 DNS 查閱傳回的 IP 是否符合為服務提供的 IP。 如果 兩者相 符,則會直接路由傳送流量。 如果其中一個元素 (FQDN/IP) 不相符,則流量會傳送至 Proxy。 因此,組態可確保解析為IP和已定義命名空間範圍之外之IP的任何專案,都會如常透過VPN周遊 Proxy。
收集 CDN 端點的目前清單
針對商業雲端,Teams 活動會使用多個 CDN 提供者串流至客戶,以提供最佳涵蓋範圍、品質和復原能力。 目前,會使用來自 Microsoft 的 Azure CDN 和來自 Verizon 的 Azure CDN。 經過一段時間后,這可能會因為區域可用性之類的情況而變更。 本文是讓您隨時掌握IP範圍的來源。 針對 Microsoft 365 美國政府雲端 (GCC、GCC High 和 DoD) 只會使用來自 Microsoft 的 Azure CDN。
針對 商業 雲端:
針對來自 Microsoft 的 Azure CDN,您可以從從 官方Microsoft下載中心下載 Azure IP 範圍和服務標籤 – 公用雲 端 - 您必須特別尋找 JSON 中的服務標籤
AzureFrontdoor.Frontend
; addressPrefixes 會顯示 IPv4/IPv6 子網。 經過一段時間后,IP 可能會變更,但服務標籤清單一律會在它們開始使用之前更新。針對來自 Verizon 的 Azure CDN (Edgecast) 您可以使用 Edge 節點找到 詳盡的清單 - 列出 (選取 [ 試用 ) - 您必須特別尋找 [Premium_Verizon ] 區段。 請注意,此 API 會顯示源 (和 Anycast) 的所有 Edgecast IP。 目前沒有可讓 API 區分原點和 Anycast 的機制。
針對 GCC (政府 雲端 ,GCC High 和 DoD) :
- 針對來自 Microsoft 的 Azure CDN,您可以從從 官方Microsoft下載中心下載 Azure IP 範圍和服務標籤 – US Gov 雲端 - 您必須特別尋找 JSON 中的服務標籤
AzureFrontdoor.Frontend
; addressPrefixes 會顯示 IPv4/IPv6 子網。 經過一段時間后,IP 可能會變更,但服務標籤清單一律會在它們開始使用之前更新。
下列腳本可以產生 PAC 檔案,其中包含 Teams 活動出席者流量的命名空間和 IP 清單。 -Instance 參數會決定指定的環境 - 支援的值為 [Worldwide、USGov、USGovGCCHigh 和 UsGovDoD]。 或者,腳本也可以包含優化和允許網域,以及使用 -Type 參數。
商業雲端的 PAC 檔案產生範例
以下是如何產生商業雲端 PAC 檔案的範例:
將文稿儲存至本機硬碟 , Get-EventsPacFile.ps1。
移至 Verizon URL 並下載產生的 JSON (將它複製到名為 cdnedgenodes.json)
將檔案放入與腳本相同的資料夾中。
在 PowerShell 視窗中,執行下列命令。 如果您只想要優化名稱 (,而不是優化和允許) 將 -Type 參數變更為 Optimize。
.\Get-EventsPacFile.ps1 -Instance Worldwide -CdnEdgeNodesFilePath .\cdnedgenodes.json -Type OptimizeAndAllow -FilePath .\Commercial.pac
Commercial.pac 檔案將包含所有命名空間和IP (IPv4/IPv6) Teams 活動出席者流量。
Microsoft 365 美國政府社群雲端 (GCC) 的 PAC 檔案產生範例
以下是如何為 GCC 環境產生 PAC 檔案的範例:
將文稿儲存至本機硬碟 , Get-EventsPacFile.ps1。
在 PowerShell 視窗中,執行下列命令。 如果您只想要優化名稱 (,而不是優化和允許) 將 -Type 參數變更為 Optimize。
.\Get-EventsPacFile.ps1 -Instance UsGov -Type OptimizeAndAllow -FilePath .\USGov.pac
USGov.pac 檔案將包含所有命名空間和IP (IPv4/IPv6) 專屬於Teams全體大會出席者流量的 GCC 雲端。
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
}
腳本會根據 AzureFrontDoor.Frontend 的 Instance 參數值和索引鍵,自動剖析適當的 Azure CDN 清單,因此不需要手動取得該清單。
同樣地,我們不建議只使用 FQDN 來執行 VPN 卸除; 同時利用 函式中的 FQDN 和 IP 位址,有助於將此卸除的使用範圍限定為一組有限的端點,包括 Teams 事件。 函式的結構化方式會導致 FQDN 的 DNS 查閱與用戶端直接列出的 FQDN 相符,也就是剩餘命名空間的 DNS 解析保持不變。
3.在 VPN 上設定路由以啟用直接輸出
最後一個步驟是新增 Teams 事件 IP 的直接路由,如將 CDN 端點的目前清單收集 到 VPN 組態中所述,以確保流量不會透過強制通道傳送至 VPN。 如需如何針對 Microsoft 365 優化端點執行這項操作的詳細資訊,請參閱為 Microsoft 365 實作 VPN 分割通道的實作 VPN 分割通道一節。 此程式與本檔中列出的 Teams 活動 IP 完全相同。
注意事項
只有從 收集目前CDN端點清單) 的IP (不是 FQDN,才應該用於 VPN 組態。
常見問題集
這會將我所有的流量直接傳送至服務嗎?
否,這會傳送 Teams 事件出席者直接的延遲敏感串流流量,如果任何其他流量未解析為發佈的 IP,則會繼續使用 VPN 通道。
我需要使用 IPv6 位址嗎?
否,連線能力只能在必要時為IPv4。
為什麼這些IP未在 Microsoft 365 URL/IP 服務中發佈?
Microsoft對於服務中的資訊格式和類型具有嚴格的控制,以確保客戶可以可靠地使用該資訊,根據端點類別實作安全且最佳的路由。
默認端點類別沒有提供IP資訊,原因有很多 (預設端點可能不在Microsoft的控制範圍之外、變更頻率過高,或可能位於與其他元素共用的區塊中) 。 基於這個理由,預設端點的設計目的是要透過 FQDN 傳送至檢查中的 Proxy,例如一般 Web 流量。
在此情況下,上述端點是CDN,可能會由Teams事件以外的非Microsoft受控制元素使用,因此傳送流量直接傳輸也表示也會直接從用戶端傳送解析為這些IP的任何其他專案。 由於目前全球危機的獨特本質,以及為了符合客戶的短期需求,Microsoft提供上述資訊,讓客戶能夠視方式使用。
Microsoft正致力於重新設定 Teams 事件端點,以允許它們在未來包含在 [允許/優化端點] 類別中。
我是否只需要允許存取這些IP?
否,存取適當環境的所有 必要 標示端點對於服務運作而言是不可或缺的。
- 全球,包括 GCC: 全球端點
- Microsoft 365 美國政府 GCC High: GCC High 的端點
- Microsoft 365 美國政府檔: DoD 的端點
此建議將涵蓋哪些案例?
- Teams 應用程式內產生的即時活動
- 產生事件) 外部裝置 (編碼器
- Teams 全體大會
此建議是否涵蓋演示者流量?
但不行;上述建議僅供參加活動的人員使用。 從 Teams 內進行簡報時,演示者的流量會流向 URL/IP 服務第 11 列中所列的優化標示 UDP 端點,其中包含實作 VPN 分割 通道的實 作 VPN 分割通道一節中所述的詳細 VPN 卸除建議Microsoft 365。
相關文章
概觀:適用於 Microsoft 365 的 VPN 分割通道
適用於 Microsoft 365 的常見 VPN 分割通道案例
在今日獨特的遠端工作情境中,安全專業人員與 IT 達到現代安全控制的另一種方法 (Microsoft 安全小組部落格) (英文)
Microsoft 強化 VPN 效能:使用 Windows 10 VPN 設定檔以允許自動連線功能