방화벽에서 작동하도록 RPC 동적 포트 할당을 구성하는 방법

이 문서는 레지스트리에서 RPC(원격 프로시저 호출) 매개 변수를 수정하여 RPC 동적 포트 할당이 방화벽에서 작동할 수 있도록 하는 데 도움이 됩니다.

적용 대상: Windows Server 2012 R2
원본 KB 번호: 154596

요약

RPC 동적 포트 할당은 DHCP(동적 호스트 구성 프로토콜) 관리자, WINS(Windows 인터넷 이름 서비스) 관리자 등과 같은 서버 애플리케이션 및 원격 관리 애플리케이션에서 사용됩니다. RPC 동적 포트 할당은 사용된 운영 체제의 구현에 따라 TCP 및 UDP에 대해 구성된 범위에서 특정 임의 포트를 사용하도록 RPC 프로그램에 지시합니다. 자세한 내용은 아래 참조를 참조하세요.

방화벽을 사용하는 고객은 이러한 UDP 및 TCP(Transmission Control Protocol) 포트만 전달하도록 방화벽 라우터를 구성할 수 있도록 RPC가 사용하는 포트를 제어할 수 있습니다.

Windows의 많은 RPC 서버를 사용하면 레지스트리 항목과 같은 사용자 지정 구성 항목에서 서버 포트를 지정할 수 있습니다. 전용 서버 포트를 지정할 수 있는 경우 방화벽을 통해 호스트 간에 흐르는 트래픽을 알 수 있습니다. 또한 더 직접적인 방식으로 허용되는 트래픽을 정의할 수 있습니다.

서버 포트로 아래에서 지정할 수 있는 범위를 벗어난 포트를 선택합니다. Windows에서 사용되는 서버 포트의 포괄적인 목록과 Windows에 대한 서비스 개요 및 네트워크 포트 요구 사항의 주요 Microsoft 제품을 찾을 수 있습니다.

또한 이 문서에서는 RPC 서버와 RPC 런타임이 제공하는 기능 이외의 사용자 지정 서버 포트를 사용하도록 구성할 수 있는 RPC 서버를 나열합니다.

일부 방화벽은 RPC 인터페이스 UUID에 대한 RPC 엔드포인트 매퍼 요청에서 학습하는 UUID 필터링도 허용합니다. 응답에는 서버 포트 번호가 있으며 이 포트의 후속 RPC 바인딩을 전달할 수 있습니다.

중요

RPC 서버가 서버 포트를 정의하는 방법을 제공하지 않는 경우에만 이 문서에 설명된 메서드를 사용합니다.

다음 레지스트리 항목은 Windows NT 4.0 이상에 적용됩니다. 이전 버전의 Windows NT 적용되지 않습니다. 클라이언트가 서버와 통신하는 데 사용하는 포트를 구성할 수 있지만 클라이언트는 실제 IP 주소로 서버에 연결할 수 있어야 합니다. 주소 변환을 수행하는 방화벽을 통해 DCOM을 사용할 수 없습니다. 예를 들어 클라이언트는 가상 주소 198.252.145.1에 연결합니다. 방화벽은 서버의 실제 주소(예: 192.100.81.101)에 투명하게 매핑됩니다. DCOM은 원시 IP 주소를 인터페이스 마샬링 패킷에 저장합니다. 클라이언트가 패킷에 지정된 주소에 연결할 수 없는 경우 작동하지 않습니다.

추가 정보

아래에 설명된 값(및 인터넷 키)이 레지스트리에 표시되지 않습니다. 레지스트리 편집기 사용하여 수동으로 추가해야 합니다.

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 자세한 내용은 Windows에서 레지스트리를 백업하고 복원하는 방법을 참조하세요.

레지스트리 편집기 RPC에 대해 다음 매개 변수를 수정할 수 있습니다. 아래에 설명된 RPC 포트 키 값은 모두 레지스트리의 다음 키에 있습니다.

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\Entry name Data Type

  • 포트 REG_MULTI_SZ

    인터넷에서 사용할 수 있는 모든 포트 또는 인터넷에서 사용할 수 없는 모든 포트로 구성된 IP 포트 범위 집합을 지정합니다. 각 문자열은 단일 포트 또는 포괄 포트 집합을 나타냅니다.

    예를 들어 단일 포트는 5984로 표시될 수 있으며 포트 집합은 5000-5100으로 표시될 수 있습니다. 항목이 0에서 65535 범위 밖에 있거나 문자열을 해석할 수 없는 경우 RPC 런타임은 전체 구성을 잘못된 것으로 처리합니다.

  • PortsInternetAvailable REG_SZ Y 또는 N(대/소문자를 구분하지 않음)

    Y이면 포트 키에 나열된 포트는 모두 해당 컴퓨터에서 인터넷 사용 가능한 포트입니다. N이면 포트 키에 나열된 포트는 모두 인터넷을 사용할 수 없는 포트입니다.

  • UseInternetPorts REG_SZ Y 또는 N(대/소문자를 구분하지 않음)

    시스템 기본 정책을 지정합니다.

    Y이면 기본값을 사용하는 프로세스에 이전에 정의된 대로 인터넷 사용 가능한 포트 집합의 포트가 할당됩니다. N이면 기본값을 사용하는 프로세스에 인트라넷 전용 포트 집합의 포트가 할당됩니다.

예제

이 예제에서는 새 레지스트리 키를 구성하는 방법을 설명하기 위해 포트 5000~6000 포괄 포트를 임의로 선택했습니다. 특정 시스템에 필요한 최소 포트 수에 대한 권장 사항은 아닙니다.

  1. 아래의 인터넷 키 추가 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  2. 인터넷 키 아래에 포트 (MULTI_SZ), PortsInternetAvailable (REG_SZ) 및 UseInternetPorts (REG_SZ) 값을 추가합니다.

    예를 들어 새 레지스트리 키는 다음과 같이 표시됩니다.

    포트: REG_MULTI_SZ: 5000-6000
    PortsInternetAvailable: REG_SZ: Y
    UseInternetPorts: REG_SZ: Y

  3. 서버를 다시 시작합니다. RPC 동적 포트 할당을 사용하는 모든 애플리케이션은 포트 5000~6000(포함)을 사용합니다.

포트 5000 이상의 포트 범위를 열어야 합니다. 5000 미만의 포트 번호는 이미 다른 애플리케이션에서 사용 중일 수 있으며 DCOM 애플리케이션과 충돌이 발생할 수 있습니다. 또한 이전 환경에서는 여러 시스템 서비스가 이러한 RPC 포트를 사용하여 서로 통신하기 때문에 최소 100개의 포트를 열어야 합니다.

참고

필요한 최소 포트 수는 컴퓨터마다 다를 수 있습니다. 트래픽이 많은 컴퓨터는 RPC 동적 포트가 제한되는 경우 포트 소모 상황이 발생할 수 있습니다. 포트 범위를 제한할 때 이를 고려합니다.

경고

포트 구성에 오류가 있거나 풀에 포트가 부족한 경우 엔드포인트 매퍼 서비스는 동적 엔드포인트에 RPC 서버를 등록할 수 없습니다. 구성 오류가 발생하면 오류 코드는 87(0x57) ERROR_INVALID_PARAMETER. 이는 Netlogon과 같은 Windows RPC 서버에도 영향을 줄 수 있습니다. 이 경우 이벤트 5820을 기록합니다.

Log Name: System  
Source: NETLOGON  
Event ID: 5820  
Level: Error  
Keywords: Classic  
Description:  
The Netlogon service could not add the AuthZ RPC interface. The service was terminated. The following error occurred: The parameter is incorrect.

자세한 내용은 다음 항목을 참조하세요.