Справочник по командной строке для шлюза туннелей (Майкрософт)

Сведения, приведенные в этом справочнике по шлюзу туннелей (Майкрософт), предназначены для поддержки установки и обслуживания туннеля в вашей среде.

Средство командной строки mst-cli для шлюза туннелей (Майкрософт)

Mst-cli — это средство командной строки для использования с Microsoft Tunnel Gateway. Это средство доступно на сервере Linux после завершения установки туннеля по адресу /usr/sbin/mst-cli. Вот некоторые задачи, которые можно выполнить с помощью этого средства:

  • Получите сведения о сервере туннелей.
  • Настройка или обновление конфигурации туннельного сервера.
  • Перезапустите сервер туннелей.
  • Удалите сервер туннелей.

Ниже приведены распространенные способы использования средства в командной строке.

Интерфейс командной строки:

  • mst-cli –help - Использование: mst-cli [команда]

    Команды

    • agent - Оперировать компонентом агента.
    • server - Оперировать серверной составляющей.
    • uninstall - Удалите Microsoft Tunnel.
    • eula - Покажите лицензионное соглашение End-User (EULA).
    • import_cert - Импортируйте или обновите сертификат TLS.
  • mst-cli agent –help - Использование: mst-cli agent [команда]

    Команды:

    • 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 - Печатает все идентификаторы сеансов.
    • show sessions valid - Печатает все допустимые для повторных сеансов подключения.
    • show session [SID] - Печатает информацию об указанном сеансе.
    • show user [NAME] - Печатает информацию об указанном пользователе.
    • show id [ID] - Печатает информацию по указанному идентификатору.
    • show events - Предоставляет информацию о подключении пользователей.
    • show cookies all - Псевдоним для всех сеансов шоу.
    • show cookies valid - Псевдоним для сеансов показа действителен.

Переменные среды

Ниже приведены переменные среды, которые можно настроить при установке программного обеспечения шлюза туннелей (Майкрософт) на сервере Linux. Эти переменные находятся в файле окружения /etc/mstunnel/env.sh:

  • http_proxy=[адрес] — HTTP-адрес прокси-сервера.
  • https_proxy=[адрес] — HTTP-адрес прокси-сервера.

Пути к данным

Путь к файлу Описание Разрешения
/.../mstunnel Корневой каталог для всех конфигураций. Владелец root, группа mstunnel
/.../mstunnel/admin-settings.json Содержит параметры серверной установки.  Intune управляет этим файлом, и его не следует редактировать вручную.
/.../mstunnel/certs Каталог, в котором хранится сертификат TLS.  Владелец root, группа mstunnel
/.../mstunnel/private Каталог, в котором хранятся сертификат агента Intune и закрытый ключ TLS.  Владелец root, группа mstunnel

Files добавление во время установки сервера

/etc/mstunnel:

  • admin-settings.json:

    • Содержит сериализованную конфигурацию сервера из Intune.
    • Создается после регистрации сервера.
  • agent-info.json:

    • Создается после завершения регистрации.
    • AgentId, IntuneTenantId, AADTenantId и дата обновления сертификата агента.
    • Обновлено обновление сертификата агента.
  • private/agent.p12:

    • Сертификат PFX, используемый для проверки подлинности агента в Intune.
    • Продлевается автоматически.
  • 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 Суффикс домена, который клиент добавляет к имени узла при попытке разрешить ресурсы.
МаршрутыInclude Список маршрутов, маршрутизируемых через VPN. По умолчанию указаны все маршруты.
МаршрутыИсключить Список маршрутов, которые должны обходить VPN.
ListenPort Порт, на который VPN-сервер получает трафик.

Команды Docker

Ниже приведены общие команды для Docker, которые могут быть полезны при исследовании проблем на туннельном сервере.

Примечание.

Большинство дистрибутивов Linux используют Docker. Однако некоторые приложения, например Red Hat Enterprise Linux (RHEL) 8.4, не поддерживают Docker. Вместо этого в этих дистрибутивах используется Podman. Дополнительные сведения о поддерживаемых дистрибутивах и требованиях к Docker или Podman для каждого из них см. в статье Серверы Linux.

Ссылки и командные строки, написанные для Docker, можно использовать с Podman, заменив docker на 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, см. в разделе Команды Docker.

  • sudo podman images - Перечислить все запущенные контейнеры.
  • sudo podman stats - Отображение использования ЦП контейнера, использования MEM, сети и ввода-вывода блока.
  • sudo podman port mstunnel-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> — Проверяет доступ к веб-сайту. Пример: curl https://microsoft.com

  • ./<filename> - Запустите скрипт.

Загрузка ip_tables вручную

Используйте следующие команды для проверка и ручной загрузки ip_tables в ядре сервера Linux. Используйте контекст 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