共用方式為


設定虛擬 WAN 點對站 VPN 的強制通道 (機器翻譯)

強制通道可讓您將所有流量 (包括網際網路繫結流量) 從遠端使用者傳送至 Azure。 在虛擬 WAN 中,點對站 VPN 遠端使用者的強制通道表示會向遠端 VPN 使用者通告 0.0.0.0/0 預設路由。

建立虛擬 WAN 中樞

此文章中的步驟假設您已部署具有一或多個中樞的虛擬 WAN。

若要建立新的虛擬 WAN 與新的中樞,請使用下列文章中的步驟:

設定點對站 VPN

本文中的步驟也假設您已在虛擬 WAN 中樞中部署點對站 VPN 閘道。 它也假設您已建立要指派給閘道的點對站 VPN 設定檔。

若要建立點對站 VPN 閘道和相關設定檔,請參閱建立點對站 VPN 閘道

有幾種方式可以設定強制通道,並將預設路由 (0.0.0.0/0) 向連線至虛擬 WAN 的遠端使用者 VPN 用戶端通告。

  • 您可以在具有下一個躍點虛擬網路連線的 defaultRouteTable 中指定靜態 0.0.0.0/0 路由。 這會強制將所有網際網路繫結的流量傳送到部署在該輪輻虛擬網路中的網路虛擬設備。 如需更詳細的指示,請考慮透過 NVA 路由中所述的替代工作流程。
  • 您可以使用 Azure 防火牆管理員來設定虛擬 WAN,以透過部署在虛擬 WAN 中樞中的 Azure 防火牆傳送所有網際網路繫結流量。 如需設定步驟和教學課程,請參閱 Azure 防火牆管理員文件保護虛擬中樞。 或者,您也可以使用網際網路流量路由原則來設定。 如需詳細資訊,請參閱路由意圖和路由原則
  • 您可以使用防火牆管理員,透過第三方安全性提供者傳送網際網路流量。 如需此功能的詳細資訊,請參閱受信任的安全性提供者
  • 您可以設定其中一個分支 (站對站 VPN、ExpressRoute 線路) 來向虛擬 WAN 通告 0.0.0.0/0 路由。

設定上述四個方法之一之後,請確定已對點對站 VPN 閘道啟用 EnableInternetSecurity 旗標。 必須將此旗標設定為 true,用戶端才能正確設定進行強制通道。

若要開啟 EnableInternetSecurity 旗標,請使用下列 PowerShell 命令,替代您的環境的適當值。

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

下載點對站 VPN 設定檔

若要下載點對站 VPN 設定檔,請參閱全域和中樞設定檔。 從 Azure 入口網站下載的 zip 檔案中的資訊,對於正確設定用戶端而言非常重要。

設定 Azure VPN 用戶端的強制通道 (OpenVPN)

設定強制通道的步驟會根據終端使用者裝置的作業系統而有所不同。

Windows 用戶端

注意

針對 Windows 用戶端,使用 Azure VPN 用戶端進行強制通道僅供軟體版本 2:1900:39.0 或更新版本使用。

  1. 驗證 Azure VPN 用戶端的版本與強制通道相容。 若要執行此動作,請按一下 Azure VPN 用戶端底部的三個點,然後按一下 [說明]。 或者,瀏覽至 [說明] 的鍵盤快速鍵為 Ctrl-H。 您可以在畫面頂端找到版本號碼。 確保您的版本號碼為 2:1900:39.0 或更新版本。

  2. 開啟從上一節下載的 zip 檔案。 您應該會看到標題為 AzureVPN 的資料夾。 開啟資料夾,然後在您喜好的 XML 編輯工具中開啟 azurevpnconfig.xml

  3. azureconfig.xml 中,有一個名為 version 的欄位。 如果版本標籤之間的數字為 1,請將 version 號碼變更為 2

    <version>2</version>
    
  4. 將設定檔匯入 Azure VPN 用戶端。 如需如何匯入設定檔的詳細資訊,請參閱 Azure VPN 用戶端匯入指示

  5. 連線至新增的連線。 您現在會將所有流量強制通道至 Azure 虛擬 WAN。

macOS 用戶端

一旦 macOS 用戶端了解來自 Azure 的預設路由,就會在用戶端裝置上自動設定強制通道。 沒有需要採取的額外步驟。 如需如何使用 macOS Azure VPN 用戶端連線至虛擬 WAN 點對站 VPN 閘道的指示,請參閱 macOS 設定指南

為 IKEv2 用戶端設定強制通道

針對 IKEv2 用戶端,您無法直接使用從 Azure 入口網站下載的可執行檔設定檔。 若要正確設定用戶端,您必須執行 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 檔案。 將 IssuerHash 欄位取代為根憑證的指紋,以確保您的用戶端裝置會選取正確的憑證,向 VPN 伺服器呈現以進行驗證。

<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 

IKEv2 搭配 RADIUS 伺服器驗證與使用者名稱和密碼 (EAP-MSCHAPv2)

若要使用使用者名稱和密碼型 RADIUS 驗證 (EAP-MASCHAPv2) 來驗證遠端使用者,請使用下列 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>

IKEv2 搭配 RADIUS 伺服器驗證與使用者憑證 (EAP-TLS)

若要使用憑證式 RADIUS 驗證 (EAP-TLS) 來驗證遠端使用者,請使用下列 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 CERTIFICATE THUMBPRINT  </IssuerHash>
                        </CAHashList>
                    </FilteringInfo>
                </TLSExtensions>
            </EapType>
        </Eap>
    </Config>
</EapHostConfig>

下一步

如需虛擬 WAN 的詳細資訊,請參閱常見問題集