Поделиться через


Справочник по шлюзу Microsoft Tunnel

Сведения в этом справочнике по шлюзу Microsoft Tunnel приведены для поддержки установки и обслуживания установки туннеля в вашей среде.

Программа командной строки mst-cli для шлюза Microsoft Tunnel

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

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

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

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

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

    Команды:

    • agent — Работа с компонентом агента.
    • server — работает с серверным компонентом.
    • uninstall — Удалите Microsoft Tunnel.
    • 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 — выводит все идентификаторы сеансов.
    • show sessions valid — выводит все допустимые для сеансов повторного подключения.
    • show session [SID] — выводит сведения о указанном сеансе.
    • show user [NAME] — выводит сведения о указанном пользователе.
    • show id [ID] — выводит сведения по указанному идентификатору.
    • show events — предоставляет сведения о подключении пользователей.
    • show cookies all — псевдоним для всех сеансов отображения.
    • show cookies valid — псевдоним для отображения сеансов допустимости.

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

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

  • http_proxy=[адрес] — HTTP-адрес прокси-сервера.
  • https_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:

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

Команды Docker

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

Примечание.

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

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

  • sudo podman images — вывод списка всех запущенных контейнеров.
  • sudo podman stats — Отображение использования ЦП контейнера, использования MEM, сетевых и блочных операций ввода-вывода.
  • 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 вручную

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