사이트 간 연결에 기본 사이트를 사용하여 강제 터널링 구성
이 문서의 단계는 기본 사이트를 지정하여 S2S(사이트 간) IPsec 연결에 대한 강제 터널링을 구성하는 데 도움이 됩니다. BGP를 통한 강제 터널링 구성을 포함하여 강제 터널링 구성 방법에 대한 자세한 내용은 VPN Gateway에 대한 강제 터널링 정보를 참조하세요.
기본적으로 VM의 인터넷 바인딩 트래픽은 인터넷으로 직접 이동합니다. 검사 및 감사를 위해 VPN 게이트웨이를 통해 모든 인터넷 바인딩 트래픽을 온-프레미스 사이트에 강제 터널링하려면 강제 터널링을 구성하면 됩니다. 강제 터널링을 구성한 후 원하는 경우 지정된 서브넷에서 사용자 지정 UDR(사용자 정의 경로)을 사용하여 인터넷 바인딩 트래픽을 인터넷으로 직접 라우팅할 수 있습니다.
다음 단계는 기본 사이트를 지정하여 강제 터널링 시나리오를 구성하는 데 도움이 됩니다. 필요에 따라 사용자 지정 UDR을 사용하여 Frontend 서브넷의 인터넷 바인딩 트래픽이 온-프레미스 사이트가 아닌 인터넷으로 직접 이동하도록 지정하여 트래픽을 라우팅할 수 있습니다.
- 서브넷 3개(프런트 엔드, 중간 계층 및 백 엔드)와 크로스-프레미스 연결 4개(DefaultSiteHQ 및 분기 3개)가 있는 VNet을 만듭니다.
- PowerShell을 사용하여 VPN Gateway의 기본 사이트를 지정합니다. 그러면 모든 인터넷 트래픽이 온-프레미스 위치로 강제 터널링됩니다. 기본 사이트는 Azure Portal를 사용하여 구성할 수 없습니다.
- Frontend 서브넷에는 VPN 게이트웨이를 우회하여 인터넷 트래픽을 인터넷에 직접 보내는 UDR이 할당됩니다. 다른 트래픽은 정상적으로 라우팅됩니다.
- 기본 사이트가 지정되어 있으므로 중간 계층 및 백 엔드 서브넷이 VPN Gateway를 통해 인터넷 트래픽을 온-프레미스 사이트로 다시 강제 터널링합니다.
VNet 및 서브넷 만들기
먼저 테스트 환경을 만듭니다. Azure Cloud Shell을 사용하거나 PowerShell을 로컬로 실행할 수 있습니다. 자세한 내용은 Azure PowerShell을 설치 및 구성하는 방법을 참조하세요.
참고 항목
“이 cmdlet의 출력 개체 형식은 이후 릴리스에서 수정될 예정입니다”라는 경고가 표시될 수 있습니다. 이는 정상적인 동작이며 사용자는 이러한 경고를 안전하게 무시할 수 있습니다.
New-AzResourceGroup을 사용하여 리소스 그룹을 만듭니다.
New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
New-AzVirtualNetwork를 사용하여 가상 네트워크를 만듭니다.
$vnet = New-AzVirtualNetwork ` -ResourceGroupName "TestRG1" ` -Location "EastUS" ` -Name "VNet1" ` -AddressPrefix 10.1.0.0/16
New-AzVirtualNetworkSubnetConfig를 사용하여 서브넷을 만듭니다. 프런트 엔드, 중간 계층 및 백 엔드 서브넷과 게이트웨이 서브넷(GatewaySubnet이라는 이름이 지정되어야 함)을 만듭니다.
$subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig ` -Name Frontend ` -AddressPrefix 10.1.0.0/24 ` -VirtualNetwork $vnet $subnetConfigMid-tier = Add-AzVirtualNetworkSubnetConfig ` -Name Mid-tier ` -AddressPrefix 10.1.1.0/24 ` -VirtualNetwork $vnet $subnetConfigBackend = Add-AzVirtualNetworkSubnetConfig ` -Name Backend ` -AddressPrefix 10.1.2.0/24 ` -VirtualNetwork $vnet $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig ` -Name GatewaySubnet ` -AddressPrefix 10.1.200.0/27 ` -VirtualNetwork $vnet
Set-AzVirtualNetwork를 사용하여 가상 네트워크에 서브넷 구성을 작성합니다. 그러면 가상 네트워크에 서브넷이 만들어집니다.
$vnet | Set-AzVirtualNetwork
로컬 네트워크 게이트웨이 만들기
이 섹션에서는 New-AzLocalNetworkGateway를 사용하여 사이트에 대한 로컬 네트워크 게이트웨이를 만듭니다. 각 로컬 네트워크 게이트웨이를 만들 때 각 명령 사이에 짧은 중지 시간이 있습니다. 이 예제에서 -GatewayIpAddress
값은 자리 표시자입니다. 연결을 설정하려면 나중에 이러한 값을 해당 온-프레미스 VPN 디바이스의 공용 IP 주소로 바꿔야 합니다.
$lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
$lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
$lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
$lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"
VPN 게이트웨이 만들기
이 섹션에서는 공용 IP 주소를 요청하고 공용 IP 주소 개체에 연결된 VPN 게이트웨이를 만듭니다. 공용 IP 주소는 크로스-프레미스 연결을 위해 온-프레미스 또는 외부 VPN 디바이스를 VPN 게이트웨이에 연결할 때 사용됩니다.
New-AzPublicIpAddress를 사용하여 VPN 게이트웨이의 공용 IP 주소를 요청합니다.
$gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
New-AzVirtualNetworkGatewayIpConfig를 사용하여 게이트웨이 IP 주소 구성을 만듭니다. 이 구성은 VPN 게이트웨이를 만들 때 참조됩니다.
$vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
New-AzVirtualNetworkGateway를 사용하여 게이트웨이 유형이 "Vpn"인 가상 네트워크 게이트웨이를 만듭니다. 게이트웨이 SKU에 따라 게이트웨이를 만드는 데 45분 이상 걸릴 수 있습니다.
이 예제에서는 VpnGw2, 2세대 SKU를 사용합니다. GatewaySKU 값과 관련한 ValidateSet 오류가 표시되는 경우 PowerShell cmdlet 최신 버전을 설치했는지 확인합니다. 최신 버전은 최신 게이트웨이 SKU에 대한 유효성이 검사된 새 값을 포함합니다.
New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
강제 터널링 구성 - 기본 사이트
가상 네트워크 게이트웨이에 기본 사이트를 할당하여 강제 터널링을 구성합니다. 기본 사이트를 지정하지 않으면 인터넷 트래픽이 VPN Gateway를 통해 강제 터널링되지 않고 모든 서브넷에서 인터넷으로 직접 트래버스됩니다(기본값).
게이트웨이의 기본 사이트를 할당하려면 -GatewayDefaultSite 매개 변수를 사용합니다. 이를 올바르게 할당해야 합니다.
먼저 가상 네트워크 게이트웨이 정보와 기본 사이트에 대한 로컬 네트워크 게이트웨이를 지정하는 변수(이 경우 DefaultSiteHQ)를 선언합니다.
$LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" $VirtualGateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
다음으로 Set-AzVirtualNetworkGatewayDefaultSite를 사용하여 가상 네트워크 게이트웨이 기본 사이트를 설정합니다.
Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
이제 모든 인터넷 바인딩 트래픽이 DefaultSiteHQ로 강제 터널링되도록 구성됩니다. 트래픽 선택기로 0.0.0.0/0을 사용하여 온-프레미스 VPN 디바이스를 구성해야 합니다.
- 강제 터널링만 구성하고 특정 서브넷에서 인터넷 트래픽을 인터넷으로 직접 라우팅하지 않으려면 이 문서의 연결 설정 섹션으로 건너뛰어 연결을 설정하면 됩니다.
- 특정 서브넷이 인터넷에 바인딩된 트래픽을 인터넷에 직접 보내도록 하려면 다음 섹션을 계속 진행하여 사용자 지정 UDR을 구성하고 경로를 할당합니다.
특정 서브넷에 대한 인터넷 바인딩된 트래픽 라우팅
인터넷 바인딩된 트래픽을 온-프레미스 네트워크가 아닌 특정 서브넷의 인터넷으로 직접 보내려는 경우 다음 단계를 사용합니다. 이러한 단계는 기본 사이트를 지정하여 구성되었거나 BGP를 통해 구성된 강제 터널링에 적용됩니다.
경로 테이블 및 경로 만들기
인터넷에 바인딩된 트래픽이 인터넷으로 직접 이동하도록 지정하려면 필요한 경로 테이블 및 경로를 만듭니다. 나중에 경로 테이블을 Frontend 서브넷에 할당합니다.
New-AzRouteTable을 사용하여 경로 테이블을 만듭니다.
$routeTable1 = New-AzRouteTable ` -Name 'RouteTable1' ` -ResourceGroupName "TestRG1" ` -location "EastUS"
GetAzRouteTable, Add-AzRouteConfig 및 Set-AzRouteConfig cmdlet을 사용하여 경로를 만듭니다. RouteTable1에서 다음 홉 유형 "Internet"에 대한 경로를 만듭니다. 이 경로는 나중에 Frontend 서브넷에 할당됩니다.
Get-AzRouteTable ` -ResourceGroupName "TestRG1" ` -Name "RouteTable1" ` | Add-AzRouteConfig ` -Name "ToInternet" ` -AddressPrefix 0.0.0.0/0 ` -NextHopType "Internet" ` | Set-AzRouteTable
경로 할당
이 섹션에서는 GetAzRouteTable, Set-AzRouteConfig 및 Set-AzVirtualNetwork라는 PowerShell 명령을 사용하여 경로 테이블과 경로를 Frontend 서브넷에 할당합니다.
다음 홉 Internet으로 0.0.0.0/0을 지정하는 경로 "ToInternet"을 사용하여 RouteTable1에 Frontend 서브넷을 할당합니다.
$vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" $routeTable1 = Get-AzRouteTable ` -ResourceGroupName "TestRG1" ` -Name "RouteTable1" Set-AzVirtualNetworkSubnetConfig ` -VirtualNetwork $vnet ` -Name 'Frontend' ` -AddressPrefix 10.1.0.0/24 ` -RouteTable $routeTable1 | ` Set-AzVirtualNetwork
S2S VPN 연결 설정
New-AzVirtualNetworkGatewayConnection을 사용하여 S2S 연결을 설정합니다.
변수 선언.
$gateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1"
연결을 만듭니다.
New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
연결을 보려면 다음 예제를 사용합니다. 필요한 값을 수정하여 보려는 연결을 지정합니다.
Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1"
다음 단계
VPN Gateway에 대한 자세한 정보는 VPN Gateway FAQ를 참조하세요.