Odwołanie wiersza polecenia dla aplikacji Microsoft Tunnel Gateway

Informacje zawarte w tym odwołaniu do bramy tunelu firmy Microsoft są udostępniane w celu obsługi instalacji i konserwacji instalacji tunelu w danym środowisku.

Narzędzie wiersza polecenia mst-cli dla bramy tunelu firmy Microsoft

Mst-cli to narzędzie wiersza polecenia do użytku z bramą tunelu firmy Microsoft. To narzędzie jest dostępne na serwerze systemu Linux po zakończeniu instalacji tunelu i znajduje się w /usr/sbin/mst-cli. Oto niektóre zadania, które można wykonać za pomocą tego narzędzia:

  • Uzyskaj informacje o serwerze tunelu.
  • Ustaw lub zaktualizuj konfigurację serwera tunelu.
  • Uruchom ponownie serwer tunelu.
  • Odinstaluj serwer tunelu.

Poniżej przedstawiono typowe zastosowania tego narzędzia w wierszu poleceń.

Interfejs wiersza polecenia:

  • mst-cli –help - Użycie: mst-cli [polecenie]

    Polecenia

    • agent - Operuj na komponencie agenta.
    • server - Operuj na komponencie serwera.
    • uninstall - Odinstaluj aplikację Microsoft Tunnel.
    • eula - Pokaż umowę licencyjną End-User (EULA).
    • import_cert - Importuj lub zaktualizuj certyfikat TLS.
  • mst-cli agent –help - Użycie: agent mst-cli [polecenie]

    Polecenia:

    • logs - Pokaż dzienniki agenta. (Użyj -h , aby uzyskać więcej informacji.)
    • status - Pokaż status agenta.
    • start - Uruchom usługę agenta.
    • stop - Zatrzymaj usługę agenta.
    • restart - Uruchom ponownie usługę agenta.
  • mst-cli agent logs help - Użycie: dzienniki agenta mst-cli [flagi]

    Flagi:

    • -f, --follow - Postępuj zgodnie z danymi wyjściowymi dziennika. Wartość domyślna to false.
    • --since string - Pokaż dzienniki od TIMESTAMP.
    • --tail uint - Wypisuje określoną liczbę LINII na końcu dzienników. Wartość domyślna to zero (0), co oznacza, że drukowane są wszystkie wiersze.
    • -t, --timestamps - Wyprowadź znaczniki czasu w dzienniku.
  • mst-cli agent status - Poniższe zwroty są przykładami wyników, które możesz zobaczyć:

    • Stan: uruchomiony
    • Zdrowie: zdrowy
  • mst-cli agent start — Uruchamia agenta, jeśli jest zatrzymany.

  • mst-cli agent stop - Zatrzymuje agenta. Po zatrzymaniu musi być uruchomiony ręcznie.

  • mst-cli agent restart — Uruchamia ponownie agenta.

  • mst-cli server --help - Użycie: serwer mst-cli [komenda]

    Polecenia:

    • logs - Pokaż logi serwera. Użyj -h , aby uzyskać więcej informacji.
    • status - Pokaż stan serwera.
    • start - Uruchom usługę serwera.
    • stop - Zatrzymaj usługę serwera.
    • restart - Uruchom ponownie usługę serwera.
    • show - Pokaż różne statystyki serwera. Użyj -h , aby uzyskać więcej informacji.
  • mst-cli server logs –help - Użycie: logi serwera mst-cli [flagi]

    Flagi:

    • -f, --follow - Postępuj zgodnie z danymi wyjściowymi dziennika. Wartość domyślna to false.
    • --since string - Pokaż dzienniki od TIMESTAMP
    • --tail uint - Wypisuje określoną liczbę LINII na końcu dzienników. Wartość domyślna to zero (0), co oznacza, że drukowane są wszystkie wiersze.
    • -t, --timestamps - Wyprowadź znaczniki czasu w dzienniku.
  • mst-cli server status - Poniższe zwroty są przykładami wyników, które możesz zobaczyć:

    • Stan: uruchomiony
    • Zdrowie: zdrowy
  • mst-cli server start - Uruchamia serwer, jeśli jest zatrzymany.

  • mst-cli server stop - Zatrzymuje serwer. Po zatrzymaniu musi być uruchomiony ręcznie.

  • mst-cli server restart - Ponownie uruchamia serwer.

  • mst-cli server show

    • show status - Wyświetla stan i statystyki serwera.
    • show users — Drukuje informacje o podłączonych użytkownikach.
    • show ip bans - Drukuje zablokowane adresy IP.
    • show ip ban points - Drukuje wszystkie znane adresy IP, które mają punkty.
    • show iroutes - Wyświetla trasy dostarczone przez użytkowników serwera.
    • show sessions all - Drukuje wszystkie identyfikatory sesji.
    • show sessions valid - Drukuje wszystkie ważne dla ponownych sesji łączenia.
    • show session [SID] - Drukuje informacje o określonej sesji.
    • show user [NAME] - Drukuje informacje o określonym użytkowniku.
    • show id [ID] - Drukuje informacje o określonym identyfikatorze.
    • show events - Zawiera informacje na temat łączenia użytkowników.
    • show cookies all - Alias do wszystkich sesji pokazowych.
    • show cookies valid - Alias ważności sesji pokazowych.

Zmienne środowiskowe

Poniżej przedstawiono zmienne środowiskowe, które można skonfigurować podczas instalowania oprogramowania Microsoft Tunnel Gateway na serwerze systemu Linux. Te zmienne znajdują się w pliku środowiska /etc/mstunnel/env.sh:

  • http_proxy=[adres] - Adres HTTP serwera proxy.
  • https_proxy=[adres] - Adres HTTPs Twojego serwera proxy.

Ścieżki danych

ścieżka/plik Opis Uprawnienia
/.../mstunnel Katalog główny dla wszystkich konfiguracji. Właściciel katalogu głównego, Grupa mstunnel
/.../mstunnel/admin-settings.json Zawiera ustawienia instalacji na serwerze.  Usługa Intune zarządza tym plikiem i nie należy go edytować ręcznie.
/.../mstunnel/certs Katalog, w którym jest przechowywany certyfikat TLS.  Właściciel katalogu głównego, Grupa mstunnel
/.../mstunnel/private Katalog, w którym są przechowywane certyfikat agenta usługi Intune i klucz prywatny TLS.  Właściciel katalogu głównego, Grupa mstunnel

Dodawanie plików Files podczas instalacji serwera

/etc/mstunnel:

  • admin-settings.json:

    • Zawiera serializowaną konfigurację serwera z usługi Intune.
    • Tworzony po zarejestrowaniu serwera.
  • agent-info.json:

    • Tworzony po ukończeniu rejestracji.
    • AgentId, IntuneTenantId, AADTenantId i data odnowienia certyfikatu agenta.
    • Zaktualizowano odnowienie certyfikatu agenta.
  • private/agent.p12:

    • Certyfikat PFX używany do uwierzytelniania agenta w usłudze Intune.
    • Odnawiane automatycznie.
  • version-info.json:

    • Zawiera informacje o wersji dla różnych składników.
    • ConfigVersion, DockerVersion, AgentImageHash, AgentCreateDate, ServerImageHash, ServerCreateDate.
  • ocserv.conf:

    • Konfiguracja serwera
  • Images_configured

Obrazy platformy Docker użyte do utworzenia kontenerów:

  • agentImageDigest
  • serverImageDigest

Przykład 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
}
Ustawienie administracji Opis
PolicyName (Nazwa zasad) Nazwa zasad ustawień. Możesz wybrać nazwę.
DisplayName (Nazwa wyświetlana) Krótka nazwa wyświetlana. Możesz wybrać nazwę.
Opis Opis zasad. Możesz wybrać opis.
Sieć Sieć i maska używane do przypisywania klientom adresów wirtualnych. Tego ustawienia nie trzeba zmieniać, o ile nie występuje konflikt. To ustawienie obsługuje maksymalnie 64 000 klientów.
Serwery DNSSerwers Lista serwerów DNS, których ma używać klient. Serwery te mogą rozpoznawać adresy zasobów wewnętrznych.
DefaultDomainSuffix Sufiks domeny dołączany przez klienta do nazwy hosta podczas próby rozpoznania zasobów.
TrasyDołącz Lista tras kierowanych za pośrednictwem sieci VPN. Ustawieniem domyślnym są wszystkie trasy.
RoutesExclude (Wykluczanie tras) Lista tras, które powinny omijać sieć VPN.
ListenPort (Port słuchania) Port, na którym serwer sieci VPN odbiera ruch.

Polecenia platformy Docker

Poniżej przedstawiono typowe polecenia platformy Docker, które mogą być przydatne podczas badania problemów na serwerze tunelu.

Uwaga

Większość dystrybucji systemu Linux używa platformy Docker. Jednak niektóre, takie jak Red Hat Enterprise Linux (RHEL) 8.4, nie obsługują platformy Docker. Zamiast tego te dystrybucje używają Podmana. Aby uzyskać więcej informacji na temat obsługiwanych dystrybucji i wymagań platformy Docker lub Podman dla każdej z nich, zobacz Serwery systemu Linux.

Odwołania i wiersze poleceń napisane dla platformy Docker mogą być używane z programem Podman, zastępując pozycję docker przez element podman.

Interfejs wiersza polecenia:

  • docker ps –a – Zobacz wszystkie kontenery.

    • mstunnel-server — ten kontener uruchamia składniki serwera ocserv i używa portu przychodzącego 443 (domyślnie) lub niestandardowej konfiguracji portów.
    • mstunnel-agent — ten kontener uruchamia łącznik usługi Intune i używa portu wychodzącego 443.
  • Aby ponownie uruchomić program Docker:

    • systemctl restart docker
  • Aby uruchomić element w kontenerze:

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

Polecenia Podmana

Poniżej przedstawiono polecenia dla Podmana, które mogą być przydatne, jeśli musisz zbadać problemy na serwerze tunelu. Aby uzyskać więcej poleceń, których można użyć z Podmanem, zobacz Polecenia platformy Docker.

  • sudo podman images - Wyświetl listę wszystkich uruchomionych kontenerów.
  • sudo podman stats - Wyświetlanie wykorzystania procesora w kontenerze, użycia MEM, sieci i we/wy bloku.
  • sudo podman port mstunnel-server- Wyświetl mapowania portów z tunnel-server do lokalnego hosta systemu Linux.

Polecenia systemu Linux

Poniżej przedstawiono typowe polecenia systemu Linux, których można używać z serwerem tunelu.

  • sudo su – Sprawia, że kibicujesz na pudełku. Użyj tego polecenia przed uruchomieniem następujących poleceń i przed uruchomieniem mstunnel-setup.

  • ls – wypisz zawartość katalogu.

  • ls – l — Wyświetla zawartość katalogu, w tym znaczniki czasu.

  • cd – przejdź do innego katalogu. Na przykład cd /etc/test/stuff zmienia U z katalogu głównego do podfolderu >etc, do podfolderu >test, a następnie do folderu stuff.

  • cp <source> <destination> — Przydatne do kopiowania certyfikatów do właściwej lokalizacji.

  • ln –s <source> <target> - Utwórz miękki link.

  • curl <URL> — Sprawdza dostęp do strony internetowej. Przykład: curl https://microsoft.com

  • ./<filename> - Uruchom skrypt.

Ręczne ładowanie ip_tables

Użyj następujących poleceń, aby sprawdzić i w razie potrzeby ręcznie załadować ip_tables w jądrze serwera Linux. Użyj kontekstu sudo:

  • Zweryfikuj obecność ip_tables na serwerze: lsmod |grep ip_tables
  • Utwórz plik konfiguracyjny, który ładuje ip_tables do jądra podczas uruchamiania serwera: echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf
  • Aby natychmiast załadować ip_tables do jądra: /sbin/modprobe ip_tables