Virtual WAN의 지점 및 사이트 간 VPN에 대한 강제 터널링 구성

강제 터널링을 사용하면 원격 사용자에서 Azure로 모든 트래픽(인터넷 바인딩된 트래픽 포함)을 보낼 수 있습니다. Virtual WAN에서 지점 및 사이트 간 VPN 원격 사용자에 대한 강제 터널링은 0.0.0.0/0 기본 경로가 원격 VPN 사용자에게 보급됨을 의미합니다.

Virtual WAN 허브 만들기

이 문서의 단계에서는 하나 이상의 허브가 있는 Virtual WAN을 이미 배포했다고 가정합니다.

새 Virtual WAN 및 새 허브를 만들려면 다음 문서의 단계를 수행합니다.

지점 및 사이트 간 VPN 설정

이 문서의 단계에서는 Virtual WAN 허브에 지점 및 사이트 간 VPN 게이트웨이를 이미 배포했다고 가정합니다. 또한 게이트웨이에 할당할 지점 및 사이트 간 VPN 프로필을 만들었다고 가정합니다.

지점 및 사이트 간 VPN 게이트웨이 및 관련 프로필을 만들려면 지점 및 사이트 간 VPN 게이트웨이 만들기를 참조하세요.

몇 가지 방법으로 강제 터널링을 구성하고 기본 경로(0.0.0.0/0)를 Virtual WAN 연결된 원격 사용자 VPN 클라이언트에 보급합니다.

  • 다음 홉 Virtual Network 연결을 사용하여 defaultRouteTable에서 정적 0.0.0.0/0 경로를 지정할 수 있습니다. 이렇게 하면 모든 인터넷 바인딩된 트래픽이 해당 스포크 Virtual Network에 배포된 네트워크 가상 어플라이언스로 전송됩니다. 자세한 지침은 NVA를 통한 경로에 설명된 대체 워크플로를 고려하세요.
  • Azure Firewall Manager를 사용하여 Virtual WAN 허브에 배포된 Azure Firewall 통해 모든 인터넷 바인딩된 트래픽을 보내도록 Virtual WAN 구성할 수 있습니다. 구성 단계 및 자습서는 Azure Firewall Manager 설명서 가상 허브 보호를 참조하세요. 또는 인터넷 트래픽 라우팅 정책을 사용하여 구성할 수도 있습니다. 자세한 정보는 라우팅 의도 및 라우팅 정책을 참조하세요.
  • Firewall Manager를 사용하여 타사 보안 공급자를 통해 인터넷 트래픽을 보낼 수 있습니다. 이 기능에 대한 자세한 정보는 신뢰할 수 있는 보안 공급자를 참조하세요.
  • 0.0.0.0/0 경로를 Virtual WAN 보급하도록 분기 중 하나(사이트 간 VPN, ExpressRoute 회로)를 구성할 수 있습니다.

위의 네 가지 방법 중 하나를 구성한 후 지점 및 사이트 간 VPN 게이트웨이에 대해 EnableInternetSecurity 플래그가 켜져 있는지 확인합니다. 강제 터널링을 위해 클라이언트를 올바르게 구성하려면 이 플래그를 true로 설정해야 합니다.

EnableInternetSecurity 플래그를 켜려면 다음 PowerShell 명령을 사용하여 환경에 적합한 값을 대체합니다.

Update-AzP2sVpnGateway -ResourceGroupName "sampleRG" -Name "p2sgwsamplename" -EnableInternetSecurityFlag

지점 및 사이트 간 VPN 프로필 다운로드

지점 및 사이트 간 VPN 프로필을 다운로드하려면 전체 및 허브 프로필을 참조하세요. Azure Portal로부터 다운로드한 zip 파일의 정보는 클라이언트를 올바르게 구성하기 위해 중요합니다.

Azure VPN Client에 대한 강제 터널링 구성(OpenVPN)

강제 터널링을 구성하는 단계는 최종 사용자 디바이스의 운영 체제에 따라 다릅니다.

Windows 클라이언트

참고 항목

Windows 클라이언트의 경우 Azure VPN 클라이언트를 사용한 강제 터널링은 소프트웨어 버전 2:1900:39.0 이상에서만 사용할 수 있습니다.

  1. Azure VPN 클라이언트 버전이 강제 터널링과 호환되는지 확인합니다. 이렇게 하려면 Azure VPN 클라이언트 아래쪽에 있는 세 개의 점을 클릭하고 도움말을 클릭합니다. 또는 도움말로 이동하는 키보드 바로 가기는 Ctrl-H입니다. 버전 번호는 화면 위쪽에서 찾을 수 있습니다. 버전 번호가 2:1900:39.0 이상인지 확인합니다.

    Screenshot showing how to configure N V A private routing policies.

  2. 이전 섹션에서 다운로드한 zip 파일을 엽니다. AzureVPN이라는 폴더가 표시됩니다. 폴더를 열고 즐겨 찾는 XML 편집 도구에서 azurevpnconfig.xml을 엽니다.

  3. azureconfig.xmlversion이라는 필드가 있습니다. 버전 태그 사이의 숫자가 1이면 버전 번호를 2로 변경합니다.

    <version>2</version>
    
  4. 프로필을 Azure VPN 클라이언트로 가져옵니다. 프로필을 가져오는 방법에 대한 자세한 정보는 Azure VPN 클라이언트 가져오기 지침을 참조하세요.

  5. 새로 추가된 연결에 연결하기 이제 Azure Virtual WAN 대한 모든 트래픽을 강제로 터널링합니다.

MacOS 클라이언트

macOS 클라이언트가 Azure에서 기본 경로를 알게 되면 강제 터널링이 클라이언트 디바이스에서 자동으로 구성됩니다. 수행할 추가 단계는 없습니다. macOS Azure VPN 클라이언트를 사용하여 Virtual WAN 지점 및 사이트 간 VPN 게이트웨이에 연결하는 방법에 대한 지침은 macOS 구성 가이드를 참조하세요.

IKEv2 클라이언트에 대한 강제 터널링 구성

IKEv2 클라이언트의 경우 Azure Portal로부터 다운로드한 실행 프로필을 직접 사용할 수 없습니다. 클라이언트를 올바르게 구성하려면 PowerShell 스크립트를 실행하거나, Intune을 통해 VPN 프로필을 배포해야 합니다.

지점 및 사이트 간 VPN 게이트웨이에 구성된 인증 방법에 따라 다른 EAP 구성 파일을 사용합니다. 샘플 EAP 구성 파일은 아래에 제공됩니다.

사용자 인증서 인증이 적용된 IKEv2

사용자 인증서를 사용하여 원격 사용자를 인증하려면 아래 샘플 PowerShell 스크립트를 사용합니다. VpnSettings 및 EAP XML 파일의 콘텐츠를 PowerShell로 제대로 가져오려면 Get-Content PowerShell 명령을 실행하기 전에 적절한 디렉터리로 이동합니다.

# specify the name of the VPN Connection to be installed on the client
$vpnConnectionName = "SampleConnectionName"

# get the VPN Server FQDN from the profile downloaded from Azure Portal
$downloadedXML = [xml] (Get-Content VpnSettings.xml)
$vpnserverFQDN = $downloadedXML.VpnProfile.VpnServer

# use the appropriate EAP XML file based on the authentication method specified on the Point-to-site VPN gateway
$EAPXML = [xml] (Get-Content EapXML.xml)

# create the VPN Connection
Add-VpnConnection -Name $vpnConnectionName -ServerAddress $vpnserverFQDN -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $EAPXML

# enabled forced tunneling
Set-VpnConnection -Name $vpnConnectionName -SplitTunneling $false 

다음 예제에서는 사용자 인증서 기반 인증을 위한 EAP XML 파일을 보여줍니다. 클라이언트 디바이스가 인증을 위해 VPN 서버에 표시할 올바른 인증서를 선택하도록 IssuerHash 필드를 루트 인증서의 지문으로 바꿉니다.

<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
    <EapMethod>
        <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">13</Type>
        <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
        <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
        <AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
    </EapMethod>
    <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
        <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
            <Type>13</Type>
            <EapType xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1">
                <CredentialsSource>
                    <CertificateStore>
                        <SimpleCertSelection>true</SimpleCertSelection>
                    </CertificateStore>
                </CredentialsSource>
                <ServerValidation>
                    <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
                    <ServerNames></ServerNames>
                </ServerValidation>
                <DifferentUsername>false</DifferentUsername>
                <PerformServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</PerformServerValidation>
                <AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</AcceptServerName>
                <TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">
                    <FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3">
                        <CAHashList Enabled="true">
                            <IssuerHash> REPLACE THIS WITH ROOT CERTIFICATE THUMBPRINT </IssuerHash>
                        </CAHashList>
                    </FilteringInfo>
                </TLSExtensions>
            </EapType>
        </Eap>
    </Config>
</EapHostConfig>

컴퓨터 인증서 인증이 적용된 IKEv2

컴퓨터 인증서를 사용하여 원격 사용자를 인증하려면 아래 샘플 PowerShell 스크립트를 사용합니다. VpnSettings 및 EAP XML 파일의 콘텐츠를 PowerShell로 제대로 가져오려면 Get-Content PowerShell 명령을 실행하기 전에 적절한 디렉터리로 이동합니다.

# specify the name of the VPN Connection to be installed on the client
$vpnConnectionName = "UserCertVPNConnection"

# get the VPN Server FQDN from the profile downloaded from Azure portal
$downloadedXML = [xml] (Get-Content VpnSettings.xml)
$vpnserverFQDN = $downloadedXML.VpnProfile.VpnServer

# create the VPN Connection
Add-VpnConnection -Name $vpnConnectionName -ServerAddress $vpnserverFQDN -TunnelType Ikev2 -AuthenticationMethod MachineCertificate 

# enabled forced tunneling
Set-VpnConnection -Name $vpnConnectionName -SplitTunneling $false 

사용자 이름 및 암호를 사용하는 RADIUS 서버 인증이 적용된 IKEv2(EAP-MSCHAPv2)

EAP-MASCHAPv2(사용자 이름 및 암호 기반 RADIUS 인증)를 사용하여 원격 사용자를 인증하려면 아래 샘플 PowerShell 스크립트를 사용합니다. VpnSettings 및 EAP XML 파일의 콘텐츠를 PowerShell로 제대로 가져오려면 Get-Content PowerShell 명령을 실행하기 전에 적절한 디렉터리로 이동합니다.

# specify the name of the VPN Connection to be installed on the client
$vpnConnectionName = "SampleConnectionName"

# get the VPN Server FQDN from the profile downloaded from Azure portal
$downloadedXML = [xml] (Get-Content VpnSettings.xml)
$vpnserverFQDN = $downloadedXML.VpnProfile.VpnServer

# use the appropriate EAP XML file based on the authentication method specified on the Point-to-site VPN gateway
$EAPXML = [xml] (Get-Content EapXML.xml)

# create the VPN Connection
Add-VpnConnection -Name $vpnConnectionName -ServerAddress $vpnserverFQDN -TunnelType Point-to-sitev2 -AuthenticationMethod Eap -EapConfigXmlStream $EAPXML

# enabled forced tunneling
Set-VpnConnection -Name $vpnConnectionName -SplitTunneling $false 

예제 EAP XML 파일은 다음과 같습니다.

<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
    <EapMethod>
        <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">26</Type>
        <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
        <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
        <AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
    </EapMethod>
    <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
        <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
            <Type>26</Type>
            <EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">
                <UseWinLogonCredentials>false</UseWinLogonCredentials>
            </EapType>
        </Eap>
    </Config>
</EapHostConfig>

사용자 인증서를 사용하는 RADIUS 서버 인증이 적용된 IKEv2(EAP-TLS)

EAP-TLS(인증서 기반 RADIUS 인증)를 사용하여 원격 사용자를 인증하려면 아래 샘플 PowerShell 스크립트를 사용합니다. VpnSettings 및 EAP XML 파일의 콘텐츠를 PowerShell로 가져오려면 Get-Content PowerShell 명령을 실행하기 전에 적절한 디렉터리로 이동해야 합니다.

# specify the name of the VPN Connection to be installed on the client
$vpnConnectionName = "SampleConnectionName"

# get the VPN Server FQDN from the profile downloaded from Azure portal
$downloadedXML = [xml] (Get-Content VpnSettings.xml)
$vpnserverFQDN = $downloadedXML.VpnProfile.VpnServer

# use the appropriate EAP XML file based on the authentication method specified on the Point-to-site VPN gateway
$EAPXML = [xml] (Get-Content EapXML.xml)

# create the VPN Connection
Add-VpnConnection -Name $vpnConnectionName -ServerAddress $vpnserverFQDN -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $EAPXML

# enabled forced tunneling
Set-VpnConnection -Name $vpnConnectionName -SplitTunneling $false 

아래는 샘플 EAP XML 파일입니다. TrustedRootCA 필드를 인증 기관 인증서의 지문으로 변경하고 IssuerHash를 루트 인증서의 지문으로 변경합니다.

<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
    <EapMethod>
        <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">13</Type>
        <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
        <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
        <AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
    </EapMethod>
    <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
        <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
            <Type>13</Type>
            <EapType xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1">
                <CredentialsSource>
                    <CertificateStore>
                        <SimpleCertSelection>false</SimpleCertSelection>
                    </CertificateStore>
                </CredentialsSource>
                <ServerValidation>
                    <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
                    <ServerNames></ServerNames>
                    <TrustedRootCA> CERTIFICATE AUTHORITY THUMBPRINT </TrustedRootCA>
                </ServerValidation>
                <DifferentUsername>true</DifferentUsername>
                <PerformServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</PerformServerValidation>
                <AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</AcceptServerName>
                <TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">
                    <FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3">
                        <CAHashList Enabled="true">
                            <IssuerHash> ROOT CERTIFCATE THUMBPRINT  </IssuerHash>
                        </CAHashList>
                    </FilteringInfo>
                </TLSExtensions>
            </EapType>
        </Eap>
    </Config>
</EapHostConfig>

다음 단계

Virtual WAN에 대한 자세한 내용은 FAQ를 참조하세요.