아웃바운드 프록시 서버를 사용하도록 Microsoft Entra 프라이빗 네트워크 커넥터를 구성합니다. 이 문서에서는 네트워크 환경에 프록시 서버가 이미 있다고 가정합니다.
먼저 다음과 같은 주요 배포 시나리오를 살펴봅니다.
- 온-프레미스 아웃바운드 프록시를 무시하도록 커넥터를 구성합니다.
- 아웃바운드 프록시를 사용하여 Microsoft Entra 애플리케이션 프록시에 액세스하도록 커넥터를 구성합니다.
- 커넥터와 백 엔드 애플리케이션 간에 프록시를 사용하여 구성합니다.
커넥터 작동 방식에 대한 자세한 내용은 Microsoft Entra 프라이빗 네트워크 커넥터이해하세요.
아웃바운드 프록시 무시
커넥터에는 아웃바운드 요청을 수행하는 기본 OS 구성 요소가 있습니다. 이러한 구성 요소는 WPAD(웹 프록시 자동 검색)를 사용하여 네트워크에서 프록시 서버를 자동으로 찾으려고 시도합니다.
OS 구성 요소는 wpad.domainsuffix
대한 DNS(도메인 이름 시스템) 조회를 수행하여 프록시 서버를 찾으려고 시도합니다. DNS에서 조회가 확인되면 wpad.dat
대한 IP(인터넷 프로토콜) 주소에 대한 HTTP 요청이 이루어집니다. 이 요청은 사용자 환경의 프록시 구성 스크립트가 됩니다. 커넥터는 이 스크립트를 사용하여 아웃바운드 프록시 서버를 선택합니다. 그러나 프록시에 더 많은 구성 설정이 필요하기 때문에 커넥터 트래픽이 계속 실패할 수 있습니다.
온-프레미스 프록시를 바이패스하도록 커넥터를 구성하여 Microsoft Entra 애플리케이션 프록시 서비스에 대한 직접 연결을 사용하도록 할 수 있습니다. 직접 연결은 구성이 덜 필요하기 때문에 권장됩니다. 그러나 일부 네트워크 정책에는 로컬 프록시 서버를 통과하는 트래픽이 필요합니다.
커넥터에 대한 아웃바운드 프록시 사용을 사용하지 않도록 설정하려면 C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config
파일을 편집하고 코드 샘플에 표시된 system.net
섹션을 추가합니다.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy enabled="false"></defaultProxy>
</system.net>
<runtime>
<gcServer enabled="true"/>
</runtime>
<appSettings>
<add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
</appSettings>
</configuration>
커넥터 업데이트 서비스도 프록시를 바이패스하도록 하려면 MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config
파일을 유사하게 변경합니다. 이 파일은 C:\Program Files\Microsoft Entra private network connector Updater
에 위치해 있습니다.
기본 .config
파일로 되돌려야 하는 경우 원본 파일의 복사본을 만들어야 합니다.
아웃바운드 프록시 서버 사용
일부 환경에서는 예외 없이 모든 아웃바운드 트래픽이 아웃바운드 프록시를 통과해야 합니다. 따라서 프록시를 우회하는 것은 옵션이 아닙니다.
다음 다이어그램과 같이 아웃바운드 프록시를 통과하도록 커넥터 트래픽을 구성할 수 있습니다.
아웃바운드 트래픽만 있으므로 방화벽을 통해 인바운드 액세스를 구성할 필요가 없습니다.
메모
애플리케이션 프록시는 다른 프록시에 대한 인증을 지원하지 않습니다. 커넥터/업데이트 관리자 네트워크 서비스 계정은 인증에 대한 챌린지 없이 프록시에 연결할 수 있어야 합니다.
1단계: 아웃바운드 프록시를 통과하도록 커넥터 및 관련 서비스 구성
WPAD가 환경에서 사용하도록 설정되고 적절하게 구성된 경우 커넥터는 자동으로 아웃바운드 프록시 서버를 검색하고 사용하려고 시도합니다. 그러나 아웃바운드 프록시를 통과하도록 커넥터를 명시적으로 구성할 수 있습니다.
이렇게 하려면 C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config
파일을 편집하고 코드 샘플에 표시된 system.net
섹션을 추가합니다. 로컬 프록시 서버 이름 또는 IP 주소 및 포트를 반영하도록 proxyserver:8080
변경합니다. IP 주소를 사용하는 경우에도 값에 접두사 http://
있어야 합니다.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="http://proxyserver:8080" bypassonlocal="True" usesystemdefault="True"/>
</defaultProxy>
</system.net>
<runtime>
<gcServer enabled="true"/>
</runtime>
<appSettings>
<add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
</appSettings>
</configuration>
다음으로, C:\Program Files\Microsoft Entra private network connector Updater\MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config
파일을 유사하게 변경하여 프록시를 사용하도록 Connector Updater 서비스를 구성합니다.
메모
MicrosoftEntraPrivateNetworkConnectorService.exe.config에서 기본적으로 defaultProxy가 구성되지 않은 경우, 커넥터 서비스는 %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
사용에 대한 defaultProxy 구성을 평가합니다. 이 적용은 커넥터 업데이트 서비스(MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config)에도 해당됩니다.
2단계: 커넥터 및 관련 서비스의 트래픽이 전달되도록 프록시 구성
아웃바운드 프록시에서 고려해야 할 네 가지 측면은 다음과 같습니다.
- 프록시 아웃바운드 규칙
- 프록시 인증
- 프록시 포트
- TLS(전송 계층 보안) 검사
프록시 아웃바운드 규칙
다음 URL에 대한 액세스를 허용합니다.
URL | 항구 | 사용하다 |
---|---|---|
*.msappproxy.net *.servicebus.windows.net |
443/HTTPS | 커넥터와 애플리케이션 프록시 클라우드 서비스 간의 통신 |
crl3.digicert.com crl4.digicert.com ocsp.digicert.com crl.microsoft.com oneocsp.microsoft.com ocsp.msocsp.com |
80/HTTP | 커넥터는 이러한 URL을 사용하여 인증서를 확인합니다. |
login.windows.net secure.aadcdn.microsoftonline-p.com *.microsoftonline.com *.microsoftonline-p.com *.msauth.net *.msauthimages.net *.msecnd.net *.msftauth.net *.msftauthimages.net *.phonefactor.net enterpriseregistration.windows.net management.azure.com policykeyservice.dc.ad.msft.net ctldl.windowsupdate.com |
443/HTTPS | 커넥터는 등록 프로세스 중에 이러한 URL을 사용합니다. |
ctldl.windowsupdate.com www.microsoft.com/pkiops |
80/HTTP | 커넥터는 등록 프로세스 중에 이러한 URL을 사용합니다. |
방화벽 또는 프록시에서 DNS 허용 목록을 구성할 수 있는 경우, *.msappproxy.net
및 *.servicebus.windows.net
으로의 연결을 허용할 수 있습니다.
FQDN(정규화된 도메인 이름)으로 연결을 허용할 수 없고 대신 IP 범위를 지정해야 하는 경우 다음 옵션을 사용합니다.
- 커넥터의 아웃바운드 액세스를 모든 대상에 허용합니다.
- 모든 Azure 데이터 센터 IP 범위에 대한 커넥터 아웃바운드 액세스를 허용합니다. Azure 데이터 센터 IP 범위 목록을 사용하는 경우의 과제는 매주 업데이트된다는 것입니다. 액세스 규칙이 적절하게 업데이트되도록 프로세스를 설정해야 합니다. IP 주소의 하위 집합만 사용하면 구성이 중단됩니다. 최신 Azure Data Center IP 범위는 https://download.microsoft.com에서 다운로드할 수 있습니다.
Azure IP Ranges and Service Tags
를 검색어로 사용하세요. 관련 클라우드를 선택해야 합니다. 예를 들어 공용 클라우드 IP 범위는Azure IP Ranges and Service Tags – Public Cloud
검색하여 찾을 수 있습니다. 미국 정부 클라우드는Azure IP Ranges and Service Tags – US Government Cloud
검색하여 찾을 수 있습니다.
프록시 인증
프록시 인증은 현재 지원되지 않습니다. 현재 권장 사항은 인터넷 대상에 대한 커넥터 익명 액세스를 허용하는 것입니다.
프록시 포트
커넥터는 CONNECT 메서드를 사용하여 아웃바운드 TLS 기반 연결을 만듭니다. 이 메서드는 기본적으로 아웃바운드 프록시를 통해 터널을 설정합니다. 포트 443 및 80으로 터널링을 허용하도록 프록시 서버를 구성합니다.
메모
Service Bus가 HTTPS를 통해 실행되면 포트 443을 사용합니다. 그러나 기본적으로 Service Bus는 직접 TCP(Transmission Control Protocol) 연결을 시도하고 직접 연결이 실패하는 경우에만 HTTPS로 대체됩니다.
TLS 검사
커넥터 트래픽에 문제가 발생하므로 커넥터 트래픽에 대해 TLS 검사를 사용하지 마세요. 커넥터는 인증서를 사용하여 애플리케이션 프록시 서비스에 인증하며, TLS 검사 중에 해당 인증서가 손실될 수 있습니다.
커넥터와 백 엔드 애플리케이션 간에 프록시를 사용하여 구성
일부 환경에서는 백 엔드 애플리케이션에 대한 통신에 전달 프록시를 사용하는 것이 특별한 요구 사항입니다. 전달 프록시를 사용하도록 설정하려면 다음 단계를 수행합니다.
1단계: 서버에 필요한 레지스트리 값 추가
- 기본 프록시를 사용하도록 설정하려면 레지스트리 값 (DWORD)
UseDefaultProxyForBackendRequests = 1
을 커넥터 구성 레지스트리 키에 추가합니다. (HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Entra private network connector
)
2단계: netsh 명령을 사용하여 수동으로 프록시 서버 구성
- 그룹 정책
Make proxy settings per-machine
사용하도록 설정합니다. 그룹 정책은Computer Configuration\Policies\Administrative Templates\Windows Components\Internet Explorer
에 있습니다. 그룹 정책은 사용자별로 정책을 설정하지 않고 설정해야 합니다. - 서버에서
gpupdate /force
실행합니다. 또는 그룹 정책이 업데이트되었는지 확인하려면 서버를 다시 부팅합니다. - 관리자 권한으로 상승된 명령 프롬프트를 실행하고
control inetcpl.cpl
을 입력합니다. - 필요한 프록시 설정을 구성합니다.
이 설정을 통해 커넥터는 Azure 및 백 엔드 애플리케이션에 대한 통신에 동일한 전달 프록시를 사용합니다. 파일 MicrosoftEntraPrivateNetworkConnectorService.exe.config
수정하여 전달 프록시를 변경합니다. 전달 프록시 구성은 아웃바운드 프록시 우회하고 아웃바운드 프록시 서버사용하는 섹션에 설명되어 있습니다.
메모
운영 체제에서 인터넷 프록시를 구성하는 방법에는 여러 가지가 있습니다.
NETSH WINHTTP
통해 구성된 프록시 설정(NETSH WINHTTP SHOW PROXY
실행하여 확인)은 2단계에서 구성한 프록시 설정을 재정의합니다.
커넥터 업데이트 서비스 컴퓨터 프록시를 사용 합니다. 설정은 MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config
파일에 있습니다.
커넥터 프록시 문제 및 서비스 연결 문제 해결
이제 프록시를 통해 흐르는 모든 트래픽이 표시됩니다. 문제가 있는 경우 다음 문제 해결 정보가 도움이 됩니다.
커넥터 연결 문제를 식별하고 해결하는 가장 좋은 방법은 커넥터 서비스를 시작하는 동안 네트워크 캡처를 수행하는 것입니다. 다음은 네트워크 추적 캡처 및 필터링에 대한 몇 가지 빠른 팁입니다.
선택한 모니터링 도구를 사용할 수 있습니다. 이 문서의 목적을 위해 Microsoft Message Analyzer를 사용했습니다.
메모
MMA(Microsoft Message Analyzer)는 사용 중지되었으며 다운로드 패키지는 2019년 11월 25일에 microsoft.com 사이트에서 제거되었습니다. 현재 개발 중인 Microsoft Message Analyzer에 대한 Microsoft 대체 기능은 없습니다. 유사한 기능을 위해 Wireshark와 같은 타사 파트너 네트워크 프로토콜 분석기 도구를 사용하는 것이 좋습니다.
다음 예제는 Message Analyzer와 관련이 있지만 모든 분석 도구에 원칙을 적용할 수 있습니다.
커넥터 트래픽 캡처
초기 문제 해결을 위해 다음 단계를 수행합니다.
services.msc
부터 Microsoft Entra 프라이빗 네트워크 커넥터 서비스를 중지합니다.관리자 권한으로 Message Analyzer 실행합니다.
로컬 추적시작을 선택합니다.
Microsoft Entra 프라이빗 네트워크 커넥터 서비스를 시작합니다.
네트워크 캡처를 중지합니다.
보여줍니다.
커넥터 트래픽이 아웃바운드 프록시를 우회하는지 확인합니다.
커넥터가 애플리케이션 프록시 서비스에 직접 연결되도록 예상하는 경우 포트 443의 SynRetransmit
응답은 네트워크 또는 방화벽 문제가 있음을 나타냅니다.
메시지 분석기 필터를 사용하여 실패한 TCP(Transmission Control Protocol) 연결 시도를 식별합니다. 필터 상자에 property.TCPSynRetransmit
을 입력하고 을 선택한 다음을 적용합니다.
동기화(SYN) 패킷은 TCP 연결을 설정하기 위해 전송된 첫 번째 패킷입니다. 이 패킷이 응답을 반환하지 않으면 SYN이 다시 시도됩니다. 필터를 사용하여 다시 전송된 SYN 패킷을 볼 수 있습니다. 그런 다음 이러한 SYN 패킷이 커넥터 관련 트래픽에 해당하는지 확인할 수 있습니다.
커넥터 트래픽이 아웃바운드 프록시를 사용하는지 확인
프록시 서버를 통과하도록 프라이빗 네트워크 커넥터 트래픽을 구성한 경우 프록시에 대한 실패한 https
연결을 찾습니다.
메시지 분석기 필터를 사용하여 프록시에 대한 실패한 HTTPS 연결 시도를 식별합니다. 메시지 분석기 필터에 (https.Request or https.Response) and tcp.port==8080
를 입력하고, 8080
을 프록시 서비스 포트로 교체하십시오. 필터 결과를 보려면 적용 선택합니다.
앞의 필터는 프록시 포트에 대한 HTTP 요청 및 응답만 표시합니다. 프록시 서버와의 통신을 표시하는 CONNECT 요청을 찾고 있습니다. 성공하면 HTTP OK(200) 응답을 받게 됩니다.
407 또는 502와 같은 다른 응답 코드가 표시되면 프록시가 인증을 요구하거나 다른 이유로 트래픽을 허용하지 않음을 의미합니다. 이 시점에서 프록시 서버 지원 팀에 연락합니다.