Microsoft 通道閘道的命令列參考

本 Microsoft 通道閘道參考中的資訊是為了支援在您的環境中安裝和維護通道安裝。

適用於 Microsoft 通道閘道的 mst-cli 命令列工具

Mst-cli 是與 Microsoft 通道閘道搭配使用的命令列工具。 通道完成安裝後,可在 Linux 伺服器上使用此工具,位於 /usr/sbin/mst-cli。 您可以使用此工具來完成的一些工作包括:

  • 取得通道伺服器的相關資訊。
  • 設定或更新通道伺服器的設定。
  • 重新啟動通道伺服器。
  • 解除安裝通道伺服器。

以下是此工具常見的命令列用法。

命令列介面:

  • mst-cli –help - 用法: mst-cli [命令]

    命令

    • agent - 在代理程式元件上作業。
    • server - 在伺服器元件上操作。
    • uninstall - 解除安裝 Microsoft 通道。
    • eula - 出示 End-User 授權合約 (EULA) 。
    • import_cert - 匯入或更新 TLS 憑證。
  • mst-cli agent –help - 用法: mst-cli 代理 [命令]

    命令:

    • logs - 顯示代理程式記錄。 (使用 -h 以取得詳細資訊。)
    • status - 顯示客服專員狀態。
    • start - 啟動代理程式服務。
    • stop - 停止代理程式服務。
    • restart - 重新啟動代理程式服務。
  • mst-cli agent logs help - 使用方式: mst-cli 代理日誌 [標誌]

    旗標:

    • -f, --follow - 追蹤日誌輸出。 預設值為 false。
    • --since string - 顯示自 TIMESTAMP 以來的記錄。
    • --tail uint - 在日誌結尾輸出指定的行數。 預設值為零 (0) ,會列印所有行。
    • -t, --timestamps - 在日誌中輸出時間戳記。
  • mst-cli agent status - 下列傳回是您可能會看到的結果範例:

    • 狀態:執行中
    • 健康情況:健康
  • mst-cli agent start - 如果代理程式已停止,則啟動代理程式。

  • mst-cli agent stop - 停止代理程式。 停止之後必須手動啟動。

  • mst-cli agent restart - 重新啟動代理程式。

  • mst-cli server --help - 用法: mst-cli 伺服器 [命令]

    命令:

    • logs - 顯示伺服器記錄檔。 請使用 -h 以取得詳細資訊。
    • status - 顯示伺服器狀態。
    • start - 啟動伺服器服務。
    • stop - 停止伺服器服務。
    • restart - 重新啟動伺服器服務。
    • show - 顯示各種伺服器統計資料。請使用 -h 以取得詳細資訊。
  • mst-cli server logs –help - 用法: mst-cli 伺服器日誌 [標誌]

    旗標:

    • -f, --follow - 追蹤日誌輸出。 預設值為 false。
    • --since string - 顯示自 TIMESTAMP 以來的日誌
    • --tail uint - 在日誌結尾輸出指定的行數。 預設值為零 (0) ,會列印所有行。
    • -t, --timestamps - 在日誌中輸出時間戳記。
  • mst-cli server status - 下列傳回是您可能會看到的結果範例:

    • 狀態:執行中
    • 健康情況:健康
  • mst-cli server start - 如果伺服器已停止,則啟動伺服器。

  • mst-cli server stop - 停止伺服器。 停止之後必須手動啟動。

  • mst-cli server restart - 重新啟動伺服器。

  • mst-cli server show

    • show status - 列印伺服器的狀態和統計資料。
    • show users - 列印已連線的使用者。
    • show ip bans - 列印禁止的 IP 位址。
    • show ip ban points - 列印所有已知有點的 IP 位址。
    • show iroutes - 列印伺服器使用者提供的路由。
    • show sessions all - 列印所有工作階段 ID。
    • show sessions valid - 列印所有用於重新連線工作階段的有效資料。
    • show session [SID] - 列印指定階段作業的資訊。
    • show user [NAME] - 列印指定使用者的資訊。
    • show id [ID] - 列印指定識別碼的資訊。
    • show events - 提供連結使用者的相關資訊。
    • show cookies all - 全部顯示工作階段的別名。
    • show cookies valid - 節目會話的別名有效。

環境變數

以下是在 Linux 伺服器上安裝 Microsoft 通道閘道軟體時可能需要設定的環境變數。 這些變數位於環境檔案 /etc/mstunnel/env.sh:

  • http_proxy=[address] - Proxy 伺服器的 HTTP 位址。
  • https_proxy=[address] - Proxy 伺服器的 HTTPs 位址。

資料路徑

路徑/檔案 描述 權限
/.../mstunnel 所有設定的根目錄。 擁有者根目錄,群組 mstunnel
/.../mstunnel/admin-settings.json 包含伺服器安裝的設定。  Intune 會管理此檔案,不應手動編輯。
/.../mstunnel/certs 儲存 TLS 憑證的目錄。  擁有者根目錄,群組 mstunnel
/.../mstunnel/private 儲存 Intune 代理程式憑證和 TLS 私密金鑰的目錄。  擁有者根目錄,群組 mstunnel

伺服器安裝期間新增的 Files

/etc/mstunnel:

  • admin-settings.json:

    • 包含來自 Intune 的序列化伺服器設定。
    • 在伺服器註冊之後建立。
  • agent-info.json:

    • 註冊完成時建立。
    • AgentId、IntuneTenantId、AADTenantId 和代理程式憑證 RenewalDate。
    • 代理程式憑證更新時已更新。
  • private/agent.p12:

    • 用於代理程式驗證至 Intune 的 PFX 憑證。
    • 自動續訂。
  • version-info.json:

    • 包含各種元件的版本資訊。
    • ConfigVersion、DockerVersion、AgentImageHash、AgentCreateDate、ServerImageHash、ServerCreateDate。
  • ocserv.conf:

    • 伺服器設定
  • Images_configured

用來建立容器的 Docker 映像:

  • agentImageDigest
  • serverImageDigest

admin-settings.json範例

{
"PolicyName": "Auto Generated Policy for rh7vm",
   "DisplayName": "rh7vm Policy",
   "Description": "This policy was auto generated for rh7vm",
   "Network": "169.100.0.0/16",
   "DNSServers": ["168.63.129.16"],
   "DefaultDomainSuffix": "nmqjwlanybmubp4imht0k2b4qd.xx.internal.cloudapp.net",
   "RoutesInclude": ["default"],
   "RoutesExclude": [],
   "ListenPort": 443
}
管理員設定 描述
PolicyName 設定原則的名稱。 您可以選擇名稱。
DisplayName 簡短的顯示名稱。 您可以選擇名稱。
描述 原則的描述。 您可以選擇描述。
網路 用來指派給用戶端虛擬位址的網路及遮罩。 除非發生衝突,否則不需要變更此設定。 此設定最多支援 64,000 個用戶端。
DNSServers 用戶端應該使用的 DNS 伺服器清單。 這些伺服器可以解析內部資源的位址。
DefaultDomainSuffix 用戶端在嘗試解析資源時附加至主機名稱的網域尾碼。
路線包括 透過 VPN 路由的路由清單。 預設值為 [所有路由]。
RoutesExclude 應略過 VPN 的路由清單。
ListenPort VPN 伺服器接收流量的連接埠。

Docker 命令

以下是 Docker 的常用指令,如果您必須調查通道伺服器上的問題,這些指令可供使用。

注意事項

大多數 Linux 發行版都使用 Docker。 不過,有些如 Red Hat Enterprise Linux (RHEL) 8.4 不支援 Docker。 相反地,這些發行版使用 Podman。 如需支援的發行版以及每個發行版的 Docker 或 Podman 需求的詳細資訊,請參閱 Linux 伺服器。

透過將 docker 取代為 podman,可以與 Podman 一起使用為 Docker 撰寫的參照和命令列。

命令列介面:

  • docker ps –a - 查看所有容器。

    • mstunnel-server – 此容器會執行 ocserv 伺服器元件,並使用輸入連接埠 443 (預設) 或自訂連接埠設定。
    • mstunnel-agent - 此容器會執行 Intune 連接器,並使用輸出連接埠 443。
  • 若要重新啟動 Docker:

    • systemctl restart docker
  • 若要在容器中執行某些項目:

    • docker exec –it mstunnel-server bash
    • docker exec –it mstunnel-agent bash

Podman 命令

以下是 Podman 的指令,如果您必須調查通道伺服器上的問題,這些指令可供使用。 如需更多可與 Podman 搭配使用的命令,請參閱 Docker 命令。

  • sudo podman images - 列出所有執行中的容器。
  • sudo podman stats - 顯示容器 CPU 使用率、MEM 使用率、網路和區塊 IO。
  • sudo podman port mstunnel-server- 列出從通道伺服器到本機 Linux 主機的連接埠對應。

Linux 指令

以下是可能與通道伺服器搭配使用的常見 Linux 命令。

  • sudo su – 讓你在盒子上紮根。 在執行下列命令及執行 mstunnel-setup 之前,請先使用此命令。

  • ls – 列出目錄的內容。

  • ls – l – 列出目錄內容,包括時間戳記。

  • cd - 變更至其他目錄。 例如, cd /etc/test/stuff 將您從 根 目錄變更為 etc 子資料夾 > ,再變更為 test 子資料夾 > ,然後變更為 stuff 資料夾。

  • cp <source> <destination> - 對於將憑證複製到正確的位置很有用。

  • ln –s <source> <target> - 建立軟連結。

  • curl <URL> – 檢查網站的存取權。 例如:curl https://microsoft.com

  • ./<filename> - 執行指令碼。

手動載入ip_tables

使用下列命令檢查並視需要手動載入 Linux 伺服器核心中的ip_tables。 使用 sudo 內容:

  • 驗證伺服器上是否存在 ip_tables: lsmod |grep ip_tables
  • 建立設定檔,在伺服器開機時將ip_tables載入核心: echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf
  • 若要立即將ip_tables載入核心: /sbin/modprobe ip_tables