Configurare il tunneling forzato per la VPN da punto a sito della rete WAN virtuale

Il tunneling forzato consente di inviare tutto il traffico (incluso il traffico associato a Internet) da utenti remoti ad Azure. In rete WAN virtuale, il tunneling forzato per gli utenti remoti VPN da punto a sito indica che la route predefinita 0.0.0.0/0 viene pubblicizzata agli utenti VPN remoti.

Nota

Il tunneling forzato della VPN da punto a sito non corrisponde alla modalità di instradamento del traffico Internet Tunnel forzato dell'hub rete WAN virtuale. Il tunneling forzato da punto a sito annuncia la route 0.0.0.0/0 ai client VPN remoti in modo che il loro traffico Internet venga inviato ad Azure. La modalità tunnel forzato dell'hub determina come la soluzione di sicurezza dell'hub inoltra il traffico Internet dopo averlo ispezionato. Richiede una policy di routing privata con 0.0.0.0/0 configurata come prefisso aggiuntivo, e non può essere combinata con una policy di routing internet. Per altre informazioni, vedere Protezione dell'accesso a Internet con finalità di routing.

Creare un hub di rete WAN virtuale

I passaggi descritti in questo articolo presuppongono che sia già stata distribuita una rete WAN virtuale con uno o più hub.

Per creare una nuova rete WAN virtuale e un nuovo hub, attenersi ai passaggi descritti negli articoli seguenti:

Configurare la VPN da punto a sito

I passaggi descritti in questo articolo presuppongono anche che sia già stato distribuito un gateway VPN da punto a sito nell'hub rete WAN virtuale. Si presuppone anche che siano stati creati profili VPN da punto a sito da assegnare al gateway.

Per creare il gateway VPN da punto a sito e i profili correlati, vedere Creare un gateway VPN da punto a sito.

Esistono due modi per configurare il tunneling forzato e annunciare la route predefinita (0.0.0.0/0) ai client VPN utente remoti connessi a rete WAN virtuale.

  • È possibile specificare una route statica 0.0.0.0/0 nella defaultRouteTable con hop successivo: Connessione di rete virtuale. In questo modo tutto il traffico associato a Internet verrà inviato a un'appliance virtuale di rete distribuita in tale Rete virtuale spoke. Per istruzioni più dettagliate, consultare il flusso di lavoro alternativo descritto in instradamento del traffico verso spoke indirette o internet.
  • È possibile usare Firewall di Azure Manager per configurare rete WAN virtuale per inviare tutto il traffico associato a Internet tramite Firewall di Azure distribuito nell'hub rete WAN virtuale. Per i passaggi di configurazione e per un'esercitazione, vedere la documentazione di Gestione firewall di Azure Protezione degli hub virtuali. In alternativa, puoi configurare una Politica di Instradamento del Traffico Internet, che protegge il traffico internet inviato dai tuoi utenti remoti ad Azure e poi lo instrada direttamente su Internet dopo l'ispezione. Una policy di routing internet configura l'hub in modalità accesso diretto, non in modalità tunnel forzato dell'hub. Per altre informazioni, vedere Routing Intent and Routing Policies.For more information, see Routing Intent and Routing Policies.
  • È possibile usare Gestione firewall per inviare traffico Internet tramite un provider di sicurezza di terze parti. Per altre informazioni su questa funzionalità, vedere Provider di sicurezza attendibili.
  • È possibile configurare uno dei rami (VPN da sito a sito, circuito ExpressRoute) per annunciare la route 0.0.0.0/0 per rete WAN virtuale.

Dopo aver configurato uno dei quattro metodi precedenti, assicurarsi che il flag EnableInternetSecurity sia attivato per il gateway VPN da punto a sito. Questo flag deve essere impostato su true affinché i client siano configurati correttamente per il tunneling forzato.

Per attivare il flag EnableInternetSecurity, usare il comando di PowerShell seguente, sostituendo i valori appropriati per l'ambiente.

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

Scaricare il profilo VPN da punto a sito

Per scaricare il profilo VPN da punto a sito, vedi profili globali e dell'hub. Le informazioni nel file ZIP scaricato da portale di Azure è fondamentale per configurare correttamente i client.

Configurare il tunneling forzato per i client VPN di Azure (OpenVPN)

I passaggi per configurare il tunneling forzato sono diversi, a seconda del sistema operativo del dispositivo dell'utente finale.

Client Windows

Nota

Per i client Windows, il tunneling forzato con il client VPN di Azure è disponibile solo con la versione software 2:1900:39.0 o successiva.

  1. Verificare che la versione del client VPN di Azure sia compatibile con il tunneling forzato. Per farlo, fare clic sui tre puntini in basso nel client VPN di Azure, quindi fare clic su Guida. In alternativa, la scelta rapida da tastiera per accedere alla Guida è Ctrl-H. Il numero di versione è disponibile nella parte superiore dello schermo. Verificare che il numero di versione sia 2:1900:39.0 o versione successiva.

  2. Aprire il file ZIP scaricato dalla sezione precedente. Verrà visualizzata una cartella denominata AzureVPN. Aprire la cartella e aprire azurevpnconfig.xml nello strumento di modifica XML preferito.

  3. In azureconfig.xml è presente un campo denominato version. Se il numero tra i tag di versione è 1, modificare il numero di versione in 2.

    <version>2</version>
    
  4. Importare il profilo nel client VPN di Azure. Per altre informazioni su come importare un profilo, vedere Istruzioni per l'importazione di client VPN di Azure.

  5. Connettersi alla connessione appena aggiunta. Si sta eseguendo il tunneling forzato di tutto il traffico verso Azure rete WAN virtuale.

Client macOS

Dopo che un client macOS apprende la route predefinita da Azure, il tunneling forzato viene configurato automaticamente nel dispositivo client. Non ci sono altri passaggi da eseguire. Per istruzioni su come usare il client VPN di Azure macOS per connettersi al gateway VPN da punto a sito rete WAN virtuale, vedere la Guida alla configurazione di macOS.

Configurazione del tunneling forzato per i client IKEv2

Per i client IKEv2, non è possibile usare direttamente i profili eseguibili scaricati da portale di Azure. Per configurare correttamente il client, è necessario eseguire uno script di PowerShell o distribuire il profilo VPN tramite Intune.

In base al metodo di autenticazione configurato nel gateway VPN da punto a sito, usare un file di configurazione EAP diverso. Di seguito sono riportati i file di configurazione EAP di esempio.

IKEv2 con autenticazione del certificato utente

Per usare i certificati utente per autenticare gli utenti remoti, usare lo script di PowerShell di esempio seguente. Per importare correttamente il contenuto dei file XML VpnSettings e EAP in PowerShell, passare alla directory appropriata prima di eseguire il comando Get-Content di 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 

Nell'esempio seguente viene illustrato un file XML EAP per l'autenticazione basata su certificati utente. Sostituisci il campo IssuerHash con l'impronta digitale del certificato radice per garantire che il dispositivo client selezioni il certificato corretto da presentare al server VPN per l'autenticazione.

<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 con autenticazione del certificato del computer

Per usare i certificati del computer per autenticare gli utenti remoti, usare lo script di PowerShell di esempio seguente. Per importare correttamente il contenuto dei file XML VpnSettings e EAP in PowerShell, passare alla directory appropriata prima di eseguire il comando Get-Content di 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 

IKEv2 con autenticazione server RADIUS con nome utente e password (EAP-MSCHAPv2)

Per usare l'autenticazione RADIUS basata su nome utente e password (EAP-MASCHAPv2) per autenticare gli utenti remoti, usare lo script di PowerShell di esempio seguente. Per importare correttamente il contenuto dei file XML VpnSettings e EAP in PowerShell, passare alla directory appropriata prima di eseguire il comando Get-Content di 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 

Di seguito è riportato un esempio di file XML EAP.

<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>

IKEv2 con autenticazione server RADIUS con certificati utente (EAP-TLS)

Per usare l'autenticazione RADIUS basata su certificato (EAP-TLS) per autenticare gli utenti remoti, usare lo script di PowerShell di esempio seguente. Si noti che per importare il contenuto dei file VPNSettings ed EAP XML in PowerShell, è necessario passare alla directory appropriata prima di eseguire il comando 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 

Di seguito è riportato un file XML EAP di esempio. Modifica il campo TrustedRootCA con l'impronta digitale del certificato della tua Autorità di certificazione e il campo IssuerHash con l'impronta digitale del certificato radice.

<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 CERTIFICATE THUMBPRINT  </IssuerHash>
                        </CAHashList>
                    </FilteringInfo>
                </TLSExtensions>
            </EapType>
        </Eap>
    </Config>
</EapHostConfig>

Passaggi successivi

Per altre informazioni sulla rete WAN virtuale, vedere le domande frequenti.