Microsoft Tunnel Gateway のリファレンス

Microsoft Tunnel Gateway のこのリファレンスの情報は、環境内のトンネルインストールのインストールとメンテナンスをサポートするために提供されています。

Microsoft Tunnel Gateway 用 mst-cli コマンド ライン ツール

Mst-cli は、Microsoft Tunnel Gateway で使用するためのコマンド ライン ツールです。 このツールは、トンネルのインストールが完了した後、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 - ログの最後に指定した数の LINES を出力します。 既定値は 0 (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 - ログの最後に指定した数の LINES を出力します。 既定値は 0 (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] - 指定した ID に関する情報を出力します。
    • show events - ユーザーの接続に関する情報を提供します。
    • show cookies all - セッションをすべて表示するためのエイリアス。
    • show cookies valid - 有効なセッションを表示するためのエイリアス。

環境変数

Linux サーバーに Microsoft Tunnel Gateway ソフトウェアをインストールするときに構成する必要がある環境変数を次に示します。 これらの変数は、環境ファイル /etc/mstunnel/env.sh にあります

  • http_proxy=[address] - プロキシ サーバーの HTTP アドレス。
  • https_proxy=[address] - プロキシ サーバーの 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 短い表示名。 名前は選択できます。
説明 ポリシーの説明。 説明を選択できます。
Network クライアント仮想アドレスの割り当てに使用されるネットワークとマスク。 これは、競合がない限り変更する必要はありません。 この設定では、最大 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 サブフォルダーにテスト サブフォルダー>>に、次に stuff フォルダーに変更します。

  • cp <source> <destination> - 証明書を適切な場所にコピーする場合に便利です。

  • ln –s <source> <target> - ソフトリンクを作成します。

  • curl <URL> – Web サイトへのアクセスを確認します。 例: 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