Intune 中 Microsoft 通道的必要條件

在安裝適用於 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 通道閘道。

    • 在 Ubuntu 上安裝 Docker 引擎。

    • 在 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 位址不會與公司網路衝突。

  1. 使用下列命令停止 MS 通道閘道容器: sudo mst-cli server stop ; sudo mst-cli agent stop

  2. 接下來,執行以下命令以移除現有的 Docker 橋接器裝置: sudo ip link del docker0

  3. 如果您的伺服器上存在檔案 /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"
    }
    
  4. 如果您的伺服器上沒有檔案 /etc/docker/daemon.json ,請執行類似下列範例的命令來建立檔案,並定義您要使用的橋接器 IP。

    範例:sudo echo '{ "bip":"192.168.128.1/24" }' > /etc/docker/daemon.json

  5. 使用下列命令啟動 MS 通道閘道容器: sudo mst-cli agent start ; sudo mst-cli server start

如需詳細資訊,請參閱 Docker 文件中的使用 橋接網路 。

變更 Podman 所使用的預設橋接網路

Podman 使用檔案 /etc/cni/net.d 作為 87-podman-bridge.conflist 來 設定新的預設橋接器 IP 位址。

  1. 使用下列命令停止 MS 通道閘道容器: sudo mst-cli server stop ; sudo mst-cli agent stop

  2. 接下來,執行以下命令以移除現有的 Podman 橋接器裝置: sudo ip link del cni-podman0

  3. 使用 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
  4. 使用下列命令重新啟動 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_forward
    • cat /proc/sys/net/ipv4/ip_forward

    如果未啟用,則可以在伺服器上以 root 或 sudo 身分執行下列其中一個一般命令,以暫時啟用 IP 轉寄。 這些命令可以更改 IP 轉寄配置,直到伺服器重新啟動。 重新啟動之後,伺服器會將 IP 轉寄行為傳回其先前的狀態。 這兩個命令都使用值 1 來 啟用 轉寄。 值 0 會停用轉寄。 下列命令範例使用值 1來啟用 轉寄:

    • sysctl -w net.ipv4.ip_forward=1
    • echo 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,請執行下列動作:

    1. 修改或建立檔案 /etc/profile.d/http_proxy.sh 並新增上一個項目符號點的兩行。

    2. 編輯 /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

    3. 重新啟動通道閘道伺服器: 執行 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 Intune 系統管理中心的通道閘道權限螢幕擷取畫面。

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 版本的說明文件。

若要使用整備工具:

  1. 使用下列其中一種方法來取得最新版本的整備工具:

    • 使用網頁瀏覽器直接下載工具。 請前往 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 伺服器執行,這可讓網路系統管理員使用指令碼獨立針對網路問題進行疑難排解。

  2. 若要驗證您的網路和 Linux 組態,請使用下列命令執行指令碼。 這些命令設置指令碼的執行許可權,驗證 Tunnel 可以連接到正確的端點,然後檢查 Tunnel 使用的實用程式是否存在:

    • sudo ./mst-readiness

    • sudo ./mst-readiness network - 此指令會執行下列動作,然後報告兩者的成功或錯誤:

      • 嘗試連線至通道將使用的每個 Microsoft 端點。
      • 檢查防火牆中是否開啟了必要的連接埠。
    • sudo ./mst-readiness utils - 此指令會驗證 Tunnel 使用的公用程式 (例如 Docker 或 Podman) 和 ip_tables 是否可用。

  3. 若要驗證您將用來安裝 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 伺服器上執行下列命令:

  1. 驗證伺服器上是否存在 ip_tables: lsmod |grep ip_tables

  2. 如果ip_tables不存在,請執行下列命令以立即將模組載入核心,而不需重新啟動: /sbin/modprobe ip_tables

  3. 重新執行驗證以確認表格現在已載入: 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

  1. 如果 tun 不存在,請執行下列命令以立即將模組載入核心,而不需重新啟動: /sbin/modprobe tun

  2. 重新執行驗證以確認現已載入 tun 模組: lsmod |grep tun

重要事項

更新 Tunnel 伺服器時,手動載入的 tun 模組可能不會持續存在。 這可能需要您在更新完成後重新載入模組。 伺服器更新完成後,請檢閱伺服器中是否有 tun 模組。

如果不存在,請使用上述步驟來重新載入模組,並在模組載入之後執行額外步驟來重新啟動伺服器。

設定 Linux 以在開機時載入 tun

在 sudo 內容中,在 Linux 伺服器上執行以下命令以創建一個配置文件,以便在開機期間將 tun 載入內核:echo tun > /etc/modules-load.d/mstunnel_tun.conf

後續步驟

設定 Microsoft Tunnel