다음을 통해 공유


P2S 인증서 인증 연결에 대해 OpenVPN Connect 3.x 클라이언트 구성 - Windows

P2S(지점 및 사이트 간) VPN 게이트웨이가 OpenVPN 및 인증서 인증을 사용하도록 구성된 경우 OpenVPN 클라이언트를 사용하여 가상 네트워크에 연결할 수 있습니다. 이 문서에서는 OpenVPN Connect 클라이언트 3.x구성하고 가상 네트워크에 연결하는 단계를 안내합니다. OpenVPN 2.x 클라이언트와 OpenVPN Connect 3.x 클라이언트 간에는 몇 가지 구성 차이점이 있습니다. 이 문서에서는 OpenVPN Connect 3.x 클라이언트에 중점을 둡니다.

시작하기 전에

클라이언트 구성 단계를 시작하기 전에 올바른 VPN 클라이언트 구성 문서에 있는지 확인합니다. 다음 표에서는 VPN Gateway 지점 및 사이트 간 VPN 클라이언트에 사용할 수 있는 구성 문서를 보여 줍니다. 인증 유형, 터널 유형 및 클라이언트 OS에 따라 단계가 다릅니다.

인증 터널 종류 클라이언트 OS VPN 클라이언트
인증서
IKEv2, SSTP Windows 네이티브 VPN 클라이언트
IKEv2 macOS 네이티브 VPN 클라이언트
IKEv2 Linux strongSwan
OpenVPN Windows Azure VPN 클라이언트
OpenVPN 클라이언트 버전 2.x
OpenVPN 클라이언트 버전 3.x
OpenVPN macOS OpenVPN 클라이언트
OpenVPN iOS OpenVPN 클라이언트
OpenVPN Linux Azure VPN Client
OpenVPN 클라이언트
Microsoft Entra ID
OpenVPN Windows Azure VPN 클라이언트
OpenVPN macOS Azure VPN Client
OpenVPN Linux Azure VPN Client

참고 항목

OpenVPN 클라이언트는 독립적으로 관리되며 Microsoft의 제어 하에 있지 않습니다. 즉, Microsoft는 코드, 빌드, 로드맵 또는 법적 측면을 감독하지 않습니다. 고객이 OpenVPN 클라이언트에 버그 또는 문제가 발생하는 경우 OpenVPN Inc. 지원에 직접 문의해야 합니다. 이 문서의 지침은 '있는 그대로' 제공되며 OpenVPN Inc.에서 유효성을 검사하지 않았습니다. 클라이언트에 이미 익숙하고 이를 사용하여 지점 및 사이트간 VPN 설정에서 Azure VPN Gateway에 연결하려는 고객을 지원하기 위한 것입니다.

필수 조건

이 문서에서는 이미 다음 필수 구성 요소를 수행했다고 가정합니다.

연결 요구 사항

인증서 인증을 사용하여 OpenVPN Connect 3.x 클라이언트를 사용하여 Azure에 연결하려면 각 연결 클라이언트 컴퓨터에 다음 항목이 필요합니다.

  • 각 클라이언트 컴퓨터에 OpenVPN Connect 클라이언트 소프트웨어를 설치하고 구성해야 합니다.
  • 클라이언트 컴퓨터에는 로컬로 설치된 클라이언트 인증서가 있어야 합니다.
  • 인증서 체인에 중간 인증서가 포함된 경우 먼저 중간 인증서 섹션을 참조하여 P2S VPN Gateway 구성이 이 인증서 체인을 지원하도록 설정되어 있는지 확인합니다. 3.x 클라이언트에 대한 인증서 인증 동작은 클라이언트 프로필에서 중간 인증서를 지정할 수 있는 이전 버전과 다릅니다.

워크플로

이 문서의 워크플로는 다음과 같습니다.

  1. 아직 수행하지 않은 경우 클라이언트 인증서를 생성하고 설치합니다.
  2. 생성한 VPN 클라이언트 프로필 구성 패키지에 포함된 VPN 클라이언트 프로필 구성 파일을 봅니다.
  3. OpenVPN Connect 클라이언트를 구성합니다.
  4. Azure에 연결

클라이언트 인증서 만들기 및 설치

인증서 인증의 경우 클라이언트 인증서를 각 클라이언트 컴퓨터에 설치해야 합니다. 사용하려는 클라이언트 인증서는 프라이빗 키를 사용하여 내보내야 하며 인증 경로에 있는 모든 인증서를 포함해야 합니다. 또한 일부 구성의 경우 루트 인증서 정보도 설치해야 합니다.

대부분의 경우 두 번 클릭하여 클라이언트 컴퓨터에 클라이언트 인증서를 직접 설치할 수 있습니다. 그러나 일부 OpenVPN 클라이언트 구성의 경우 구성을 완료하기 위해 클라이언트 인증서에서 정보를 추출해야 할 수 있습니다.

  • 인증서 사용에 대한 자세한 내용은 지점 및 사이트 간 연결: 인증서 생성을 참조하세요.
  • 설치된 클라이언트 인증서를 보려면 사용자 인증서 관리를 엽니다. 클라이언트 인증서는 현재 User\Personal\Certificates에 설치됩니다.

클라이언트 인증서 설치

인증하려면 각 컴퓨터에 클라이언트 인증서가 필요합니다. 클라이언트 인증서가 로컬 컴퓨터에 아직 설치되어 있지 않은 경우 다음 단계를 사용하여 설치할 수 있습니다.

  1. 클라이언트 인증서를 찾습니다. 클라이언트 인증서에 대한 자세한 내용은 클라이언트 인증서 설치를 참조하세요.
  2. 클라이언트 인증서를 설치합니다. 일반적으로 인증서 파일을 두 번 클릭하고 필요한 경우 암호를 제공하여 이 작업을 수행할 수 있습니다.

구성 파일 보기

VPN 클라이언트 프로필 구성 패키지에는 특정 폴더가 포함되어 있습니다. 폴더 내의 파일에는 클라이언트 컴퓨터에서 VPN 클라이언트 프로필을 구성하는 데 필요한 설정이 포함되어 있습니다. 포함된 파일 및 설정은 VPN Gateway와 관련이 있으며 VPN 게이트웨이가 사용하도록 구성된 인증 및 터널 유형입니다.

생성한 VPN 클라이언트 프로필 구성 패키지를 찾아서 압축을 풉니다. 인증서 인증 및 OpenVPN의 경우 OpenVPN 폴더가 표시됩니다. 폴더가 표시되지 않으면 다음 항목을 확인합니다.

  • VPN Gateway가 OpenVPN 터널 유형을 사용하도록 구성되어 있는지 확인합니다.
  • Microsoft Entra ID 인증을 사용하는 경우 OpenVPN 폴더가 없을 수 있습니다. 대신 Microsoft Entra ID 구성 문서를 참조하세요.

클라이언트 구성

  1. 공식 OpenVPN 웹 사이트에서 OpenVPN 클라이언트 버전 3.x를 다운로드하여 설치합니다.

  2. 생성하여 컴퓨터에 다운로드한 VPN 클라이언트 프로필 구성 패키지를 찾습니다. 패키지를 추출합니다. OpenVPN 폴더로 이동한 다음, 메모장을 사용하여 vpnconfig.ovpn 구성 파일을 엽니다.

  3. 다음으로, 만든 자식 인증서를 찾습니다. 인증서가 없는 경우 다음 링크 중 하나를 사용하여 인증서를 내보내는 단계를 수행합니다. 다음 단계에서 인증서 정보를 사용합니다.

  4. 자식 인증서에서는 .pfx에서 프라이빗 키와 base64 지문을 추출합니다. 이 작업은 다양한 방법으로 수행할 수 있습니다. 컴퓨터에서 OpenSSL을 사용하는 것이 하나의 방법입니다. profileinfo.txt 파일은 CA 및 클라이언트 인증서에 대한 프라이빗 키 및 지문을 포함합니다. 클라이언트 인증서의 지문을 사용해야 합니다.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    
  5. 메모장에서 연 vpnconfig.ovpn 파일로 전환합니다. 다음 예제와 같이 사이의 섹션 <cert> 을 입력하고 </cert>$CLIENT_CERTIFICATE$ROOT_CERTIFICATE 가져오기를 입력합니다.

       # P2S client certificate
       # please fill this field with a PEM formatted cert
       <cert>
       $CLIENT_CERTIFICATE
       $ROOT_CERTIFICATE
       </cert>
    
    • 메모장에서 이전 단계의 profileinfo.txt를 엽니다. subject= 줄을 확인하여 각 인증서를 식별할 수 있습니다. 예를 들어 자식 인증서를 P2SChildCert라고 하는 경우 클라이언트 인증서는 subject=CN = P2SChildCert 특성 뒤에 있습니다.
    • 체인의 각 인증서에 대해 "-----BEGIN CERTIFICATE-----" 및 "-----END CERTIFICATE-----" 텍스트(그 사이에 포함)를 복사합니다.
  6. 메모장에서 profileinfo.txt를 엽니다. 프라이빗 키를 가져오려면 ‘-----BEGIN PRIVATE KEY-----’와 ‘-----END PRIVATE KEY-----’를 포함한 그 사이의 텍스트를 선택하고 복사합니다.

  7. 메모장의 vpnconfig.ovpn 파일로 돌아가서 이 섹션을 찾습니다. <key></key> 사이의 모든 항목을 바꾸는 프라이빗 키를 붙여넣습니다.

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  8. "로그 openvpn.log" 줄을 주석으로 처리합니다. 주석 처리되지 않은 경우 OpenVPN 클라이언트는 로그가 더 이상 지원되지 않는 옵션이라고 보고합니다. 로그 줄을 주석으로 처리하는 방법에 대한 예제는 사용자 프로필 예제를 참조하세요. 로그 줄을 주석으로 처리한 후에도 OpenVPN 클라이언트 인터페이스를 통해 로그에 액세스할 수 있습니다. 액세스하려면 클라이언트 UI의 오른쪽 위 모서리에 있는 로그 아이콘을 클릭합니다. 로깅은 OpenVPN 클라이언트에 의해 제어되므로 고객이 로그 파일 위치에 대한 OpenVPN 연결 설명서를 확인하는 것이 좋습니다.

  9. 다른 필드를 변경하지 마세요. 클라이언트 입력에 채워진 구성을 사용하여 VPN에 연결합니다.

  10. vpnconfig.ovpn 파일을 C:\Program Files\OpenVPN\config 폴더에 복사합니다.

  11. 시스템 트레이에서 OpenVPN 아이콘을 마우스 오른쪽 단추로 클릭하고 연결을 클릭합니다.

사용자 프로필 예제

다음 예제에서는 3.x OpenVPN Connect 클라이언트에 대한 사용자 프로필 구성 파일을 보여 줍니다. 이 예제에서는 주석 처리된 로그 파일과 클라이언트로 전송되는 트래픽이 없어 주기적인 재연결을 방지하기 위해 추가된 "ping-restart 0" 옵션을 보여 줍니다.

client
remote <vpnGatewayname>.ln.vpn.azure.com 443
verify-x509-name <IdGateway>.ln.vpn.azure.com name
remote-cert-tls server

dev tun
proto tcp
resolv-retry infinite
nobind

auth SHA256
cipher AES-256-GCM
persist-key
persist-tun

tls-timeout 30
tls-version-min 1.2
key-direction 1

#log openvpn.log
#inactive 0
ping-restart 0 
verb 3

# P2S CA root certificate
<ca>
-----BEGIN CERTIFICATE-----
……
……..
……..
……..

-----END CERTIFICATE-----
</ca>

# Pre Shared Key
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
……..
……..
……..

-----END OpenVPN Static key V1-----
</tls-auth>

# P2S client certificate
# Please fill this field with a PEM formatted client certificate
# Alternatively, configure 'cert PATH_TO_CLIENT_CERT' to use input from a PEM certificate file.
<cert>
-----BEGIN CERTIFICATE-----
……..
……..
……..
-----END CERTIFICATE-----
</cert>

# P2S client certificate private key
# Please fill this field with a PEM formatted private key of the client certificate.
# Alternatively, configure 'key PATH_TO_CLIENT_KEY' to use input from a PEM key file.
<key>
-----BEGIN PRIVATE KEY-----
……..
……..
……..
-----END PRIVATE KEY-----
</key>

중간 인증서

인증서 체인에 중간 인증서가 포함된 경우 중간 인증서를 Azure VPN 게이트웨이에 업로드해야 합니다. 연결하도록 선택한 VPN 클라이언트에 관계없이 이 방법을 사용하는 것이 좋습니다. 이전 버전에서는 사용자 프로필에서 중간 인증서를 지정할 수 있습니다. OpenVPN Connect 클라이언트 버전 3.x에서는 더 이상 지원되지 않습니다.

중간 인증서를 사용하는 경우 루트 인증서 다음에 중간 인증서를 업로드해야 합니다.

지점 및 사이트 간 구성을 위한 중간 인증서입니다.

다시 연결

클라이언트로 전송되는 트래픽이 없어 주기적인 다시 연결이 발생하는 경우 연결 끊김으로 인해 다시 연결되지 않도록 프로필에 "ping-restart 0" 옵션을 추가할 수 있습니다. "--ping-restart n --ping-exit와 유사하지만 원격에서 ping 또는 다른 패킷을 수신하지 않고 n초가 지나면 SIGUSR1 다시 시작 트리거"와 같이 OpenVPN Connect 설명서에 설명되어 있습니다.

이 옵션을 추가하는 방법에 대한 예제는 사용자 프로필 예제를 참조하세요.

다음 단계

추가 서버 또는 연결 설정에 대해 후속 조치를 취합니다. 지점 및 사이트 간 구성 단계를 참조하세요.