共用方式為


Microsoft Tunnel 閘道的參考

此 Microsoft Tunnel 閘道參考中的資訊是提供來支援在環境中安裝和維護通道安裝。

適用於 Microsoft Tunnel 閘道的 mst-cli 命令行工具

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

  • 取得通道伺服器的相關信息。
  • 設定或更新通道伺服器的組態。
  • 重新啟動通道伺服器。
  • 卸載通道伺服器。

以下是工具的常見命令行使用。

命令列介面

  • mst-cli –help - 使用方式: mst-cli [command]

    命令:

    • agent - 在代理程式元件上操作。
    • server - 在伺服器元件上操作。
    • uninstall - 卸載 Microsoft Tunnel。
    • eula - 顯示EULA。
    • import_cert - 匯入或更新 TLS 憑證。
  • mst-cli agent –help - 使用方式: mst-cli 代理程序 [命令]

    命令:

    • logs - 如需詳細資訊,請 (-h 顯示代理程序記錄) 。
    • status - 顯示代理程序狀態。
    • start - 啟動代理程序服務。
    • stop - 停止代理程序服務。
    • restart - 重新啟動代理程序服務。
  • mst-cli agent logs help - 使用方式: mst-cli 代理程序記錄 [flags]

    標誌:

    • -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 伺服器記錄 [flags]

    標誌:

    • -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 - 列印所有會話識別碼。
    • show sessions valid - 列印所有有效的重新聯機會話。
    • show session [SID] - 列印指定會話的資訊。
    • show user [NAME] - 列印指定用戶的資訊。
    • show id [ID] - 列印指定識別子的資訊。
    • show events - 提供連接使用者的相關信息。
    • show cookies all - 顯示所有工作階段的別名。
    • show cookies valid - 顯示有效會話的別名。

環境變數

以下是當您在 Linux 伺服器上安裝 Microsoft Tunnel 閘道軟體時,您可能想要設定的環境變數。 這些變數位於 環境檔案 /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

伺服器安裝期間新增的檔案

/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 嘗試解析資源時,用戶端附加至主機名的網域後綴。
RoutesInclude 透過 VPN 路由的路由清單。 預設值為所有路由。
RoutesExclude 應該略過 VPN 的路由清單。
ListenPort VPN 伺服器接收流量的埠。

Docker 命令

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

注意事項

大部分的Linux發行版都使用Docker。 不過,某些像 是 Red Hat Enterprise Linux (RHEL) 8.4 不支援 Docker。 相反地,這些散發套件會使用Podman。 如需支持的發行版以及每個發行版的 Docker 或 Podman 需求的詳細資訊,請參閱 Linxu 伺服器

針對 Docker 所撰寫的參考和命令行可透過將 docker 取代為 podman 來與 Podman 搭配使用。

命令列介面:

  • 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 - 列出從 tunnel-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