RADIUS 인증을 사용하여 VNet에 지점 및 사이트 간 연결 구성: PowerShell

이 문서에서는 RADIUS 인증을 사용하는 P2S(지점 및 사이트 간) 연결을 통해 VNet을 만드는 방법에 대해 설명합니다. 이 구성은 Resource Manager 배포 모델에서만 사용할 수 있습니다. PowerShell 또는 Azure Portal을 사용하여 이 구성을 만들 수 있습니다.

지점 및 사이트 간 VPN Gateway를 통해 개별 클라이언트 컴퓨터에서 가상 네트워크에 안전한 연결을 만들 수 있습니다. P2S VPN 연결은 집이나 회의에서 재택 근무할 때와 같이 원격 위치에서 VNet에 연결하려는 경우에 유용합니다. VNet에 연결해야 하는 몇 가지 클라이언트만 있는 경우에 사이트 간 VPN 대신 P2S VPN을 사용하는 것도 유용한 솔루션입니다.

P2S VPN 연결은 Windows 및 Mac 디바이스에서 시작됩니다. 이 문서는 인증을 위해 RADIUS 서버를 사용하는 P2S 구성을 구성하는 데 도움이 됩니다. 다른 방법을 사용하여 인증하려면 다음 문서를 참조하세요.

P2S 연결에는 VPN 디바이스나 공용 IP 주소가 필요하지 않습니다. P2S는 SSTP(Secure Socket Tunneling Protocol), OpenVPN 또는 IKEv2를 통해 VPN 연결을 만듭니다.

  • SSTP는 Windows 클라이언트 플랫폼에서만 지원되는 TLS 기반 VPN 터널입니다. 이를 통해 방화벽을 통과할 수 있으므로 어디서나 Windows 디바이스를 Azure에 연결할 수 있는 유용한 옵션입니다. 서버 쪽에서는 TLS 버전 1.2만 지원합니다. 성능, 확장성 및 보안을 향상시키려면 OpenVPN 프로토콜을 대신 사용하는 것이 좋습니다.

  • OpenVPN® 프로토콜, SSL/TLS 기반 VPN 프로토콜입니다. 대부분의 방화벽에서 TLS가 사용되는 TCP 포트 443 아웃바운드를 열기 때문에 TLS VPN 솔루션이 방화벽을 통과할 수 있습니다. OpenVPN은 Android, iOS(버전 11.0 이상), Windows, Linux 및 Mac 디바이스(macOS 버전 10.13 이상)에서 연결하는 데 사용할 수 있습니다.

  • IKEv2 VPN - 표준 기반 IPsec VPN 솔루션입니다. IKEv2 VPN을 사용하여 Windows, Linux 및 Mac 디바이스(macOS 버전 10.11 이상)에서 연결할 수 있습니다.

이 구성의 경우 연결에는 다음이 필요합니다.

  • RouteBased VPN 게이트웨이입니다.
  • 사용자 인증을 처리하는 RADIUS 서버입니다. RADIUS 서버는 온-프레미스 또는 Azure VNet에 배포할 수 있습니다. 고가용성을 위해 두 개의 RADIUS 서버를 구성할 수도 있습니다.
  • VPN 클라이언트 프로필 구성 패키지. VPN 클라이언트 프로필 구성 패키지는 사용자가 생성하는 패키지. VPN 클라이언트가 P2S를 통해 연결하는 데 필요한 설정을 제공합니다.

P2S VPN에 대한 AD(Active Directory) 도메인 인증 정보

AD Do기본 인증을 사용하면 사용자가 조직 do기본 자격 증명을 사용하여 Azure에 로그인할 수 있습니다. AD 서버와 통합되는 RADIUS 서버가 필요합니다. 또한 조직에서 기존 RADIUS 배포를 활용할 수도 있습니다.

RADIUS 서버는 온-프레미스 또는 Azure VNet에 있을 수 있습니다. 인증하는 동안 VPN 게이트웨이는 통과 역할을 하며 RADIUS 서버와 연결 디바이스 간에 인증 메시지를 앞뒤로 전달합니다. VPN 게이트웨이에서 RADIUS 서버에 연결할 수 있어야 합니다. RADIUS 서버가 온-프레미스에 있는 경우 Azure에서 온-프레미스 사이트로의 VPN 사이트 간 연결이 필요합니다.

또한 RADIUS 서버는 Active Directory와는 별도로 다른 외부 ID 시스템과 통합할 수도 있습니다. 이는 MFA 옵션을 포함하여 P2S VPN에 대한 많은 인증 옵션을 엽니다. RADIUS 서버 공급업체 설명서를 확인하여 통합된 ID 시스템 목록을 가져옵니다.

Diagram of RADIUS authentication P2S connection.

Important

온-프레미스 RADIUS 서버에 연결하는 데 사이트 간 VPN 연결만 사용할 수 있습니다. ExpressRoute 연결을 사용할 수 없습니다.

시작하기 전에

Azure 구독이 있는지 확인합니다. Azure 구독이 아직 없는 경우 MSDN 구독자 혜택을 활성화하거나 무료 계정에 등록할 수 있습니다.

Azure PowerShell 작업

이 문서에서는 PowerShell cmdlet을 사용합니다. cmdlet을 실행하려면 Azure Cloud Shell을 사용할 수 있습니다. Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.

Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 Cloudshell 열기를 선택하기만 하면 됩니다. 또한 https://shell.azure.com/powershell로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다. 복사를 선택하여 코드 블록을 복사하고 Cloud Shell에 붙여넣고 Enter 키를 선택하여 실행합니다.

또한 Azure PowerShell cmdlet을 컴퓨터에 로컬로 설치하고 실행할 수도 있습니다. PowerShell cmdlet은 자주 업데이트됩니다. 최신 버전을 설치하지 않은 경우 지침에 지정된 값이 실패할 수 있습니다. 컴퓨터에 설치된 Azure PowerShell 버전을 찾으려면 Get-Module -ListAvailable Az cmdlet을 사용하세요. 설치하거나 업데이트하려면 Azure PowerShell 모듈 설치를 참조하세요.

예제 값

예제 값을 사용하여 테스트 환경을 만들거나 이러한 값을 참조하여 이 문서의 예제를 더 잘 이해할 수 있습니다. 단계를 계속 따라가며 값을 변경 없이 사용해도 되고, 사용자 환경을 반영하도록 값을 변경해도 됩니다.

  • 이름: VNet1
  • 주소 공간: 10.1.0.0/1610.254.0.0/16
    이 예제에서는 둘 이상의 주소 공간을 사용하여 이 구성이 여러 주소 공간에서 작동한다는 것을 보여 줍니다. 그러나 이 구성에는 여러 주소 공간이 필요하지 않습니다.
  • 서브넷 이름: FrontEnd
    • 서브넷 주소 범위: 10.1.0.0/24
  • 서브넷 이름: BackEnd
    • 서브넷 주소 범위: 10.254.1.0/24
  • 서브넷 이름: GatewaySubnet
    VPN 게이트웨이가 작동하려면 서브넷 이름 GatewaySubnet 이 필수입니다.
    • GatewaySubnet 주소 범위 = 10.1.255.0/27
  • VPN 클라이언트 주소 풀: 172.16.201.0/24
    이 P2S 연결을 사용하여 VNet에 연결하는 VPN 클라이언트는 VPN 클라이언트 주소 풀에서 IP 주소를 받습니다.
  • 구독: 구독이 2개 이상 있는 경우 올바른 구독을 사용 중인지 확인합니다.
  • 리소스 그룹: TestRG1
  • 위치: 미국 동부
  • DNS 서버: VNet의 이름 확인에 사용하려는 DNS 서버의 IP 주소 입니다. (선택 사항)
  • GW 이름: Vnet1GW
  • 공용 IP 이름: VNet1GWPIP
  • VpnType: RouteBased

1. 변수 설정

사용할 변수를 선언합니다. 다음 샘플을 사용하여 필요할 때 고유한 값으로 대체합니다. 이 연습을 수행하는 동안 PowerShell/Cloud Shell 세션을 닫게 되는 경우 값을 복사하고 붙여넣어 변수를 다시 선언하세요.

$VNetName  = "VNet1"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "10.1.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "10.1.0.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "10.1.255.0/27"
$VPNClientAddressPool = "172.16.201.0/24"
$RG = "TestRG1"
$Location = "East US"
$GWName = "VNet1GW"
$GWIPName = "VNet1GWPIP"
$GWIPconfName = "gwipconf1"

2. 리소스 그룹, VNet 및 공용 IP 주소 만들기

다음 단계에서는 세 개의 서브넷을 사용하여 리소스 그룹에 리소스 그룹 및 가상 네트워크를 만듭니다. 값을 대체하는 경우 항상 게이트웨이 서브넷의 이름을 'GatewaySubnet'으로 지정하는 것이 중요합니다. 이름을 다른 이름으로 지정하면 게이트웨이 만들기가 실패합니다.

  1. 리소스 그룹을 만듭니다.

    New-AzResourceGroup -Name "TestRG1" -Location "East US"
    
  2. 가상 네트워크에 대한 서브넷 구성을 만들어 프런트 엔드, 백 엔드GatewaySubnet의 이름을 지정합니다. 이러한 접두사는 선언한 VNet 주소 공간의 일부여야 합니다.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name "FrontEnd" -AddressPrefix "10.1.0.0/24"  
    $besub = New-AzVirtualNetworkSubnetConfig -Name "Backend" -AddressPrefix "10.254.1.0/24"  
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix "10.1.255.0/27"
    
  3. 가상 네트워크 만들기

    이 예제에서 -DnsServer 서버 매개 변수는 선택 사항입니다. 값을 지정해도 새 DNS 서버가 만들어지지 않습니다. 지정한 DNS 서버 IP 주소는 VNet에서 연결하는 리소스에 대한 이름을 확인할 수 있는 DNS 서버여야 합니다. 이 예에서는 개인 IP 주소를 사용했지만 이것이 DNS 서버의 IP 주소가 아닐 가능성이 높습니다. 고유한 값을 사용해야 합니다. 지정한 값은 P2S 연결이 아니라 VNet에 배포하는 리소스에서 사용됩니다.

    New-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" -Location "East US" -AddressPrefix "10.1.0.0/16","10.254.0.0/16" -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. VPN 게이트웨이에는 공용 IP 주소가 있어야 합니다. 먼저 IP 주소 리소스를 요청한 다음 가상 네트워크 게이트웨이를 만들 때 참조합니다. VPN Gateway를 만들 때 IP 주소가 리소스에 동적으로 할당됩니다. VPN Gateway는 현재 동적 공용 IP 주소 할당만 지원합니다. 고정 공용 IP 주소 할당을 요청할 수 없습니다. 그러나 이는 IP 주소가 VPN 게이트웨이에 할당된 후 변경된다는 것을 의미하지는 않습니다. 공용 IP 주소가 변경되는 유일한 경우는 게이트웨이를 삭제하고 다시 만드는 경우입니다. VPN 게이트웨이의 크기 조정, 다시 설정 또는 기타 내부 기본/업그레이드 간에 변경되지 않습니다.

    동적으로 할당된 공용 IP 주소를 요청할 변수를 지정합니다.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"  
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet 
    $pip = New-AzPublicIpAddress -Name "VNet1GWPIP" -ResourceGroupName "TestRG1" -Location "East US" -AllocationMethod Dynamic 
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name "gwipconf1" -Subnet $subnet -PublicIpAddress $pip
    

3. RADIUS 서버 설정

가상 네트워크 게이트웨이를 만들고 구성하기 전에 인증을 위해 RADIUS 서버를 올바르게 구성해야 합니다.

  1. RADIUS 서버가 배포되지 않은 경우 배포합니다. 배포 단계는 RADIUS 공급업체에서 제공하는 설치 가이드를 참조하세요.  
  2. VPN Gateway를 RADIUS에서 RADIUS 클라이언트로 구성합니다. 이 RADIUS 클라이언트를 추가할 때 만든 가상 네트워크 GatewaySubnet을 지정합니다.
  3. RADIUS 서버가 설치되면 이 RADIUS 서버의 IP 주소 및 RADIUS 클라이언트에서 이 서버와 통신할 때 사용해야 하는 공유 비밀을 가져옵니다. RADIUS 서버가 Azure VNet에 있는 경우 RADIUS 서버 VM의 CA IP를 사용합니다.

NPS(네트워크 정책 서버) 문서에서는 AD 도메인 인증을 위해 Windows RADIUS 서버(NPS)를 구성하는 방법에 대한 지침을 제공하고 있습니다.

4. VPN Gateway 만들기

VNet에 대한 VPN 게이트웨이를 구성하고 만듭니다.

  • -GatewayType은  ‘Vpn’이어야 하고 -VpnType은 ‘RouteBased’여야 합니다.
  • VPN Gateway는 선택한 게이트웨이 SKU에 따라 완료하는 데 45분 이상 걸릴 수 있습니다.
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG `
-Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
-VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1

5. RADIUS 서버 및 클라이언트 주소 풀 추가

  • -RadiusServer는 이름 또는 IP 주소로 지정할 수 있습니다. 이름을 지정하고 서버가 온-프레미스에 있으면 VPN 게이트웨이에서 해당 이름을 확인할 수 없습니다. 이 경우 서버의 IP 주소를 지정하는 것이 좋습니다.
  • -RadiusSecret은 RADIUS 서버에 구성된 것과 일치해야 합니다.
  • -VpnClientAddressPool은 연결 VPN 클라이언트가 IP 주소를 받는 범위입니다. 연결 원본이 되는 온-프레미스 위치 또는 연결 대상이 되는 VNet과 겹치지 않는 개인 IP 주소 범위를 사용합니다. 충분히 큰 주소 풀이 구성되어 있는지 확인합니다.  
  1. RADIUS 비밀에 대한 보안 문자열을 만듭니다.

    $Secure_Secret=Read-Host -AsSecureString -Prompt "RadiusSecret"
    
  2. RADIUS 비밀을 입력하라는 메시지가 표시됩니다. 입력한 문자는 표시되지 않고 "*" 문자로 대체됩니다.

    RadiusSecret:***
    
  3. VPN 클라이언트 주소 풀 및 RADIUS 서버 정보를 추가합니다.

    SSTP 구성의 경우:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "SSTP" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    OpenVPN® 구성의 경우:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientRootCertificates @()
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "OpenVPN" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    IKEv2 구성의 경우:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "IKEv2" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    SSTP + IKEv2 구성:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol @( "SSTP", "IkeV2" ) `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    RADIUS 서버를 지정하려면 다음 구문을 사용합니다. 필요에 따라 -VpnClientProtocol 값을 수정합니다.

    $radiusServer1 = New-AzRadiusServer -RadiusServerAddress 10.1.0.15 -RadiusServerSecret $radiuspd -RadiusServerScore 30
    $radiusServer2 = New-AzRadiusServer -RadiusServerAddress 10.1.0.16 -RadiusServerSecret $radiuspd -RadiusServerScore 1
    
    $radiusServers = @( $radiusServer1, $radiusServer2 )
    
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $actual -VpnClientAddressPool 201.169.0.0/16 -VpnClientProtocol "IkeV2" -RadiusServerList $radiusServers
    

6. VPN 클라이언트 구성 및 연결

VPN 클라이언트 프로필 구성 패키지에는 Azure VNet에 대한 연결을 위해 VPN 클라이언트 프로필을 구성할 수 있도록 하는 설정이 포함되어 있습니다.

VPN 클라이언트 구성 패키지를 생성하고 VPN 클라이언트를 구성하려면 다음 문서 중 하나를 참조하세요.

VPN 클라이언트를 구성한 후 Azure에 연결합니다.

연결을 확인하려면

  1. VPN 연결이 활성 상태인지 확인하려면 관리자 권한 명령 프롬프트를 열고 ipconfig/all을 실행합니다.

  2. 결과를 확인합니다. 수신한 IP 주소는 구성에서 지정한 P2S VPN 클라이언트 주소 풀 내의 주소 중 하나입니다. 결과는 다음 예제와 유사합니다.

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.3(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

P2S 연결 문제를 해결하려면 Azure 지점 및 사이트 간의 연결 문제 해결을 참조 하세요.

가상 컴퓨터에 연결하려면

VM에 대한 원격 데스크톱 커넥트ion을 만들어 가상 네트워크에 배포된 VM에 연결할 수 있습니다. 처음에 VM에 연결할 수 있는지 확인하는 가장 좋은 방법은 컴퓨터 이름이 아닌 개인 IP 주소를 사용하여 연결하는 것입니다. 이렇게 하면 연결할 수 있는지, 아니면 이름 확인이 제대로 구성되었는지를 테스트할 수 있습니다.

  1. 개인 IP 주소를 찾습니다. Azure Portal에서 VM의 속성을 확인하거나 PowerShell을 사용하여 VM의 개인 IP 주소를 찾을 수 있습니다.

    • Azure Portal: Azure Portal에서 VM을 찾습니다. VM 속성을 봅니다. 개인 IP 주소가 나열됩니다.

    • PowerShell: 예제를 사용하여 리소스 그룹의 VM 및 개인 IP 주소 목록을 볼 수 있습니다. 이 예제는 수정하지 않고 그냥 사용하면 됩니다.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. 가상 네트워크에 연결되어 있는지 확인합니다.

  3. 작업 표시줄의 검색 상자에 RDP 또는 원격 데스크톱 커넥트ion을 입력하여 원격 데스크톱 커넥트ion을 엽니다. 그런 다음 원격 데스크톱 커넥트ion을 선택합니다. PowerShell에서 명령을 사용하여 원격 데스크톱 커넥트ionmstsc수도 있습니다.

  4. 원격 데스크톱 연결에서 VM의 개인 IP 주소를 입력합니다. 옵션 표시를 선택하여 다른 설정을 조정한 다음 연결할 수 있습니다.

VPN 연결을 통해 VM에 연결하는 데 문제가 있는 경우 다음 사항을 검사.

  • VPN 연결이 성공했는지 확인합니다.
  • VM의 개인 IP 주소에 연결하고 있는지 확인합니다.
  • 컴퓨터 이름이 아닌 개인 IP 주소를 사용하여 VM에 연결할 수 있는 경우 DNS를 올바르게 구성했는지 확인합니다. VM에서 이름 확인이 작동하는 방식에 대한 자세한 내용은 VM의 이름 확인을 참조 하세요.

RDP 연결에 대한 자세한 내용은 VM에 대한 원격 데스크톱 연결 문제 해결을 참조하세요.

  • DNS 서버 IP 주소가 VNet에 지정된 후에 VPN 클라이언트 구성 패키지가 생성되었는지 확인합니다. DNS 서버 IP 주소를 업데이트한 경우 새 VPN 클라이언트 구성 패키지를 생성하고 설치합니다.

  • 'ipconfig'를 사용하여 연결하는 컴퓨터의 이더넷 어댑터에 할당된 IPv4 주소를 확인합니다. IP 주소가 연결하는 VNet의 주소 범위 또는 VPNClientAddressPool의 주소 범위 내에 있는 경우 이 주소를 겹치는 주소 공간이라고 합니다. 이러한 방식으로 주소 공간이 겹치면 네트워크 트래픽이 Azure에 도달하지 않고 로컬 네트워크에 유지됩니다.

FAQ

FAQ 정보는 FAQ의 지점 및 사이트 간 - RADIUS 인증 섹션을 참조하세요.

다음 단계

연결이 완료되면 가상 네트워크에 가상 머신을 추가할 수 있습니다. 자세한 내용은 Virtual Machines를 참조하세요. 네트워킹 및 가상 머신에 대한 자세한 내용은 Azure 및 Linux VM 네트워크 개요를 참조하세요.