在安裝適用於 Microsoft Intune 的 Microsoft 通道 VPN 閘道之前,請先檢閱並設定必要條件。 必要條件包括使用執行容器的 Linux 伺服器來裝載通道伺服器軟體。 同時規劃設定您的網路、防火牆和 Proxy,以支援 Microsoft 通道的通訊。
綜上所述,Microsoft 通道需要:
Azure 訂用帳戶。
Microsoft Intune 方案 1 訂閱。
注意事項
此先決條件適用於 Microsoft Tunnel,不包括行動應用程式管理的 Microsoft Tunnel,這是 Microsoft Intune 進階功能,需要 Microsoft Intune 以外的額外授權。
若要完成 Microsoft Tunnel 的設定,您將用來向 Microsoft Intune 註冊 Tunnel 閘道和 Intune 租用戶的帳戶必須獲指派 Intune 系統管理員的 Microsoft Entra ID 角色,並獲指派 Intune 授權。
執行容器的 Linux 伺服器。 伺服器可以是內部部署或雲端,且支援下列其中一種容器類型:
- 適用於 Red Hat Enterprise Linux (RHEL) 的 Podman。 請參閱 Linux 伺服器需求。
- 適用於所有其他 Linux 發行版的 Docker。
Linux伺服器的傳輸層安全性 (TLS) 憑證,用於保護裝置與通道閘道伺服器的連線。
執行 Android 或 iOS/iPadOS 的裝置。
設定好先決條件之後,建議您執行 整備工具 ,以協助驗證您的環境已正確設定,可成功安裝。
下列各節詳細說明 Microsoft 通道的必要條件,並提供使用整備工具的指導方針。
注意事項
Tunnel 和 Global Secure Access (GSA) 不能在同一台裝置上同時使用。
政府雲端支援
下列主權雲端環境支援 Microsoft Tunnel:
- GCC) High (美國政府社群雲端
由 21Vianet 運作的 Microsoft Azure不支援Microsoft通道。
如需詳細資訊,請參閱適用於美國政府的 Microsoft Intune GCC 服務描述。
Linux 伺服器
設定以 Linux 為基礎的虛擬機器或實體伺服器,在上面安裝 Microsoft 通道閘道。
注意事項
僅支援下表中列出的作業系統和容器版本。 不支援未列出的版本。 只有在測試和支援性驗證之後,才會將較新的版本新增至此清單中。 同時使用安全性更新讓作業系統保持最新狀態。
支援的 Linux 發行版 - 下表詳細說明通道伺服器支援哪些 Linux 版本,以及它們所需的容器:
發行版本 容器需求 考量 Red Hat (RHEL) 8.9 Podman 4.4.1 支援將於 2025 年 11 月結束。 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 8.10 Podman 4.9.4-rhel (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.3 Podman 4.6.1. (預設) 支援將於 2025 年 11 月結束。 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.4 Podman 4.9.4-rhel (預設) 支援將於 2025 年 11 月結束。 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.5 Podman 5.2.2 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.6 Podman 5.4.0 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.7 Podman 5.8.2 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 9.8 Podman 5.8.2+ (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 10.0 Podman 5.4.0 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 10.1 Podman 5.8.2 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Red Hat (RHEL) 10.2 Podman 5.8.2 (預設) 此版本的 RHEL 不會自動將ip_tables模組載入 Linux 核心。 使用此版本時,請規劃在安裝 Tunnel 之前 手動載入ip_tables 。
Podman v3 及更早版本建立的容器 無法與 Podman v4.2 及更高版本搭配使用。 如果要升級和變更容器,請規劃建立新的容器,並解除安裝然後重新安裝 Microsoft Tunnel。Ubuntu 24.04 Docker CE Ubuntu 26.04 Docker CE 重要事項
Ubuntu 將於 2023 年 4 月終止支援 Ubuntu 18.04。 隨著 Ubuntu 終止支援,Intune 也將終止支援 Ubuntu 18.04 與 Microsoft 通道搭配使用。 如需詳細資訊,請參閱 https://wiki.ubuntu.com/Releases。
調整 Linux 伺服器的大小: 使用下列指引來符合您的預期用途:
# 裝置 # CPU 記憶體 GB # 伺服器 # 網站 磁碟空間 GB 1,000 4 4 1 1 30 2,000 4 4 1 1 30 5,000 8 8 2 1 30 10,000 8 8 3 1 30 20,000 8 8 4 1 30 40,000 8 8 8 1 30 支撐以線性方式縮放。 雖然每個 Microsoft 通道最多支援 64,000 個同時連線,但個別裝置可以開啟多個連線。
CPU:64 位元 AMD/Intel 處理器。
安裝 Docker CE 或 Podman:根據您用於 Tunnel 伺服器的 Linux 版本,在伺服器上安裝下列其中一個:
- Docker 版本 19.03 CE 或更新版本。
- Podman 版本 3.0 或 4.0,視 RHEL 版本而定。
Microsoft 通道需要 Linux 伺服器上的 Docker 或 Podman 來提供容器支援。 容器提供一致的執行環境、健康情況監視和主動補救,以及乾淨的升級體驗。
如需安裝及設定 Docker 或 Podman 的相關資訊,請參閱:
在 CentOS 或 Red Hat Enterprise Linux 7 上安裝 Docker 引擎。
注意事項
前面的連結會引導你前往 CentOS 的下載和安裝說明。 針對 RHEL 7.4 使用相同的指示。 預設情況下安裝在 RHEL 7.4 上的版本太舊,無法支援 Microsoft 通道閘道。
在 Red Hat Enterprise Linux 8.4 和更新版本上安裝 Podman, (向下捲動至 RHEL8) 。
這些版本的 RHEL 不支援 Docker。 相反,這些版本使用 Podman,而 podman 是名為「container-tools」的模組的一部分。 在此情況下,模組是一組 RPM 套件,代表一個元件,通常一起安裝。 典型的模組包含包含應用程式的套件、包含特定於應用程式的相依性程式庫的套件、包含應用程式文件的套件,以及包含協助程式公用程式的套件。 如需詳細資訊,請參閱 Red Hat 文件中的 模組簡介 。
注意事項
無根 Podman:Microsoft 通道支援使用無根 Podman 容器。
使用無根 Podman 需要本文中詳細說明的其他 先決條件 ,並在啟動 Tunnel 安裝指令碼時使用修改後的命令列。 如需有關其他必要條件和安裝命令列的資訊,請參閱 設定Intune的Microsoft通道 一文中的使用無根 Podman 容器。
傳輸層安全性 (TLS) 憑證:Linux伺服器需要受信任的 TLS 憑證來保護裝置和通道閘道伺服器之間的連線。 在安裝通道閘道期間,您會將 TLS 憑證和完全信任的憑證鏈結新增至伺服器。
您用來保護通道閘道端點的 TLS 憑證的主旨替代名稱 (SAN) 必須與通道閘道伺服器的 IP 位址或 FQDN 相符。
對於 iOS 裝置,必須從根 CA 發行公用 TLS 憑證,而且到期日上限為 398 天。 由使用者新增或系統管理員新增的根 CA 所頒發的憑證最長到期日最長為兩年 (730 天) 。 如需這些 TLS 憑證需求的詳細資訊,請參閱 support.apple.com 年即將 推出的受信任憑證限制 。
對於 Android 裝置,建議從根 CA 頒發的公用 TLS 憑證到期日上限為 398 天。
對萬用字元的支援有限。 例如,支援 *.contoso.com ,但不支援 cont*.com 。
在安裝 Tunnel 閘道伺服器期間,您必須將整個受信任憑證鏈複製到 Linux 伺服器。 安裝指令碼提供複製憑證檔案的位置,並提示您複製憑證檔案。
如果您使用未公開信任的 TLS 憑證,則必須使用 Intune 信任憑證設定檔將整個信任鏈推送至裝置。
TLS 憑證可以是 PEM 或 PFX 格式。
若要支援 TLS 憑證撤銷健康 情況檢查,請確保可從伺服器存取 TLS 憑證定義的 OCSP (OCSP) 或憑證撤銷清單 (CRL) 位址。
使用 2048 位元或更大的金鑰來設定通道用戶端憑證。 我們建議使用較大的金鑰,以協助您的部署持續支援各種 SSL/TLS 程式庫解決方案未來不斷演進的 SSL/TLS 需求。
提示
定期檢閱所選 SSL/TLS 程式庫的需求,以確保您的基礎結構和憑證持續受到支援,並符合該程式庫的最新變更,並在必要時重新發行 Tunnel 用戶端憑證,以符合解決方案演進的需求。
TLS 版本:根據預設,Microsoft 通道用戶端與伺服器之間的連線使用 TLS 1.3。 當 TLS 1.3 無法使用時,連線可以回退以使用 TLS 1.2。
預設橋接器網路
Podman 和 Docker 容器都使用橋接網路透過 Linux 主機轉送流量。 當容器橋接網路與公司網路發生衝突時,Tunnel Gateway 無法成功將流量路由至該公司網路。
預設橋接網路為:
- Docker: 172.17.0.0/16
- Podman: 10.88.0.0/16
若要避免衝突,您可以重新設定 Podman 和 Docker 以使用您指定的橋接網路。
重要事項
您必須先安裝 Tunnel 閘道伺服器,然後才能變更橋接網路設定。
變更 Docker 所使用的預設橋接網路
Docker 會使用檔案 /etc/docker/daemon.json 來設定新的預設橋接器 IP 位址。 在檔案中,必須以 CIDR (無類別網域間路由) 表示法中指定橋接器 IP 位址,這是一種表示 IP 位址及其相關聯的子網路遮罩和路由首碼的精簡方式。
重要事項
下列步驟中使用的 IP 位址是範例。 確定您使用的 IP 位址不會與公司網路衝突。
使用下列命令停止 MS 通道閘道容器:
sudo mst-cli server stop ; sudo mst-cli agent stop接下來,執行以下命令以移除現有的 Docker 橋接器裝置:
sudo ip link del docker0如果您的伺服器上存在檔案 /etc/docker/daemon.json ,請使用 vi 或 nano 等檔案編輯器來修改檔案。 以 root 或 sudo 權限執行檔案編輯器:
- 當 含有 IP 位址的 “bip”: 項目時,請以 CIDR 標記法新增 IP 位址加以修改。
- 當 “bip”: 項目不存在時,您必須同時新增值 “bip”: 和以 CIDR 表示法的新 IP 位址。
下列範例顯示具有更新 “bip”: 條目的 daemon.json 檔案結構,該條目使用修改後的 IP 位址 “192.168.128.1/24”。
daemon.json範例:
{ "bip": "192.168.128.1/24" }如果您的伺服器上沒有檔案 /etc/docker/daemon.json ,請執行類似下列範例的命令來建立檔案,並定義您要使用的橋接器 IP。
範例:
sudo echo '{ "bip":"192.168.128.1/24" }' > /etc/docker/daemon.json使用下列命令啟動 MS 通道閘道容器:
sudo mst-cli agent start ; sudo mst-cli server start
如需詳細資訊,請參閱 Docker 文件中的使用 橋接網路 。
變更 Podman 所使用的預設橋接網路
Podman 使用檔案 /etc/cni/net.d 作為 87-podman-bridge.conflist 來 設定新的預設橋接器 IP 位址。
使用下列命令停止 MS 通道閘道容器:
sudo mst-cli server stop ; sudo mst-cli agent stop接下來,執行以下命令以移除現有的 Podman 橋接器裝置:
sudo ip link del cni-podman0使用 root 權限和檔案編輯器 ( 例如 vi 或 nano),將 /etc/cni/net.d 修改為 87-podman-bridge.conflist ,透過將 Podman 預設值取代為所需的子網路和閘道位址,以更新 “subnet:” 和 “gateway:” 的預設值。 子網路位址必須以 CIDR 標記法指定。
Podman 預設值為:
- 子網路:10.88.0.0/16
- 閘道: 10.88.0.1
使用下列命令重新啟動 MS 通道閘道容器:
sudo mst-cli agent start ; sudo mst-cli server start
如需詳細資訊,請參閱 Red Hat 文件中的 使用 Podman 設定容器網路 。
Linux 系統稽核
Linux 系統稽核可協助識別裝載 Microsoft 通道之 Linux 伺服器上的安全性相關資訊或安全性違規。 建議針對 Microsoft 通道進行 Linux 系統稽核,但並非必要。 若要使用系統審核,Linux 伺服器必須將 auditd 套件安裝至 /etc/audit/auditd.conf。
每次執行 mst-readiness 工具時,工具可能會顯示警告,指出缺少 auditd 。 若要啟用通道特定目錄的稽核,請務必在執行 mstunnel-setup 之前安裝 auditd 套件。
如何實作稽核的詳細資料取決於您使用的 Linux 平台:
Red Hat:Red Had Enterprise Linux 7 版本及更新版本預設會安裝 auditd 套件。 不過,如果未安裝套件,您可以使用 Linux 伺服器上的下列命令列來安裝:
sudo dnf install audit audispd-plugins通常, auditd 套件可從每個 REHL 版本的預設存放庫取得。
如需在 RHEL 上使用系統稽核的詳細資訊,請參閱 Red Hat 部落格中的使用 auditd 設定 Linux 系統稽核。
Ubuntu:若要搭配 Ubuntu 使用系統稽核,您必須手動安裝 auditd 套件。 為此,請在 Linux 伺服器上使用以下命令列:
sudo apt install auditd audispd-plugins通常, auditd 套件可從每個 Ubuntu 版本的預設存放庫取得。
如需有關在 Ubuntu 上使用系統稽核的詳細資訊,請參閱如何在 Ubuntu 上設定及安裝 Auditd,此文章可在 dev.to 網站上取得,最初發佈於 kubefront.com。
網路
啟用 IPv4 的封包轉送:裝載通道伺服器軟體的每個 Linux 伺服器都必須啟用 IPv4 的 IP 轉送。 若要檢查 IP 轉寄的狀態,請在伺服器上執行下列其中一個一般命令 as root 或 sudo。 這兩個命令都針對停用傳回值 0,針對啟用傳回值 1:
sysctl net.ipv4.ip_forwardcat /proc/sys/net/ipv4/ip_forward
如果未啟用,則可以在伺服器上以 root 或 sudo 身分執行下列其中一個一般命令,以暫時啟用 IP 轉寄。 這些命令可以更改 IP 轉寄配置,直到伺服器重新啟動。 重新啟動之後,伺服器會將 IP 轉寄行為傳回其先前的狀態。 這兩個命令都使用值 1 來 啟用 轉寄。 值 0 會停用轉寄。 下列命令範例使用值 1來啟用 轉寄:
sysctl -w net.ipv4.ip_forward=1echo 1 > /proc/sys/net/ipv4/ip_forward
若要永久使用 IP 轉寄,請在每個 Linux 伺服器上編輯 /etc/sysctl.conf 檔案,並從 #net.ipv4.ip_forward=1 移除前置雜湊標記 (#) ,以啟用封包轉送。 編輯之後,項目應顯示如下:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1若要使此變更生效,您必須重新啟動伺服器或執行
sysctl -p。如果預期的項目未出現在 sysctl.conf 檔案中,請參閱您所使用的發行版本文件,瞭解如何啟用 IP 轉寄。 通常,您可以編輯 sysctl.conf 以在檔案結尾新增缺少的行,以永久啟用 IP 轉寄。
為每個伺服器設定多個 NIC (選擇性) : 建議您在每個 Linux 伺服器使用兩個網路介面控制器 () 個 NIC 來改善效能,但可選擇性使用兩個。
NIC 1 - 此 NIC 會處理來自受管理裝置的流量,且應該位於具有公用 IP 位址的公用網路上。 此 IP 位址是您在 網站設定中設定的位址。 此位址可以代表單一伺服器或負載平衡器。
NIC 2 - 此 NIC 會處理內部部署資源的流量,且應該位於私人內部網路上,而不需要網路分割。
確保雲端式 Linux VM 可以存取您的內部部署網路:如果您將 Linux 作為雲端中的 VM 執行,請確保伺服器可以存取您的內部部署網路。 例如,針對 Azure 中的 VM,您可以使用 Azure ExpressRoute 或類似項目來提供存取權。 當您在內部部署 VM 中執行伺服器時,不需要 Azure ExpressRoute。
負載平衡器 (選擇性) :如果您選擇新增負載平衡器,請參閱廠商文件以取得組態詳細資訊。 請考慮 Intune 和 Microsoft 通道專屬的網路流量和防火牆連接埠。
通道伺服器會以靜態頁面回應 GET 要求。 負載平衡器會使用該回應作為探查,作為檢查通道伺服器活躍狀態的一種方式。 回應是靜態的,不包含敏感性資訊。
每個應用程式 VPN 和頂層網域支援 - Microsoft 通道不支援將每個應用程式 VPN 與內部使用本機頂層網域一起使用。
防火牆
根據預設,Microsoft 通道和伺服器使用下列連接埠:
輸入連接埠:
- TCP 443 – Microsoft 通道所需。
- UDP 443 – Microsoft 通道所需。
- TCP 22 - 選用。 用於 SSH/SCP 到 Linux 伺服器。
輸出連接埠:
- TCP 443 – 需要存取 Intune 服務。 Docker 或 Podman 需要提取映像。
建立通道的伺服器組態時,您可以指定與預設值 443 不同的連接埠。 如果您指定不同的連接埠,請設定防火牆以支援您的組態。
更多需求:
若要存取記錄的安全性權杖服務和 Azure 儲存體,請提供下列 FQDN 的存取權:
- 安全性權杖服務:
*.sts.windows.net - 通道記錄的 Azure 儲存體:
*.blob.core.windows.net - 其他儲存體端點 URL:
*.blob.storage.azure.net - Microsoft Intune:
*.manage.microsoft.com - Microsoft 驗證:
login.microsoftonline.com - Microsoft Graph:
graph.microsoft.com - 將防火牆規則設定為支援 Microsoft 成品登錄 (MAR) 用戶端防火牆規則設定中詳細說明的設定。
Proxy
您可以搭配 Microsoft 通道使用 Proxy 伺服器。
注意事項
請確定您的 Android LOB 應用程式支援直接 Proxy 或 Proxy 自動設定 (適用於 MDM 和 MAM 的 PAC) 。
注意事項
已知問題: 嘗試使用其個人或公司帳戶登入 Edge 的使用者,在設定 Proxy 自動設定 (PAC) 時可能會遇到問題。 在此案例中,登入程序可能會失敗,導致使用者無法存取內部資源。
因應措施:若要解決此問題,Microsoft Tunnel 提供分割通道作為選項。 分割通道可讓使用者只包含需要 Proxy 的路由,同時排除透過通道路由的登入伺服器和驗證路徑。 此因應措施可確保登入程序不受 PAC 設定的影響,允許使用者存取內部資源和瀏覽網際網路。
直接 Proxy 也是使用公司帳戶在 Edge 中登入以工作的一個選項,無需分割通道。 這涉及將 Microsoft 通道設定為使用直接 Proxy 而非 PAC URL。
如果 Edge 中不需要使用者登入,則正常瀏覽和存取內部資源時支援 PAC。
下列考量可協助您成功設定 Linux 伺服器和環境:
設定 Docker 的輸出 Proxy
如果您使用內部 Proxy,您可能需要使用環境變數將 Linux 主機設定為使用 Proxy 伺服器。 若要使用變數,請編輯 Linux 伺服器上的 /etc/environment 檔案,並新增下列行,將每一行中的位址取代為 Proxy IP 位址:port:
http_proxy=address
https_proxy=address不支援經過驗證的 Proxy。
Proxy 無法執行中斷和檢查,因為 Linux 伺服器在連線到 Intune 時會使用 TLS 相互驗證。
設定 Docker 以使用 Proxy 提取映像。 若要這樣做,請在 Linux 伺服器上編輯 /etc/systemd/system/docker.service.d/http-proxy.conf 檔案,並新增以下行:
[Service] Environment="HTTP_PROXY=http://your.proxy:8080/" Environment="HTTPS_PROXY=https://your.proxy:8080/" Environment="NO_PROXY=127.0.0.1,localhost"注意事項
Microsoft 通道不支援 Microsoft Entra 應用程式 Proxy 或類似的 Proxy 解決方案。
設定 Podman 的輸出 Proxy
下列詳細資料可協助您在使用 Podman 時設定內部 Proxy:
不支援經過驗證的 Proxy。
Proxy 無法執行中斷和檢查,因為 Linux 伺服器在連線到 Intune 時會使用 TLS 相互驗證。
Podman 會讀取儲存在 /etc/profile.d/http_proxy.sh 中的 HTTP Proxy 資訊。如果您的伺服器上沒有此檔案,請建立它。 編輯 http_proxy.sh 以新增以下兩行。 在下列行中, 10.10.10.1:3128 是範例 address:port 項目。 新增這些行時,請以 Proxy IP 位址:port 的值取代 10.10.10.1:3128:
export HTTP_PROXY=http://10.10.10.1:3128
export HTTPS_PROXY=http://10.10.10.1:3128如果您有權存取 Red Hat 客戶入口網站,則可以檢視與此解決方案相關聯的知識庫文章。 請參閱 設定 Podman 的 HTTP Proxy 變數 - Red Hat 客戶入口網站。
在執行 mstunnel-setup 來安裝 Microsoft Tunnel Gateway 之前,將這兩行新增至 http_proxy.sh 時,指令碼會自動在 /etc/mstunnel/env.sh 中設定 Tunnel 閘道 Proxy 環境變數。
若要在 Microsoft 通道閘道設定完成後設定 Proxy,請執行下列動作:
修改或建立檔案 /etc/profile.d/http_proxy.sh 並新增上一個項目符號點的兩行。
編輯 /etc/mstunnel/env.sh 並將以下兩行新增至檔案結尾。 如同前幾行,將範例 address:port 值 10.10.10.1:3128 取代為 Proxy IP address:port 的值:
HTTP_PROXY=http://10.10.10.1:3128
HTTPS_PROXY=http://10.10.10.1:3128重新啟動通道閘道伺服器: 執行
mst-cli server restart
請注意,RHEL 使用 SELinux。 由於未在 http_port_t 的 SELinux 連接埠上執行的 Proxy 可能需要額外的設定,因此請檢查是否將 SELinux 託管連接埠用於 http。 若要檢視組態,請執行下列命令:
sudo semanage port -l | grep "http_port_t"連接埠檢查命令結果的範例。 在此範例中,Proxy 使用 3128,但未列出:
如果您的 Proxy 在 http_port_t 的其中一個 SELinux 連接埠上執行,則您可以繼續進行 Tunnel Gateway 安裝程序。
如果您的 Proxy 沒有像前述範例所示在 SELinux 連接埠上執行 http_port_t ,則必須進行額外的設定。
如果您的 Proxy 連接埠未列出http_port_t,請檢查其他服務是否使用該 Proxy 連接埠。 使用 semanage 命令先檢查 Proxy 使用的連接埠,然後視需要稍後再變更。 若要檢查 Proxy 使用的連接埠,請執行:
sudo semanage port -l | grep "your proxy port"檢查可能使用連接埠之服務的結果範例:
在範例中,我們預期 (3128) 的連接埠被 squid 使用,而 squid 恰好是 OSS 代理服務。 Squid Proxy SELinux 原則是許多常見發行版的一部分。 由於 squid 使用連接埠 3128 (我們的範例連接埠) ,因此我們必須修改 http_port_t 連接埠並新增連接埠 3128,以便透過 SELinux 允許作為 Tunnel 使用的 Proxy。 若要修改連接埠使用,請執行以下命令:
sudo semanage port -m -t http_port_t -p tcp "your proxy port"修改連接埠的命令範例:
執行變更連接埠的命令之後,請執行下列命令以檢查其他服務是否使用該連接埠:
sudo semanage port -l | grep "your proxy port"修改連接埠後檢查連接埠的命令範例:
在此範例中,連接埠 3128 現在同時與 http_port-t 和 squid_port_t 相關聯。 這個結果是預期的。 如果在執行 sudo semanage port -l | grep “your_proxy_port” 命令時未列出您的 proxy 連接埠,請再次執行命令以修改連接埠,但 semanage 命令中的 -m 搭配 -a:
sudo semanage port -a -t http_port_t -p tcp "your proxy port"
設定 Podman 以使用 Proxy 下載映像更新
您可以將 Podman 設定為使用 Proxy 為 Podman 下載 (提取) 更新的映像。 此設定對於未來的升級非常重要。 因為必須在安裝 Tunnel 閘道之後進行設定,所以我們在這裡提及,但已新增設定指引以設定 Podman 以使用 Proxy 下載映像更新 在設定 Microsoft 通道 一文中,做為安裝通道閘道伺服器後要完成的工作。
平台
裝置必須註冊至 Intune,才能獲得 Microsoft 通道支援。 僅支援下列裝置平台:
iOS/iPadOS
Android 企業版:
- 完全託管
- Corporate-Owned 工作設定檔
- Personally-Owned 工作設定檔
注意事項
Microsoft 通道不支援 Android 企業版專用裝置。
重要事項
Microsoft 通道上對 Android 10 的支援已於 2026 年 3 月 31 日結束。 執行 Android 10 的裝置必須升級至 Android 11 或更新版本,才能繼續使用 Microsoft 通道。
所有平台都支援下列功能:
- 使用使用者名稱和密碼對通道進行 Microsoft Entra 驗證。
- Active Directory 同盟服務 (AD FS) 使用使用者名稱和密碼向通道進行驗證。
- 個別應用程式支援。
- 透過 Tunnel 應用程式的手動全裝置通道,使用者可在其中啟動 VPN 並選取 [連線]。
- 分割通道。 不過,在 iOS 上,當您的 VPN 設定檔使用 每個應用程式 VPN 時,會忽略分割通道規則。
對 Proxy 的支援僅限於以下平台:
- Android 11 和更新版本
- iOS/iPadOS
權限
若要管理 Microsoft 通道,使用者必須具有 Intune 中 Microsoft 通道閘道權限群組中包含的權限。 根據預設,Intune 系統管理員和 Microsoft Entra 系統管理員具有這些權限。 您也可以將它們新增至您為 Intune 租用戶建立的自訂角色。
設定角色時,請在 [權限 ] 頁面上展開 [Microsoft 通道閘道 ],然後選取您想要授與的權限。
Microsoft 通道閘道權限群組授與下列權限:
建立 - 設定 Microsoft 通道閘道 伺服器 和 網站。 伺服器設定包括 IP 位址範圍、DNS 伺服器、連接埠和分割通道規則的設定。 網站是支援 Microsoft 通道之多部伺服器的邏輯群組。
更新 (修改) - 更新Microsoft通道閘道伺服器設定和站台。 伺服器設定包括 IP 位址範圍、DNS 伺服器、連接埠和分割通道規則的設定。 網站是支援 Microsoft 通道之多部伺服器的邏輯群組。
刪除 - 刪除 Microsoft 通道閘道伺服器設定和網站。 伺服器設定包括 IP 位址範圍、DNS 伺服器、連接埠和分割通道規則的設定。 網站是支援 Microsoft 通道之多部伺服器的邏輯群組。
讀取 - 檢視 Microsoft 通道閘道伺服器設定和網站。 伺服器設定包括 IP 位址範圍、DNS 伺服器、連接埠和分割通道規則的設定。 網站是支援 Microsoft 通道之多部伺服器的邏輯群組。
執行整備工具
開始伺服器安裝前,建議您下載並執行最新版本的 mst-readiness 工具。 該工具是在您的 Linux 伺服器上執行並執行以下操作的腳本:
驗證您用來安裝 Microsoft 通道的 Microsoft Entra 帳戶是否具有完成註冊所需的角色。
確認您的網路設定允許 Microsoft 通道存取所需的 Microsoft 端點。
檢查 Linux 伺服器上是否有 ip_tables 模組。 此檢查已於 2022 年 2 月 11 日新增對 RHEL 8.5 的支援時新增至指令碼。 RHEL 8.5 更新版本預設不會載入 ip_tables 模組。 如果安裝 Linux 伺服器後缺少這些設定,您必須手動載入 ip_tables 模組。
重要事項
整備工具不會驗證輸入連接埠,這是常見的設定錯誤。 整備工具執行之後,請檢閱 防火牆先決條件 ,並手動驗證防火牆傳遞的輸入流量。
mst-readiness 工具依賴於命令列 JSON 處理器 jq。 在執行整備工具之前,請確定已安裝 jq 。 如需如何取得及安裝 jq 的相關資訊,請參閱您所使用的 Linux 版本的說明文件。
若要使用整備工具:
使用下列其中一種方法來取得最新版本的整備工具:
使用網頁瀏覽器直接下載工具。 請前往 https://aka.ms/microsofttunnelready 下載名為 mst-readiness 的檔案。
登入 Microsoft Intune 系統管理中心>租用戶管理>Microsoft 通道閘道,選取 [伺服器] 索引標籤,選取 [建立] 以開啟 [建立伺服器] 窗格,然後選取 [下載整備工具]。
使用 Linux 命令直接取得整備工具。 例如,您可以使用 wget 或 curl 來開啟連結 https://aka.ms/microsofttunnelready。
例如,若要在下載期間使用 wget 並將詳細資料記錄至 mst-readiness ,請執行
wget --output-document=mst-readiness https://aka.ms/microsofttunnelready
指令碼可以從與您計劃安裝的伺服器位於相同網路上的任何 Linux 伺服器執行,這可讓網路系統管理員使用指令碼獨立針對網路問題進行疑難排解。
若要驗證您的網路和 Linux 組態,請使用下列命令執行指令碼。 這些命令設置指令碼的執行許可權,驗證 Tunnel 可以連接到正確的端點,然後檢查 Tunnel 使用的實用程式是否存在:
sudo ./mst-readinesssudo ./mst-readiness network- 此指令會執行下列動作,然後報告兩者的成功或錯誤:- 嘗試連線至通道將使用的每個 Microsoft 端點。
- 檢查防火牆中是否開啟了必要的連接埠。
sudo ./mst-readiness utils- 此指令會驗證 Tunnel 使用的公用程式 (例如 Docker 或 Podman) 和 ip_tables 是否可用。
若要驗證您將用來安裝 Microsoft 通道的帳戶是否具有完成註冊所需的角色和權限,請使用下列命令列執行指令碼:
./mst-readiness account指令碼會提示您使用不同的電腦搭配網頁瀏覽器,您可使用它來向 Microsoft Entra ID 和 Intune 進行驗證。 工具會回報成功或錯誤。
如需此工具的詳細資訊,請參閱 Microsoft 通道參考文章中的 mst-cli 參考 。
手動安裝 auditd for Linux 系統稽核
整備工具會檢查是否存在用於 Linux 系統稽核的 auditd 套件。 因為 auditd 是選用且並非必要,所以當未偵測到此套件時,整備指令碼會傳回警告。
Auditd 預設由 RHEL 7 和更新版本安裝,但 Ubuntu 發行版本可能不會預設安裝。 如果不存在,您可以手動將其安裝在 Linux 伺服器上。
如需如何在安裝 Tunnel 伺服器之前手動安裝此項目的資訊,請參閱本文稍早的 Linux 系統稽核。
若要在安裝 Microsoft 通道後安裝 auditd,請參閱設定 Micrfosoft 通道中的安裝通道伺服器後安裝 Linux 系統稽核。
手動載入ip_tables
雖然大部分Linux發行版本會自動載入 ip_tables 模組,但有些發行版本可能不會。 例如,RHEL 8.5 預設不會載入ip_tables。
若要檢查此模組是否存在,請在 Linux 伺服器上執行最新版本的 mst-readiness 工具。 檢查ip_tables已於 2022 年 2 月 11 日新增到整備工具指令碼中。
如果模組不存在,工具會在ip_tables模組檢查時停止。 在此案例中,您可以執行下列命令來手動載入模組。
手動載入ip_tables模組
在 sudo 內容中,在 Linux 伺服器上執行下列命令:
驗證伺服器上是否存在 ip_tables:
lsmod |grep ip_tables如果ip_tables不存在,請執行下列命令以立即將模組載入核心,而不需重新啟動:
/sbin/modprobe ip_tables重新執行驗證以確認表格現在已載入:
lsmod |grep ip_tables
重要事項
更新 Tunnel 伺服器時,手動載入的 ip_tables 模組可能不會持續存在。 這可能需要您在更新完成後重新載入模組。 伺服器更新完成後,請檢查伺服器是否存在 ip_tables 模組。
如果表格不存在,請使用上述步驟重新載入模組,並在載入模組後執行額外步驟重新啟動伺服器。
設定Linux以在開機時載入ip_tables
在 sudo 內容中,在 Linux 伺服器上執行下列命令以建立設定檔,在開機期間將ip_tables載入核心:echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf
手動載入 tun 模組
Microsoft 通道需要 tun 模組,不過某些 Linux 發行版本預設不會載入 tun 模組。
若要驗證伺服器上是否存在 tun 模組,請執行: lsmod |grep tun
如果 tun 不存在,請執行下列命令以立即將模組載入核心,而不需重新啟動:
/sbin/modprobe tun重新執行驗證以確認現已載入 tun 模組:
lsmod |grep tun
重要事項
更新 Tunnel 伺服器時,手動載入的 tun 模組可能不會持續存在。 這可能需要您在更新完成後重新載入模組。 伺服器更新完成後,請檢閱伺服器中是否有 tun 模組。
如果不存在,請使用上述步驟來重新載入模組,並在模組載入之後執行額外步驟來重新啟動伺服器。
設定 Linux 以在開機時載入 tun
在 sudo 內容中,在 Linux 伺服器上執行以下命令以創建一個配置文件,以便在開機期間將 tun 載入內核:echo tun > /etc/modules-load.d/mstunnel_tun.conf