تكوين الاتصال النفقي القسري باستخدام الموقع الافتراضي للاتصالات من موقع إلى موقع

تساعدك الخطوات الواردة في هذه المقالة على تكوين نفق إجباري لاتصالات IPsec من موقع إلى موقع (S2S) عن طريق تحديد موقع افتراضي. للحصول على معلومات حول أساليب التكوين للنفق القسري، بما في ذلك تكوين النفق القسري عبر BGP، راجع حول النفق القسري لبوابة VPN.

بشكل افتراضي، تنتقل نسبة استخدام الشبكة المرتبطة بالإنترنت من الأجهزة الظاهرية مباشرة إلى الإنترنت. إذا كنت ترغب في فرض جميع حركة المرور المرتبطة بالإنترنت من خلال بوابة VPN إلى موقع محلي للفحص والتدقيق، يمكنك القيام بذلك عن طريق تكوين الاتصال النفقي القسري. بعد تكوين الاتصال النفقي القسري، إذا رغبت في ذلك، يمكنك توجيه نسبة استخدام الشبكة المرتبطة بالإنترنت مباشرة إلى الإنترنت للشبكات الفرعية المحددة باستخدام المسارات المخصصة المعرفة من قبل المستخدم (UDRs).

Diagram shows split tunneling.

تساعدك الخطوات التالية على تكوين سيناريو نفق إجباري عن طريق تحديد موقع افتراضي. اختياريا، باستخدام UDR المخصص، يمكنك توجيه نسبة استخدام الشبكة عن طريق تحديد أن نسبة استخدام الشبكة المرتبطة بالإنترنت من الشبكة الفرعية للواجهة الأمامية تنتقل مباشرة إلى الإنترنت، بدلا من الموقع المحلي.

  • تحتوي الشبكة الظاهرية التي تقوم بإنشائها على ثلاث شبكات فرعية: Frontend وDed-tier و Backend مع أربعة اتصالات داخلية: DefaultSiteHQ وثلاثة فروع.
  • يمكنك تحديد الموقع الافتراضي لبوابة VPN الخاصة بك باستخدام PowerShell، والذي يفرض إعادة جميع حركة مرور الإنترنت إلى الموقع المحلي. لا يمكن تكوين الموقع الافتراضي باستخدام مدخل Microsoft Azure.
  • يتم تعيين الشبكة الفرعية للواجهة الأمامية UDR لإرسال حركة مرور الإنترنت مباشرة إلى الإنترنت، متجاوزة بوابة VPN. يتم توجيه حركة المرور الأخرى بشكل طبيعي.
  • تستمر الشبكات الفرعية للطبقة المتوسطة والخلفية في توجيه حركة مرور الإنترنت نفقيا مرة أخرى إلى الموقع المحلي عبر بوابة VPN لأنه تم تحديد موقع افتراضي.

إنشاء شبكة ظاهرية والشبكات الفرعية

أولا، قم بإنشاء بيئة الاختبار. يمكنك إما استخدام Azure Cloud Shell، أو يمكنك تشغيل PowerShell محليا. ولمزيد من المعلومات، اطلع على كيفية تثبيت Azure PowerShell وتكوينه.

إشعار

قد ترى تحذيرات تقول "سيتم تعديل نوع عنصر الإخراج لهذا cmdlet في إصدار مستقبلي". هذا سلوك متوقع ويمكنك تجاهل هذه التحذيرات بأمان.

  1. أنشئ مجموعة موارد باستخدام New-AzResourceGroup.

    New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
    
  2. إنشاء الشبكة الظاهرية باستخدام New-AzVirtualNetwork.

    $vnet = New-AzVirtualNetwork `
    -ResourceGroupName "TestRG1" `
    -Location "EastUS" `
    -Name "VNet1" `
    -AddressPrefix 10.1.0.0/16
    
  3. إنشاء شبكات فرعية باستخدام 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
    
  4. اكتب تكوينات الشبكة الفرعية إلى الشبكة الظاهرية باستخدام Set-AzVirtualNetwork، الذي ينشئ الشبكات الفرعية في الشبكة الظاهرية:

    $vnet | Set-AzVirtualNetwork
    

إنشاء بوابات شبكة محلية

في هذا القسم، قم بإنشاء بوابات الشبكة المحلية للمواقع باستخدام New-AzLocalNetworkGateway. هناك توقف مؤقت طفيف بين كل أمر عند إنشاء كل بوابة شبكة محلية. في هذا المثال، -GatewayIpAddress القيم هي عناصر نائبة. لإجراء اتصال، تحتاج إلى استبدال هذه القيم لاحقا بعناوين IP العامة لأجهزة VPN المحلية المعنية.

$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 عام وإنشاء بوابة VPN المقترنة بكائن عنوان IP العام. يتم استخدام عنوان IP العام عند توصيل جهاز VPN محلي أو خارجي ببوابة VPN للاتصالات المحلية.

  1. طلب عنوان IP عام لبوابة VPN الخاصة بك باستخدام New-AzPublicIpAddress.

    $gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
    
  2. إنشاء تكوين عنوان IP للبوابة باستخدام New-AzVirtualNetworkGatewayIpConfig. تتم الإشارة إلى هذا التكوين عند إنشاء بوابة 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
    
  3. إنشاء بوابة الشبكة الظاهرية مع نوع البوابة "Vpn" باستخدام New-AzVirtualNetworkGateway. قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتمادا على بوابة SKU المحددة التي تحددها.

    في هذا المثال، نستخدم VpnGw2، الجيل 2 SKU. إذا ظهرت لك أخطاء ValidateSet المتعلقة بقيمة GatewaySKU، فتحقق من تثبيت أحدث إصدار من cmdlets PowerShell. يحتوي الإصدار الأخير على القيم الجديدة التي تم التحقق من صحتها لأحدث وحدات SKU للبوابة.

    New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

تكوين الاتصال النفقي القسري - الموقع الافتراضي

قم بتكوين النفق المفروض عن طريق تعيين موقع افتراضي إلى بوابة الشبكة الظاهرية. إذا لم تحدد موقعا افتراضيا، فلن يتم فرض حركة مرور الإنترنت عبر بوابة VPN، وبدلا من ذلك، ستعبر مباشرة إلى الإنترنت لجميع الشبكات الفرعية (بشكل افتراضي).

لتعيين موقع افتراضي للبوابة، يمكنك استخدام المعلمة -GatewayDefaultSite . تأكد من تعيين هذا بشكل صحيح.

  1. أولا، قم بتعريف المتغيرات التي تحدد معلومات بوابة الشبكة الظاهرية وبوابة الشبكة المحلية للموقع الافتراضي، وفي هذه الحالة، DefaultSiteHQ.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. بعد ذلك، قم بتعيين الموقع الافتراضي لبوابة الشبكة الظاهرية باستخدام Set-AzVirtualNetworkGatewayDefaultSite.

    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    

في هذه المرحلة، يتم الآن تكوين جميع حركة المرور المرتبطة بالإنترنت ليتم فرض توجيهها نفقيا إلى DefaultSiteHQ. يجب تكوين جهاز VPN المحلي باستخدام 0.0.0.0/0 كمحددات نقل البيانات.

  • إذا كنت تريد تكوين الاتصال النفقي القسري فقط، وعدم توجيه حركة مرور الإنترنت مباشرة إلى الإنترنت لشبكات فرعية معينة، يمكنك التخطي إلى قسم إنشاء الاتصال في هذه المقالة لإنشاء اتصالاتك.
  • إذا كنت تريد أن ترسل شبكات فرعية معينة نسبة استخدام الشبكة المرتبطة بالإنترنت مباشرة إلى الإنترنت، فتابع الأقسام التالية لتكوين UDRs المخصصة وتعيين المسارات.

توجيه نسبة استخدام الشبكة المرتبطة بالإنترنت لشبكات فرعية معينة

كخيار، إذا كنت تريد إرسال حركة المرور المرتبطة بالإنترنت مباشرة إلى الإنترنت لشبكات فرعية معينة (بدلا من الشبكة المحلية)، فاستخدم الخطوات التالية. تنطبق هذه الخطوات على التوجيه النفقي المفروض الذي تم تكوينه إما عن طريق تحديد موقع افتراضي أو تم تكوينه عبر BGP.

إنشاء جداول المسارات والمسارات

لتحديد أن نسبة استخدام الشبكة المرتبطة بالإنترنت يجب أن تنتقل مباشرة إلى الإنترنت، قم بإنشاء جدول التوجيه والمسار الضروريين. ستقوم لاحقا بتعيين جدول التوجيه إلى الشبكة الفرعية للواجهة الأمامية.

  1. إنشاء جداول التوجيه باستخدام New-AzRouteTable.

    $routeTable1 = New-AzRouteTable `
    -Name 'RouteTable1' `
    -ResourceGroupName "TestRG1" `
    -location "EastUS"
    
  2. إنشاء مسارات باستخدام cmdlets التالية: GetAzRouteTable وAdd-AzRouteConfig و Set-AzRouteConfig. إنشاء مسار لنوع الوثب التالي "الإنترنت" في RouteTable1. يتم تعيين هذا المسار لاحقا إلى الشبكة الفرعية للواجهة الأمامية.

    Get-AzRouteTable `
       -ResourceGroupName "TestRG1" `
       -Name "RouteTable1" `
       | Add-AzRouteConfig `
       -Name "ToInternet" `
       -AddressPrefix 0.0.0.0/0 `
       -NextHopType "Internet" `
       | Set-AzRouteTable
    

تعيين المسارات

في هذا القسم، يمكنك تعيين جدول التوجيه والمسارات إلى الشبكة الفرعية للواجهة الأمامية باستخدام أوامر PowerShell التالية: GetAzRouteTable و Set-AzRouteConfig و Set-AzVirtualNetwork.

  1. قم بتعيين الشبكة الفرعية للواجهة الأمامية إلى RouteTable1 مع التوجيه "ToInternet" الذي يحدد 0.0.0.0/0 مع إنترنت القفزة التالية.

    $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-AzVirtualNetworkGateway الاتصال ion لإنشاء اتصالات S2S.

  1. قم بتعريف المتغيرات الخاصة بك.

    $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"
    
  2. إنشاء الاتصالات.

    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"
    
  3. لعرض اتصال، استخدم المثال التالي. قم بتعديل أي قيم ضرورية لتحديد الاتصال الذي تريد عرضه.

    Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1"
    

الخطوات التالية

لمزيد من المعلومات حول بوابة VPN، راجع الأسئلة المتداولة حول بوابة VPN.