다음을 통해 공유


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 - 로그 끝에 지정된 줄 수를 출력합니다. 기본값은 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 - 모든 세션 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] - 프록시 서버의 HTTP 주소입니다.

데이터 경로

경로/파일 설명 사용 권한
/.../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를 사용합니다. 그러나 RHEL(Red Hat Enterprise Linux) 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루트 디렉터리에서 기타 하위 폴더에서 테스트 하위 폴더 >> 로 변경한 다음, 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