Azure Files에서 사용할 수 있도록 Windows에서 P2S(지점 및 사이트 간) VPN 구성

P2S(지점 및 사이트 간) VPN 연결을 사용하여 포트 445를 열지 않고도 Azure 외부에서 SMB를 통해 Azure 파일 공유를 탑재할 수 있습니다. 지점 및 사이트 간 VPN 연결은 Azure와 개별 클라이언트 간의 VPN 연결입니다. Azure Files에서 P2S VPN 연결을 사용하려면 연결하려는 클라이언트마다 VPN 연결을 구성해야 합니다. 온-프레미스 네트워크에서 Azure 파일 공유에 연결해야 하는 클라이언트가 많은 경우에는 각 클라이언트에 지점 및 사이트 간 연결 대신 S2S(사이트 간) VPN 연결을 사용하면 됩니다. 자세한 내용은 Azure Files에서 사용할 사이트 간 VPN 구성을 참조하세요.

Azure Files에 사용할 수 있는 네트워킹 옵션을 자세히 알아보려면 이 방법 문서를 계속하기 전에 직접 Azure 파일 공유 액세스를 위한 네트워킹 고려 사항을 읽어보는 것이 좋습니다.

이 문서에서는 Azure 파일 공유를 온-프레미스에 직접 탑재하도록 Windows(Windows 클라이언트 및 Windows Server)에서 지점 및 사이트 간 VPN을 구성하는 단계를 자세히 설명합니다. VPN을 통해 Azure 파일 동기화 트래픽을 라우팅하는 경우 Azure 파일 동기화 프록시 및 방화벽 설정 구성을 참조하세요.

적용 대상

파일 공유 유형 SMB NFS
표준 파일 공유(GPv2), LRS/ZRS Yes No
표준 파일 공유(GPv2), GRS/GZRS Yes No
프리미엄 파일 공유(FileStorage), LRS/ZRS Yes No

필수 조건

  • 최신 버전의 Azure PowerShell 모듈. Azure PowerShell 모듈 설치를 참조하세요.

  • 온-프레미스에 탑재하려는 Azure 파일 공유. Azure 파일 공유는 스토리지 계정 내에 배포됩니다. 스토리지 계정은 여러 파일 공유뿐만 아니라 다른 스토리지 리소스도 배포할 수 있는 공유 스토리지 풀을 나타내는 관리 구조입니다. Azure 파일 공유 만들기에서 Azure 파일 공유와 스토리지 계정을 배포하는 방법을 자세히 알아보세요.

  • 온-프레미스에 탑재하려는 Azure 파일 공유가 포함된 스토리지 계정의 프라이빗 엔드포인트가 있는 가상 네트워크입니다. 프라이빗 엔드포인트를 만드는 방법을 알아보려면 Azure Files 네트워크 엔드포인트 구성을 참조하세요.

  • 가상 네트워크에 게이트웨이 서브넷을 만들어야 합니다. 게이트웨이 서브넷을 만들려면 Azure Portal에 로그인하고 가상 네트워크로 이동하여 설정 > 서브넷을 선택한 다음, + 게이트웨이 서브넷을 선택합니다. 게이트웨이 서브넷을 만드는 경우 서브넷이 포함하는 IP 주소의 수를 지정합니다. 필요한 IP 주소의 수는 만들려는 VPN 게이트웨이 구성에 따라 다릅니다. ExpressRoute 게이트웨이 추가와 같은 향후 변경에 충분한 IP 주소가 허용되도록 /27 이상(/26, /25 등)을 지정하는 것이 좋습니다.

환경 정보 수집

지점 및 사이트 간 VPN을 설정하기 전에 환경에 대한 몇 가지 정보를 수집해야 합니다.

Azure Portal을 사용하여 지점 및 사이트 간 VPN을 설정하려면 리소스 그룹 이름, 가상 네트워크 이름, 게이트웨이 서브넷 이름 및 스토리지 계정 이름을 알아야 합니다.

VPN 인증에 사용할 루트 인증서 만들기

가상 네트워크에 액세스하기 위해 온-프레미스 Windows 컴퓨터의 VPN 연결을 인증하려면 인증서 2개를 만들어야 합니다.

  1. 가상 머신 게이트웨이에 제공되는 루트 인증서
  2. 루트 인증서로 서명되는 클라이언트 인증서

엔터프라이즈 솔루션으로 생성된 루트 인증서를 사용하거나 자체 서명된 인증서를 생성할 수 있습니다. 엔터프라이즈 솔루션을 사용하는 경우 IT 조직에서 루트 인증서에 대한 .cer 파일을 가져옵니다.

엔터프라이즈 인증서 솔루션을 사용하지 않는 경우 이 PowerShell 스크립트를 사용하여 자체 서명된 루트 인증서를 만듭니다. 가상 네트워크 게이트웨이를 배포한 후 클라이언트 인증서를 만듭니다. 가능하면 이 문서의 후반부에서 클라이언트 인증서를 만들 때 변수를 다시 정의할 필요가 없도록 PowerShell 세션을 열어 둡니다.

Important

Windows 10/Windows Server 2016 이상을 실행하는 온-프레미스 컴퓨터에서 관리자 권한으로 이 PowerShell 스크립트를 실행합니다. Azure의 Cloud Shell 또는 VM에서 스크립트를 실행하지 마세요.

$rootcertname                = 'CN=P2SRootCert'
$certLocation                = 'Cert:\CurrentUser\My'
$vpnTemp                     = 'C:\vpn-temp'
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath        = "$vpnTemp\P2SRootCert.cer"

if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
    New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}

if ($PSVersionTable.PSVersion.Major -ge 6) {
    Import-Module -Name PKI -UseWindowsPowerShell
}

$selfSignedCertParams = @{
    Type              = 'Custom'
    KeySpec           = 'Signature'
    Subject           = $rootcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = '2048'
    CertStoreLocation = $certLocation
    KeyUsageProperty  = 'Sign'
    KeyUsage          = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams

Export-Certificate -Cert $rootcert -FilePath $exportedencodedrootcertpath -NoClobber | Out-Null

certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null

$rawRootCertificate = Get-Content -Path $exportedrootcertpath

$rootCertificate = ''

foreach ($line in $rawRootCertificate) { 
    if ($line -notlike '*Certificate*') { 
        $rootCertificate += $line 
    } 
}

가상 네트워크 게이트웨이 배포

Azure 가상 네트워크 게이트웨이는 온-프레미스 Windows 머신에서 연결할 서비스입니다. 아직 없으면 가상 네트워크 게이트웨이를 배포하기 전에 가상 네트워크에 게이트웨이 서브넷을 만들어야 합니다.

가상 네트워크 게이트웨이를 배포하려면 다음 두 가지 기본 구성 요소가 필요합니다.

  1. 클라이언트가 전 세계 어디에 있든 게이트웨이를 식별하는 공용 IP 주소
  2. 이전 단계에서 만든 루트 인증서(클라이언트를 인증하는 데 사용)

Azure Portal 또는 Azure PowerShell을 사용하여 가상 네트워크 게이트웨이를 배포할 수 있습니다. 배포가 완료되는데 최대 45분이 소요될 수 있습니다.

Azure Portal을 사용하여 가상 네트워크 게이트웨이를 배포하려면 다음 지침을 따릅니다.

  1. Azure Portal에 로그인합니다.

  2. 리소스, 서비스 및 문서 검색가상 네트워크 게이트웨이를 입력합니다. Marketplace 검색 결과에서 가상 네트워크 게이트웨이를 찾고 선택합니다.

  3. + 만들기를 선택하여 새 가상 네트워크 게이트웨이를 만듭니다.

  4. 기본 탭에서 프로젝트 세부 정보인스턴스 세부 정보에 대한 값을 입력합니다.

    Screenshot showing how to create a virtual network gateway using the Azure portal.

    • 구독: 드롭다운 목록에서 사용하려는 구독을 선택합니다.
    • 리소스 그룹: 이 페이지에서 가상 네트워크를 선택하면 이 설정이 자동으로 채워집니다.
    • 이름: 게이트웨이 이름을 지정합니다. 게이트웨이 이름 지정은 게이트웨이 서브넷 이름 지정과 동일하지 않습니다. 만들고 있는 게이트웨이 개체의 이름입니다.
    • 지역: 이 리소스를 만들려는 지역을 선택합니다. 게이트웨이에 대한 지역은 가상 네트워크와 동일해야 합니다.
    • 게이트웨이 유형: VPN을 선택합니다. VPN 게이트웨이는 가상 네트워크 게이트웨이 유형 VPN을 사용합니다.
    • SKU: 드롭다운에서 사용하려는 기능을 지원하는 게이트웨이 SKU를 선택합니다. 게이트웨이 SKU를 참조하세요. 기본 SKU는 IKEv2 인증을 지원하지 않으므로 기본 SKU를 사용하지 마세요.
    • 세대: 사용하려는 세대를 선택합니다. Generation2 SKU를 사용하는 것이 좋습니다. 자세한 내용은 게이트웨이 SKU를 참조하세요.
    • 가상 네트워크: 드롭다운에서 이 게이트웨이를 추가하려는 가상 네트워크를 선택합니다. 게이트웨이를 만들려는 가상 네트워크가 표시되지 않으면 올바른 구독과 지역을 선택했는지 확인합니다.
    • 서브넷: 이 필드는 회색으로 표시되고 만든 게이트웨이 서브넷의 이름과 IP 주소 범위를 나열해야 합니다. 대신 텍스트 상자가 있는 게이트웨이 서브넷 주소 범위 필드가 표시되는 경우 이는 게이트웨이 서브넷을 아직 구성하지 않은 것입니다(사전 요구 사항 참조).
  5. 가상 네트워크 게이트웨이에 연결된 공용 IP 주소 값을 지정합니다. 가상 네트워크 게이트웨이가 생성될 때 공용 IP 주소가 이 개체에 할당됩니다. 기본 공용 IP 주소는 게이트웨이를 삭제하고 다시 만드는 경우에만 변경됩니다. 크기 조정, 다시 설정 또는 기타 내부 유지 관리/업그레이드를 변경하지 않습니다.

    Screenshot showing how to specify the public IP address for a virtual network gateway using the Azure portal.

    • 공용 IP 주소: 새로 만들기를 선택한 상태로 둡니다.
    • 공용 IP 주소 이름: 텍스트 상자에서 공용 IP 주소 인스턴스의 이름을 입력합니다.
    • 공용 IP 주소 SKU: 설정이 자동으로 선택됩니다.
    • 할당: 할당은 일반적으로 자동으로 선택되며 동적이거나 정적일 수 있습니다.
    • 활성-활성 모드 사용: 사용 안 함을 선택합니다. 활성-활성 게이트웨이 구성을 만드는 경우에만 이 설정을 사용하도록 설정합니다.
    • BGP 구성: 이 설정이 구성에 특별히 필요한 경우를 제외하고는 사용 안 함을 선택합니다. 이 설정이 필요한 경우 기본 ASN은 65515이며, 이 값은 변경 가능합니다.
  6. 검토 + 만들기를 선택하여 유효성 검사를 실행합니다. 유효성 검사를 통과하면 만들기를 선택하여 가상 네트워크 게이트웨이를 배포합니다. 배포가 완료되는데 최대 45분이 소요될 수 있습니다.

  7. 배포가 완료되면 리소스로 이동을 선택합니다.

  8. 왼쪽 창에서 설정 > 지점 및 사이트 간 구성을 선택한 다음, 지금 구성을 선택합니다. 지점 및 사이트 간 구성 페이지가 표시됩니다.

    Screenshot showing how to configure a point-to-site VPN using the Azure portal.

    • 주소 풀: 사용하려는 개인 IP 주소 범위를 추가합니다. VPN 클라이언트는 동적으로 지정된 범위에서 IP 주소를 수신합니다. 최소 서브넷 마스크는 활성/수동 구성의 경우 29비트이고 활성/활성 구성의 경우 28비트입니다.
    • 터널 형식: 사용하려는 터널 형식을 지정합니다. 네이티브 Windows VPN 클라이언트를 통해 연결하는 컴퓨터는 먼저 IKEv2를 시도합니다. 연결되지 않으면 SSTP로 대체됩니다(드롭다운에서 IKEv2 및 SSTP를 모두 선택하는 경우). OpenVPN 터널 유형을 선택하는 경우 OpenVPN 클라이언트 또는 Azure VPN Client를 사용하여 연결할 수 있습니다.
    • 인증 형식: 사용하려는 인증 형식을 지정합니다(이 경우 Azure 인증서 선택).
    • 루트 인증서 이름: 루트 인증서의 파일 이름(.cer 파일)입니다.
    • 공용 인증서 데이터: 메모장에서 루트 인증서를 열고 공용 인증서 데이터를 복사하여 이 텍스트 필드에 붙여넣습니다. 이 문서의 PowerShell 스크립트를 사용하여 자체 서명된 루트 인증서를 생성한 경우 C:\vpn-temp에 있습니다. -----BEGIN CERTIFICATE----- 및 -----END CERTIFICATE----- 사이에 있는 텍스트만 붙여넣어야 합니다. 추가 공백이나 문자를 포함하지 마세요.

    참고 항목

    터널 형식이나 인증 형식이 표시되지 않으면 게이트웨이에서 기본 SKU를 사용 중인 것입니다. 기본 SKU는 IKEv2 인증을 지원하지 않습니다. IKEv2를 사용하려면 다른 게이트웨이 SKU를 사용하여 게이트웨이를 삭제하고 다시 만들어야 합니다.

  9. 페이지 맨 위에 있는 저장을 선택하여 모든 구성 설정을 저장하고 루트 인증서 공개 키 정보를 Azure에 업로드합니다.

클라이언트 인증서 만들기

지점 및 사이트 간 연결을 사용하여 가상 네트워크에 연결하는 각 클라이언트 컴퓨터에 클라이언트 인증서가 설치되어 있어야 합니다. 루트 인증서에서 클라이언트 인증서를 생성하고 각 클라이언트 컴퓨터에 설치합니다. 유효한 클라이언트 인증서를 설치하지 않으면 클라이언트에서 연결하려고 할 때 인증이 실패합니다. 엔터프라이즈 솔루션을 통해 생성된 루트 인증서에서 또는 자체 서명된 루트 인증서에서 클라이언트 인증서를 만들 수 있습니다.

엔터프라이즈 솔루션을 사용하여 클라이언트 인증서 만들기

엔터프라이즈 인증서 솔루션을 사용하는 경우 클라이언트 인증서를 일반적인 이름 값 형식(name@yourdomain.com)으로 생성합니다. 도메인 이름\사용자 이름 형식 대신 이 형식을 사용합니다. 클라이언트 인증서가 사용자 목록의 첫 번째 항목으로 나열된 클라이언트 인증이 있는 사용자 인증서 템플릿을 기반으로 하는지 확인합니다. 인증서를 두 번 클릭하고 세부 정보 탭에서 확장된 키 사용을 확인하여 해당 인증서를 확인합니다.

자체 서명된 루트 인증서에서 클라이언트 인증서 만들기

엔터프라이즈 인증서 솔루션을 사용하지 않는 경우 PowerShell을 사용하여 가상 네트워크 게이트웨이의 URI로 클라이언트 인증서를 만들 수 있습니다. 이 인증서는 이전에 만든 루트 인증서를 통해 서명됩니다. 자체 서명된 루트 인증서에서 클라이언트 인증서를 생성하는 경우 이를 생성하는 데 사용한 컴퓨터에 자동으로 설치됩니다.

다른 클라이언트 컴퓨터에 클라이언트 인증서를 설치하려면 인증서를 전체 인증서 체인과 함께 .pfx 파일로 내보냅니다. 이렇게 하면 클라이언트에서 인증하는 데 필요한 루트 인증서 정보가 포함된 .pfx 파일이 만들어집니다. 자체 서명된 루트 인증서를 .pfx로 내보내려면 루트 인증서를 선택하고 클라이언트 인증서 내보내기의 설명과 동일한 단계를 수행합니다.

자체 서명된 루트 인증서 식별

자체 서명된 루트 인증서를 만드는 데 사용한 것과 동일한 PowerShell 세션을 사용하지 않는 경우 클라이언트 인증성 생성으로 건너뛸 수 있습니다.

그렇지 않은 경우 다음 단계를 수행하여 컴퓨터에 설치된 자체 서명된 루트 인증서를 식별합니다.

  1. 컴퓨터에 설치된 인증서 목록을 가져옵니다.

    Get-ChildItem -Path 'Cert:\CurrentUser\My'
    
  2. 반환된 목록에서 주체 이름을 찾은 다음, 옆에 있는 지문을 텍스트 파일에 복사합니다. 다음 예제에는 두 개의 인증서가 있습니다. CN 이름은 자식 인증서를 생성하려는 자체 서명된 루트 인증서의 이름입니다. 이 경우 P2SRootCert가 호출됩니다.

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. 이전 단계의 지문을 사용하여 루트 인증서에 대한 변수를 선언합니다. THUMBPRINT를 클라이언트 인증서를 생성하려는 루트 인증서의 지문으로 바꿉니다.

    $rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\<THUMBPRINT>'
    

    예를 들어 이전 단계에서 P2SRootCert의 지문을 사용하면 명령은 다음과 같습니다.

    $rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655'
    

클라이언트 인증서 생성

New-AzVpnClientConfiguration PowerShell cmdlet를 사용하여 클라이언트 인증서를 생성합니다. 자체 서명된 루트 인증서를 만드는 데 사용한 것과 동일한 PowerShell 세션을 사용하지 않는 경우 이전 섹션의 설명대로 자체 서명된 루트 인증서를 식별해야 합니다. 스크립트를 실행하기 전에 <resource-group-name>을 리소스 그룹 이름으로 바꾸고 <vpn-gateway-name>을 방금 배포한 가상 네트워크 게이트웨이의 이름으로 바꿉니다.

Important

Azure 파일 공유에 연결하려는 온-프레미스 Windows 컴퓨터에서 관리자 권한으로 이 PowerShell 스크립트를 실행합니다. 이 컴퓨터에서 Windows 10/Windows Server 2016 이상을 실행해야 합니다. Azure의 Cloud Shell에서 스크립트를 실행하지 마세요. 스크립트(Connect-AzAccount)를 실행하기 전에 Azure 계정에 로그인해야 합니다.

$clientcertpassword = '<enter-your-password>'
$resourceGroupName  = '<resource-group-name>'
$vpnName            = '<vpn-gateway-name>'
$vpnTemp            = 'C:\vpn-temp'
$certLocation       = 'Cert:\CurrentUser\My'

$vpnClientConfigParams = @{
    ResourceGroupName    = $resourceGroupName
    Name                 = $vpnName
    AuthenticationMethod = 'EAPTLS'
}
$vpnClientConfiguration = New-AzVpnClientConfiguration @vpnClientConfigParams

$webRequestParams = @{
    Uri = $vpnClientConfiguration.VpnProfileSASUrl
    OutFile = "$vpnTemp\vpnclientconfiguration.zip"
}
Invoke-WebRequest @webRequestParams

$expandArchiveParams = @{
    Path            = "$vpnTemp\vpnclientconfiguration.zip"
    DestinationPath = "$vpnTemp\vpnclientconfiguration"
}
Expand-Archive @expandArchiveParams

$vpnGeneric = "$vpnTemp\vpnclientconfiguration\Generic"
$vpnProfile = ([xml](Get-Content -Path "$vpnGeneric\VpnSettings.xml")).VpnProfile

$exportedclientcertpath = "$vpnTemp\P2SClientCert.pfx"
$clientcertname         = "CN=$($vpnProfile.VpnServer)"

$selfSignedCertParams = @{
    Type              = 'Custom'
    DnsName           = $vpnProfile.VpnServer
    KeySpec           = 'Signature'
    Subject           = $clientcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = 2048
    CertStoreLocation = $certLocation
    Signer            = $rootcert
    TextExtension     = @('2.5.29.37={text}1.3.6.1.5.5.7.3.2')
}
$clientcert = New-SelfSignedCertificate @selfSignedCertParams

$mypwd = ConvertTo-SecureString -String $clientcertpassword -Force -AsPlainText

Export-PfxCertificate -FilePath $exportedclientcertpath -Password $mypwd -Cert $clientcert |
    Out-Null

VPN 클라이언트 구성

Azure 가상 네트워크 게이트웨이는 온-프레미스 Windows 머신에서 VPN 연결을 초기화하는 데 필요한 구성 파일이 포함된 다운로드 가능한 패키지를 만듭니다. 구성 패키지에는 자신이 만든 VPN 게이트웨이와 관련된 설정이 포함되어 있습니다. 터널 유형, 인증서 또는 인증 유형 변경과 같이 게이트웨이를 변경하는 경우 다른 VPN 클라이언트 프로필 구성 패키지를 생성하여 각 클라이언트에 설치해야 합니다. 그렇지 않으면 VPN 클라이언트가 연결되지 않을 수 있습니다.

Windows 10/Windows Server 2016 이상에 도입된 Always On VPN 기능을 사용하여 VPN 연결을 구성합니다. 또한 이 패키지에는 원하는 경우 레거시 Windows VPN 클라이언트를 구성할 수 있는 실행 파일이 포함되어 있습니다. 이 가이드에서는 레거시 Windows VPN 클라이언트 대신 Always On VPN을 사용합니다. Always On VPN 클라이언트를 사용하면 컴퓨터에 대한 관리자 권한이 없어도 Azure VPN에서 연결/연결 해제할 수 있기 때문입니다.

클라이언트 인증서 설치

가상 네트워크 게이트웨이에 대한 인증에 필요한 클라이언트 인증서를 설치하려면 클라이언트 컴퓨터에서 다음 단계를 수행합니다.

  1. 클라이언트 인증서를 내보낸 후에는 .pfx 파일을 찾아서 클라이언트 컴퓨터에 복사합니다.
  2. 클라이언트 컴퓨터에서 .pfx 파일을 두 번 클릭하여 설치합니다. 저장소 위치현재 사용자로 유지한 후, 다음을 선택합니다.
  3. 가져올 파일 페이지에서 아무 것도 변경하지 않습니다. 다음을 선택합니다.
  4. 프라이빗 키 보호 페이지에서 인증서의 암호를 입력하거나 보안 주체가 올바른지 확인한 후, 다음을 선택합니다.
  5. 인증서 저장소 페이지에서 기본 위치를 유지한 후, 다음을 선택합니다.
  6. 마침을 선택합니다. 인증서 설치에 대한 보안 경고에서 를 선택합니다. 인증서를 생성했으므로 이 보안 경고에 대해 '예'를 편리하게 선택할 수 있습니다.
  7. 이제 인증서를 성공적으로 가져왔습니다.

VPN 클라이언트 설치

이 섹션은 Windows 운영 체제 일부인 네이티브 VPN 클라이언트를 가상 네트워크(IKEv2 및 SSTP)에 연결하도록 구성하는 데 도움이 됩니다. 이 구성에는 추가 클라이언트 소프트웨어가 필요하지 않습니다.

구성 파일 보기

클라이언트 컴퓨터에서 C:\vpn-temp로 이동하고 vpnclientconfiguration 폴더를 열어 다음 하위 폴더를 봅니다.

  • WindowsAmd64WindowsX86 - 각각 Windows 64비트 및 32비트 설치 관리자 패키지가 포함되어 있습니다. WindowsAmd64 설치 관리자 패키지는 Amd 외에도 지원되는 모든 64비트 Windows 클라이언트에서 사용됩니다.
  • Generic - 사용자 고유의 VPN 클라이언트 구성을 만드는 데 사용되는 일반 정보가 포함되어 있습니다. Generic 폴더는 게이트웨이에 IKEv2 또는 SSTP + IKEv2를 구성한 경우에 제공됩니다. SSTP만 구성된 경우에는 Generic 폴더가 없습니다.

VPN 클라이언트 프로필 구성

클라이언트의 아키텍처와 일치하는 버전이면 각 Windows 클라이언트 컴퓨터에서 동일한 VPN 클라이언트 구성 패키지를 사용할 수 있습니다.

참고 항목

설치 프로그램 패키지를 실행하려면 연결하려는 Windows 클라이언트 컴퓨터에 대한 관리자 권한이 있어야 합니다.

  1. Windows 컴퓨터의 아키텍처에 해당하는 VPN 클라이언트 구성 파일을 선택합니다. 64비트 프로세서 아키텍처의 경우 VpnClientSetupAmd64 설치 프로그램 패키지를 선택합니다. 32비트 프로세서 아키텍처의 경우 VpnClientSetupX86 설치 프로그램 패키지를 선택합니다.

  2. 해당 패키지를 두 번 클릭하여 설치합니다. SmartScreen 팝업이 표시되면 추가 정보를 선택한 다음, 실행을 선택합니다.

  3. VPN에 연결합니다. VPN 설정으로 이동하여 생성된 VPN 연결을 찾습니다. 가상 네트워크와 동일한 이름입니다. 연결을 선택합니다. 팝업 메시지가 나타날 수 있습니다. 계속을 선택하여 상승된 권한을 사용합니다.

  4. 연결 상태 페이지에서 연결을 선택하여 연결을 시작합니다. 인증서 선택 화면에서 표시되는 클라이언트 인증서가 연결하는 데 사용할 인증서인지 확인합니다. 그렇지 않은 경우 드롭다운 화살표를 사용하여 올바른 인증서를 선택한 다음, 확인을 선택합니다.

Azure 파일 공유 탑재

이제 지점 및 사이트 간 VPN을 설정했습니다. 이 VPN을 사용하여 Azure 파일 공유를 온-프레미스 컴퓨터에 탑재할 수 있습니다.

스토리지 계정 키를 사용하여 파일 공유를 탑재하려면 Windows 명령 프롬프트를 열고 다음 명령을 실행합니다. <YourStorageAccountName>, <FileShareName><YourStorageAccountKey>를 고유한 값으로 바꿉니다. Z:가 이미 사용 중인 경우 사용 가능한 드라이브 문자로 대체합니다. 스토리지 계정으로 이동하고 보안 + 네트워킹>액세스 키를 선택하여 Azure Portal에서 스토리지 계정 키를 찾을 수 있습니다.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

VPN 루트 인증서 회전

만료나 새 요구 사항으로 인해 루트 인증서를 회전해야 하는 경우 가상 네트워크 게이트웨이를 다시 배포하지 않고도 새 루트 인증서를 기존 가상 네트워크 게이트웨이에 추가할 수 있습니다. 다음 스크립트를 사용하여 루트 인증서를 추가한 후에는 VPN 클라이언트 인증서를 다시 만들어야 합니다.

스크립트를 실행하기 전에 <resource-group-name>, <desired-vpn-name-here><new-root-cert-name>을 고유의 값으로 바꿉니다.

#Creating the new Root Certificate
$ResourceGroupName           = '<resource-group-name>'
$vpnName                     = '<desired-vpn-name-here>'
$NewRootCertName             = '<new-root-cert-name>'
$rootcertname                = "CN=$NewRootCertName"
$certLocation                = 'Cert:\CurrentUser\My'
$date                        = Get-Date -Format 'MM_yyyy'
$vpnTemp                     = "C:\vpn-temp_$date"
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath        = "$vpnTemp\P2SRootCert.cer"

if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
    New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}

$selfSignedCertParams = @{
    Type              = 'Custom'
    KeySpec           = 'Signature'
    Subject           = $rootcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = 2048
    CertStoreLocation = $certLocation
    KeyUsageProperty  = 'Sign'
    KeyUsage          = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams

$exportCertParams = @{
    Cert      = $rootcert
    FilePath  = $exportedencodedrootcertpath
    NoClobber = $true
}
Export-Certificate @exportCertParams | Out-Null

certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null

$rawRootCertificate = Get-Content -Path $exportedrootcertpath

$rootCertificate = ''

foreach($line in $rawRootCertificate) { 
    if ($line -notlike '*Certificate*') { 
        $rootCertificate += $line 
    } 
}

#Fetching gateway details and adding the newly created Root Certificate.
$gateway = Get-AzVirtualNetworkGateway -Name $vpnName -ResourceGroupName $ResourceGroupName

$vpnClientRootCertParams = @{
    PublicCertData               = $rootCertificate
    ResourceGroupName            = $ResourceGroupName
    VirtualNetworkGatewayName    = $gateway
    VpnClientRootCertificateName = $NewRootCertName
}
Add-AzVpnClientRootCertificate @vpnClientRootCertParams

참고 항목