تكوين شبكة VPN من موقع إلى موقع عبر نظير Microsoft ExpressRoute

تساعدك هذه المقالة في تكوين اتصال مشفر آمن بين شبكتك المحلية وشبكات Azure الظاهرية (NET.s) عبر اتصال ExpressRoute خاص. يمكنك استخدام إقران Microsoft لتأسيس نفق IPsec/IKE VPN من موقع إلى موقع بين شبكاتك المحلية المحددة وشبكات Azure الظاهرية. يتيح تكوين نفق آمن عبر ExpressRoute تبادل البيانات مع الحفاظ على السرية ومنع إعادة التشغيل والموثوقية والسلامة.

ملاحظة

عند إعداد VPN من موقع إلى موقع عبر إقران Microsoft، تُحاسب على تكلفة بوابة VPN وانتشارها. لمزيد من المعلومات، راجع أسعار VPN Gateway.

تستخدم الخطوات والأمثلة الموجودة في هذه المقالة الوحدات النمطية Azure PowerShell Az. لتثبيت وحدات Az النمطية محلياً على جهاز الكمبيوتر لديك، اطّلع على ⁧⁩تثبيت Azure PowerShell⁧⁩. لمعرفة المزيد حول وحدة Az النمطية الجديدة، اطّلع على ⁧⁩تقديم وحدة Azure PowerShell Az النمطية الجديدة⁧⁩. يتم تحديث PowerShell cmdlets بشكل متكرر. إذا لم تكن تستخدم أحدث إصدار، فقد تفشل القيم المُحددة في الإرشادات. للبحث عن الإصدارات التي تم تثبيتها من PowerShell على نظام تشغيل جهازك، استخدِم ⁧Get-Module -ListAvailable Az⁩ cmdlet.

التصميم

connectivity overview

التوفر العالي والتكرار، يمكنك تكوين أنفاق متعددة عبر أزواج MSEE-PE لدائرة ExpressRoute وتمكين موازنة الحمل بين الأنفاق.

high availability options

يمكن إنهاء أنفاق VPN عبر التناظر من Microsoft إما باستخدام بوابة VPN، أو باستخدام جهاز ظاهري للشبكة مناسب (NVA) متاح من خلال Azure Marketplace. يمكنك تبادل التوجيهات بشكل ثابت أو ديناميكي عبر الأنفاق المشفرة دون كشف تبادل التوجيه إلى إقران Microsoft الأساسي. في الأمثلة الواردة في هذه المقالة، يُستخدم BGP (يختلف عن جلسة BGP المستخدمة لإنشاء نظير Microsoft) لتبادل البادئات ديناميكياً عبر الأنفاق المشفرة.

هام

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

سير العمل

  1. قم بتكوين إقران Microsoft لدائرة ExpressRoute.
  2. أعلن عن بادئات عامة إقليمية محددة من Azure على شبكتك المحلية عبر إقران Microsoft.
  3. تكوين بوابة VPN وإنشاء أنفاق IPsec
  4. قم بتكوين جهاز VPN المحلي.
  5. أنشئ اتصال IPsec/IKE من موقع إلى موقع.
  6. (اختياري) قم بتكوين جدران الحماية/التصفية على جهاز VPN المحلي.
  7. اختبر اتصال IPsec وتحقق من صحته عبر دائرة ExpressRoute.

1. تكوين تناظر Microsoft

لتكوين اتصال VPN من موقع إلى موقع عبر ExpressRoute، يجب عليك الاستفادة من تناظر ExpressRoute Microsoft.

بمجرد تكوين دائرتك ونظام نظير Microsoft، يمكنك مشاهدته بسهولة باستخدام صفحة نظرة عامة في مدخل Microsoft Azure.

circuit

تكوين عوامل تصفية الطريق

يتيح لك عامل تصفية التوجيه تحديد الخدمات التي تريد استخدامها من خلال إقران Microsoft الخاص بدائرة ExpressRoute. هي في الأساس قائمة مسموح بها لجميع قيم مجتمع BGP.

route filter

في هذا المثال، يكون النشر فقط في منطقة Azure West US 2. أضيفت قاعدة تصفية المسار للسماح فقط بإعلان البادئات الإقليمية Azure West US 2، التي لها قيمة مجتمع BGP 12076:51026. أنت تحدد البادئات الإقليمية التي تريد السماح بها عن طريق تحديد إدارة القاعدة.

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

2.1 قم بتكوين عامل تصفية المسار

تكوين عامل تصفية الطريق. لمعرفة الخطوات، راجع تكوين عوامل تصفية المسار لنظير Microsoft.

2.2 التحقق من مسارات BGP

بمجرد نجاحك في إنشاء Microsoft لتناظر دائرة ExpressRoute الخاصة بك وربط عامل تصفية المسار بالدائرة، يمكنك التحقق من مسارات BGP المستلمة من MSEEs على أجهزة PE التي تتطابق مع MSEEs. يختلف أمر التحقق اعتماداً على نظام تشغيل أجهزة PE الخاصة بك.

أمثلة Cisco

يستخدم هذا المثال أمر Cisco IOS-XE. في المثال، يُستخدم مثيل توجيه وإعادة توجيه افتراضي (VRF) لعزل حركة مرور نظير.

show ip bgp vpnv4 vrf 10 summary

يُظهر الإخراج الجزئي التالي أنه تم استلام 68 بادئة من بكسل مصدر *.243.229.34 مع ASN 12076 (MSEE):

...

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
X.243.229.34    4        12076   17671   17650    25228    0    0 1w4d           68

لمشاهدة قائمة البادئات المتلقاة من الجار، استخدم المثال التالي:

sh ip bgp vpnv4 vrf 10 neighbors X.243.229.34 received-routes

لتأكيد تلقى مجموعة البادئات الصحيحة، يمكنك التحقق المتبادل. يسرد إخراج أمر Azure PowerShell التالي البادئات المُعلن عنها عبر تناظر Microsoft لكل خدمة ولكل منطقة من مناطق Azure:

Get-AzBgpServiceCommunity

3- تكوين بوابة VPN وأنفاق IPsec

في هذا القسم، تُنشأ أنفاق IPsec VPN بين مدخل Microsoft Azure VPN وجهاز VPN المحلي. تستخدم الأمثلة أجهزة VPN من Cisco Cloud Service Router (CSR1000).

يُظهر الرسم التخطيطي التالي أنفاق IPsec VPN المنشئة بين جهاز VPN المحلي 1 وزوج مثيل عبّارة Azure VPN. لم تُوضح أنفاق IPsec VPN المنشأة بين جهاز VPN المحلي 2 وزوج مثيل عبّارة Azure VPN في الرسم التخطيطي، ولا تُسرد تفاصيل التكوين. ومع ذلك، فإن وجود أنفاق VPN إضافية يحسن التوافر العالي.

VPN tunnels

عبر زوج نفق IPsec، تُنشأ جلسة eBGP لتبادل مسارات الشبكة الخاصة. يوضح الرسم البياني التالي جلسة eBGP المنشأة عبر زوج نفق IPsec:

eBGP sessions over tunnel pair

يوضح الرسم البياني التالي نظرة عامة ملخصة لشبكة المثال:

example network

حول أمثلة قوالب Azure Resource Manager

في الأمثلة، تكوين بوابة VPN وإنهاء نفق IPsec باستخدام قالب Azure Resource Manager. إذا كنت حديث العهد باستخدام قوالب إدارة الموارد، أو لفهم أساسيات قالب إدارة الموارد، راجع التعرف على بنية وبناء جملة قوالب Azure Resource Manager. يُنشئ القالب في هذا القسم بيئة Azure خضراء (NET.). ومع ذلك، إذا كان لديك NET. موجود، فيمكنك الرجوع إليه في القالب. إذا لم تكن معتاداً على تكوينات بوابة VPN IPsec/IKE من موقع إلى موقع، فراجع إنشاء اتصال من موقع إلى موقع.

ملاحظة

لا تحتاج إلى استخدام قوالب Azure Resource Manager لإنشاء هذا التكوين. يمكنك إنشاء هذا التكوين باستخدام مدخل Microsoft Azure أو PowerShell.

3.1 تعريف المتغيرات

في هذا المثال، تتوافق التصريحات المتغيرة مع مثال الشبكة. عند التصريح بالمتغيرات، عدِّل هذا القسم ليعكس بيئتك.

  • المتغير localAddressPrefix عبارة عن مجموعة من عناوين IP المحلية لإنهاء أنفاق IPsec.
  • تحدد gatewaySku معدل نقل VPN. لمزيد من المعلومات حول gatewaySku وvpnType، راجع إعدادات تكوين بوابة VPN. لمعرفة الأسعار، راجع أسعار VPN Gateway.
  • اضبط vpnType على RouteBased.
"variables": {
  "virtualNetworkName": "SecureVNet",       // Name of the Azure VNet
  "azureVNetAddressPrefix": "10.2.0.0/24",  // Address space assigned to the VNet
  "subnetName": "Tenant",                   // subnet name in which tenants exists
  "subnetPrefix": "10.2.0.0/25",            // address space of the tenant subnet
  "gatewaySubnetPrefix": "10.2.0.224/27",   // address space of the gateway subnet
  "localGatewayName": "localGW1",           // name of remote gateway (on-premises)
  "localGatewayIpAddress": "X.243.229.110", // public IP address of the on-premises VPN device
  "localAddressPrefix": [
    "172.16.0.1/32",                        // termination of IPsec tunnel-1 on-premises 
    "172.16.0.2/32"                         // termination of IPsec tunnel-2 on-premises 
  ],
  "gatewayPublicIPName1": "vpnGwVIP1",    // Public address name of the first VPN gateway instance
  "gatewayPublicIPName2": "vpnGwVIP2",    // Public address name of the second VPN gateway instance 
  "gatewayName": "vpnGw",                 // Name of the Azure VPN gateway
  "gatewaySku": "VpnGw1",                 // Azure VPN gateway SKU
  "vpnType": "RouteBased",                // type of VPN gateway
  "sharedKey": "string",                  // shared secret needs to match with on-premises configuration
  "asnVpnGateway": 65000,                 // BGP Autonomous System number assigned to the VPN Gateway 
  "asnRemote": 65010,                     // BGP Autonmous Syste number assigned to the on-premises device
  "bgpPeeringAddress": "172.16.0.3",      // IP address of the remote BGP peer on-premises
  "connectionName": "vpn2local1",
  "vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
  "gatewaySubnetRef": "[concat(variables('vnetID'),'/subnets/','GatewaySubnet')]",
  "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
  "api-version": "2017-06-01"
},

3.2 إنشاء شبكة ظاهرية (NET.)

إذا كنت تربط شبكة NET. موجودة بأنفاق VPN، فيمكنك تخطي هذه الخطوة.

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/virtualNetworks",
  "name": "[variables('virtualNetworkName')]",
  "location": "[resourceGroup().location]",
  "properties": {
    "addressSpace": {
      "addressPrefixes": [
        "[variables('azureVNetAddressPrefix')]"
      ]
    },
    "subnets": [
      {
        "name": "[variables('subnetName')]",
        "properties": {
          "addressPrefix": "[variables('subnetPrefix')]"
        }
      },
      {
        "name": "GatewaySubnet",
        "properties": {
          "addressPrefix": "[variables('gatewaySubnetPrefix')]"
        }
      }
    ]
  },
  "comments": "Create a Virtual Network with Subnet1 and Gatewaysubnet"
},

3.3 تعيين عناوين IP العامة لمثيلات بوابة VPN

عيِِّن عنوان IP عام لكل مثيل من بوابة VPN.

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/publicIPAddresses",
    "name": "[variables('gatewayPublicIPName1')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "publicIPAllocationMethod": "Dynamic"
    },
    "comments": "Public IP for the first instance of the VPN gateway"
  },
  {
    "apiVersion": "[variables('api-version')]",
    "type": "Microsoft.Network/publicIPAddresses",
    "name": "[variables('gatewayPublicIPName2')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "publicIPAllocationMethod": "Dynamic"
    },
    "comments": "Public IP for the second instance of the VPN gateway"
  },

3.4 تحديد إنهاء نفق VPN المحلي (بوابة الشبكة المحلية)

يشار إلى أجهزة VPN المحلية باسم بوابة الشبكة المحلية. تحدد مقتطف القصاصة البرمجية json التالي أيضاً تفاصيل نظير BGP البعيد:

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/localNetworkGateways",
  "name": "[variables('localGatewayName')]",
  "location": "[resourceGroup().location]",
  "properties": {
    "localNetworkAddressSpace": {
      "addressPrefixes": "[variables('localAddressPrefix')]"
    },
    "gatewayIpAddress": "[variables('localGatewayIpAddress')]",
    "bgpSettings": {
      "asn": "[variables('asnRemote')]",
      "bgpPeeringAddress": "[variables('bgpPeeringAddress')]",
      "peerWeight": 0
    }
  },
  "comments": "Local Network Gateway (referred to your on-premises location) with IP address of remote tunnel peering and IP address of remote BGP peer"
},

3.5 إنشاء بوابة VPN

يقوم هذا القسم من القالب بتكوين بوابة VPN بالإعدادات المطلوبة للتكوين النشط. ضع في اعتبارك المتطلبات التالية:

  • أنشئ بوابة VPN باستخدام "RouteBased" VpnType. يعد هذا الإعداد إلزامياً إذا كنت تريد تمكين توجيه BGP بين بوابة VPN وVPN المحلية.
  • لإنشاء أنفاق VPN بين مثيلي بوابة VPN وجهاز محلي معين في الوضع active-active، يتم تعيين معلمة "activeActive" على true في Azure Resource Manager. لفهم المزيد حول بوابات VPN عالية التوفر، راجع اتصال عالي التوفر بمدخل VPN.
  • لتكوين جلسات eBGP بين أنفاق VPN، يجب عليك تحديد اسمي ASN مختلفين على كلا الجانبين. يفضل تحديد أرقام ASN الخاصة. لمزيد من المعلومات، راجع نظرة عامة على بوابات BGP وAzure VPN.
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/virtualNetworkGateways",
"name": "[variables('gatewayName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
  "[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName1'))]",
  "[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName2'))]",
  "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
],
"properties": {
  "ipConfigurations": [
    {
      "properties": {
        "privateIPAllocationMethod": "Dynamic",
        "subnet": {
          "id": "[variables('gatewaySubnetRef')]"
        },
        "publicIPAddress": {
          "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName1'))]"
        }
      },
      "name": "vnetGtwConfig1"
    },
    {
      "properties": {
        "privateIPAllocationMethod": "Dynamic",
        "subnet": {
          "id": "[variables('gatewaySubnetRef')]"
        },
        "publicIPAddress": {
          "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName2'))]"
        }
      },
          "name": "vnetGtwConfig2"
        }
      ],
      "sku": {
        "name": "[variables('gatewaySku')]",
        "tier": "[variables('gatewaySku')]"
      },
      "gatewayType": "Vpn",
      "vpnType": "[variables('vpnType')]",
      "enableBgp": true,
      "activeActive": true,
      "bgpSettings": {
        "asn": "[variables('asnVpnGateway')]"
      }
    },
    "comments": "VPN Gateway in active-active configuration with BGP support"
  },

3.6 إنشاء أنفاق IPsec

يُنشئ الإجراء النهائي للبرنامج النصي أنفاق IPsec بين مدخل Microsoft Azure VPN وجهاز VPN المحلي.

{
  "apiVersion": "[variables('api-version')]",
  "name": "[variables('connectionName')]",
  "type": "Microsoft.Network/connections",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[concat('Microsoft.Network/virtualNetworkGateways/', variables('gatewayName'))]",
    "[concat('Microsoft.Network/localNetworkGateways/', variables('localGatewayName'))]"
  ],
  "properties": {
    "virtualNetworkGateway1": {
      "id": "[resourceId('Microsoft.Network/virtualNetworkGateways', variables('gatewayName'))]"
    },
    "localNetworkGateway2": {
      "id": "[resourceId('Microsoft.Network/localNetworkGateways', variables('localGatewayName'))]"
    },
    "connectionType": "IPsec",
    "routingWeight": 0,
    "sharedKey": "[variables('sharedKey')]",
    "enableBGP": "true"
  },
  "comments": "Create a Connection type site-to-site (IPsec) between the Azure VPN Gateway and the VPN device on-premises"
  }

4- قم بتكوين جهاز VPN المحلي

مدخل Microsoft Azure VPN متوافقة مع العديد من أجهزة VPN من بائعين مختلفين. للحصول على معلومات التكوين والأجهزة التي المتحقق من صحتها للعمل مع بوابة VPN، راجع حول أجهزة VPN.

عند تكوين جهاز VPN الخاص بك، فأنت بحاجة إلى العناصر التالية:

  • مفتاح مشترك. هذا هو نفس المفتاح المشترك الذي تحدده عند إنشاء اتصال شبكة محلية موقع إلى موقع. تستخدم الأمثلة مفتاحاً مشتركاً أساسياً. نوصي بإنشاء مفتاح أكثر تعقيداً لاستخدامه.
  • عنوان IP العام لبوابة VPN الخاصة بك. يمكنك عرض عنوان IP العام باستخدام مدخل Microsoft Azure أو PowerShell أو CLI. للعثور على عنوان IP العام لبوابة VPN الخاصة بك باستخدام مدخل Microsoft Azure، انتقل إلى بوابات الشبكة الظاهرية، ثم انقر فوق اسم البوابة الخاصة بك.

عادةً ما يكون نظراء eBGP مرتبطين بشكل مباشر (غالباً عبر اتصال WAN). ومع ذلك، عند تكوين eBGP عبر أنفاق IPsec VPN عبر نظير ExpressRoute Microsoft، فهناك مجالات توجيه متعددة بين نظراء eBGP. استخدم الأمر ebgp-multihop لتأسيس علاقة جوار eBGP بين النظيرين غير المتصلين بشكل مباشر. يحدد العدد الصحيح الذي يتبع الأمر ebgp-multihop قيمة TTL في حزم BGP. يتيح الأمر max-paths eibgp 2 موازنة تحميل نسبة استخدام الشبكة بين مسارين BGP.

مثال Cisco CSR1000

يوضح المثال التالي تكوين Cisco CSR1000 في جهاز ظاهري Hyper-V بوصفه جهاز VPN محلي:

!
crypto ikev2 proposal az-PROPOSAL
 encryption aes-cbc-256 aes-cbc-128 3des
 integrity sha1
 group 2
!
crypto ikev2 policy az-POLICY
 proposal az-PROPOSAL
!
crypto ikev2 keyring key-peer1
 peer azvpn1
  address 52.175.253.112
  pre-shared-key secret*1234
 !
!
crypto ikev2 keyring key-peer2
 peer azvpn2
  address 52.175.250.191
  pre-shared-key secret*1234
 !
!
!
crypto ikev2 profile az-PROFILE1
 match address local interface GigabitEthernet1
 match identity remote address 52.175.253.112 255.255.255.255
 authentication remote pre-share
 authentication local pre-share
 keyring local key-peer1
!
crypto ikev2 profile az-PROFILE2
 match address local interface GigabitEthernet1
 match identity remote address 52.175.250.191 255.255.255.255
 authentication remote pre-share
 authentication local pre-share
 keyring local key-peer2
!
crypto ikev2 dpd 10 2 on-demand
!
!
crypto ipsec transform-set az-IPSEC-PROPOSAL-SET esp-aes 256 esp-sha-hmac
 mode tunnel
!
crypto ipsec profile az-VTI1
 set transform-set az-IPSEC-PROPOSAL-SET
 set ikev2-profile az-PROFILE1
!
crypto ipsec profile az-VTI2
 set transform-set az-IPSEC-PROPOSAL-SET
 set ikev2-profile az-PROFILE2
!
!
interface Loopback0
 ip address 172.16.0.3 255.255.255.255
!
interface Tunnel0
 ip address 172.16.0.1 255.255.255.255
 ip tcp adjust-mss 1350
 tunnel source GigabitEthernet1
 tunnel mode ipsec ipv4
 tunnel destination 52.175.253.112
 tunnel protection ipsec profile az-VTI1
!
interface Tunnel1
 ip address 172.16.0.2 255.255.255.255
 ip tcp adjust-mss 1350
 tunnel source GigabitEthernet1
 tunnel mode ipsec ipv4
 tunnel destination 52.175.250.191
 tunnel protection ipsec profile az-VTI2
!
interface GigabitEthernet1
 description External interface
 ip address x.243.229.110 255.255.255.252
 negotiation auto
 no mop enabled
 no mop sysid
!
interface GigabitEthernet2
 ip address 10.0.0.1 255.255.255.0
 negotiation auto
 no mop enabled
 no mop sysid
!
router bgp 65010
 bgp router-id interface Loopback0
 bgp log-neighbor-changes
 network 10.0.0.0 mask 255.255.255.0
 network 10.1.10.0 mask 255.255.255.128
 neighbor 10.2.0.228 remote-as 65000
 neighbor 10.2.0.228 ebgp-multihop 5
 neighbor 10.2.0.228 update-source Loopback0
 neighbor 10.2.0.228 soft-reconfiguration inbound
 neighbor 10.2.0.228 filter-list 10 out
 neighbor 10.2.0.229 remote-as 65000	
 neighbor 10.2.0.229 ebgp-multihop 5
 neighbor 10.2.0.229 update-source Loopback0
 neighbor 10.2.0.229 soft-reconfiguration inbound
 maximum-paths eibgp 2
!
ip route 0.0.0.0 0.0.0.0 10.1.10.1
ip route 10.2.0.228 255.255.255.255 Tunnel0
ip route 10.2.0.229 255.255.255.255 Tunnel1
!

5- تكوين تصفية جهاز VPN والجدران النارية (اختياري)

تكوين جدار الحماية والتصفية وفقاً لمتطلباتك.

6- الاختبار والتحقق من صحة نفق IPsec

يمكن التحقق من حالة أنفاق IPsec على بوابة الشبكة الظاهرية الخاصة (VPN) لـMicrosoft Azure بواسطة أوامر PowerShell:

Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object  ConnectionStatus,EgressBytesTransferred,IngressBytesTransferred | fl

مثال على الإخراج:

ConnectionStatus        : Connected
EgressBytesTransferred  : 17734660
IngressBytesTransferred : 10538211

للتحقق من حالة الأنفاق في مثيلات عبّارة Azure VPN بشكل مستقل، استخدم المثال التالي:

Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object -ExpandProperty TunnelConnectionStatus

مثال على الإخراج:

Tunnel                           : vpn2local1_52.175.250.191
ConnectionStatus                 : Connected
IngressBytesTransferred          : 4877438
EgressBytesTransferred           : 8754071
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:30

Tunnel                           : vpn2local1_52.175.253.112
ConnectionStatus                 : Connected
IngressBytesTransferred          : 5660773
EgressBytesTransferred           : 8980589
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:13

يمكنك أيضاً التحقق من حالة النفق على جهاز VPN المحلي الخاص بك.

مثال على Cisco CSR1000:

show crypto session detail
show crypto ikev2 sa
show crypto ikev2 session detail
show crypto ipsec sa

مثال على الإخراج:

csr1#show crypto session detail

Crypto session current status

Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect

Interface: Tunnel1
Profile: az-PROFILE2
Uptime: 00:52:46
Session status: UP-ACTIVE
Peer: 52.175.250.191 port 4500 fvrf: (none) ivrf: (none)
      Phase1_id: 52.175.250.191
      Desc: (none)
  Session ID: 3
  IKEv2 SA: local 10.1.10.50/4500 remote 52.175.250.191/4500 Active
          Capabilities:DN connid:3 lifetime:23:07:14
  IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
        Active SAs: 2, origin: crypto map
        Inbound:  #pkts dec'ed 279 drop 0 life (KB/Sec) 4607976/433
        Outbound: #pkts enc'ed 164 drop 0 life (KB/Sec) 4607992/433

Interface: Tunnel0
Profile: az-PROFILE1
Uptime: 00:52:43
Session status: UP-ACTIVE
Peer: 52.175.253.112 port 4500 fvrf: (none) ivrf: (none)
      Phase1_id: 52.175.253.112
      Desc: (none)
  Session ID: 2
  IKEv2 SA: local 10.1.10.50/4500 remote 52.175.253.112/4500 Active
          Capabilities:DN connid:2 lifetime:23:07:17
  IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
        Active SAs: 2, origin: crypto map
        Inbound:  #pkts dec'ed 668 drop 0 life (KB/Sec) 4607926/437
        Outbound: #pkts enc'ed 477 drop 0 life (KB/Sec) 4607953/437

لا يتغير بروتوكول الخط الموجود على Virtual Tunnel Interface (VTI) إلى "up" حتى تكتمل المرحلة الثانية من IKE. يتحقق الأمر التالي من اقتران الأمان:

csr1#show crypto ikev2 sa

IPv4 Crypto IKEv2  SA

Tunnel-id Local                 Remote                fvrf/ivrf            Status
2         10.1.10.50/4500       52.175.253.112/4500   none/none            READY
      Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
      Life/Active Time: 86400/3277 sec

Tunnel-id Local                 Remote                fvrf/ivrf            Status
3         10.1.10.50/4500       52.175.250.191/4500   none/none            READY
      Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
      Life/Active Time: 86400/3280 sec

IPv6 Crypto IKEv2  SA

csr1#show crypto ipsec sa | inc encaps|decaps
    #pkts encaps: 177, #pkts encrypt: 177, #pkts digest: 177
    #pkts decaps: 296, #pkts decrypt: 296, #pkts verify: 296
    #pkts encaps: 554, #pkts encrypt: 554, #pkts digest: 554
    #pkts decaps: 746, #pkts decrypt: 746, #pkts verify: 746

تحقق من الاتصال الشامل بين الشبكة الداخلية المحلية وAzure NET.

إذا كانت أنفاق IPsec تعمل وعُينت المسارات الثابتة بشكل صحيح، فيجب أن تكون قادراً على اختبار اتصال عنوان IP الخاص بنظير BGP البعيد:

csr1#ping 10.2.0.228
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.228, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/5 ms

#ping 10.2.0.229
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.229, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/6 ms

تحقق من جلسات BGP عبر IPsec

على مدخل Microsoft Azure VPN، تحقق من حالة نظير BGP:

Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName vpnGtw -ResourceGroupName SEA-C1-VPN-ER | ft

مثال على الإخراج:

  Asn ConnectedDuration LocalAddress MessagesReceived MessagesSent Neighbor    RoutesReceived State    
  --- ----------------- ------------ ---------------- ------------ --------    -------------- -----    
65010 00:57:19.9003584  10.2.0.228               68           72   172.16.0.10              2 Connected
65000                   10.2.0.228                0            0   10.2.0.228               0 Unknown  
65000 07:13:51.0109601  10.2.0.228              507          500   10.2.0.229               6 Connected

للتحقق من قائمة بادئات الشبكة المتلقاة عبر eBGP من مركّز VPN المحلي، يمكنك التصفية حسب السمة "Origin":

Get-AzVirtualNetworkGatewayLearnedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG  | Where-Object Origin -eq "EBgp" |ft

في مثال الإخراج، يكون ASN 65010 هو رقم النظام المستقل BGP في VPN المحلي.

AsPath LocalAddress Network      NextHop     Origin SourcePeer  Weight
------ ------------ -------      -------     ------ ----------  ------
65010  10.2.0.228   10.1.10.0/25 172.16.0.10 EBgp   172.16.0.10  32768
65010  10.2.0.228   10.0.0.0/24  172.16.0.10 EBgp   172.16.0.10  32768

لمشاهدة قائمة المسارات المُعلن عنها:

Get-AzVirtualNetworkGatewayAdvertisedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG -Peer 10.2.0.228 | ft

مثال على الإخراج:

AsPath LocalAddress Network        NextHop    Origin SourcePeer Weight
------ ------------ -------        -------    ------ ---------- ------
       10.2.0.229   10.2.0.0/24    10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.10/32 10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.5/32  10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.1/32  10.2.0.229 Igp                  0
65010  10.2.0.229   10.1.10.0/25   10.2.0.229 Igp                  0
65010  10.2.0.229   10.0.0.0/24    10.2.0.229 Igp                  0

مثال على Cisco CSR1000 المحلي:

csr1#show ip bgp neighbors 10.2.0.228 routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.2.0.0/24      10.2.0.228                             0 65000 i
 r>   172.16.0.1/32    10.2.0.228                             0 65000 i
 r>   172.16.0.2/32    10.2.0.228                             0 65000 i
 r>   172.16.0.3/32   10.2.0.228                             0 65000 i

Total number of prefixes 4

يمكن إدراج قائمة الشبكات المُعلن عنها من Cisco CSR1000 المحلية إلى مدخل Microsoft Azure VPN باستخدام الأمر التالي:

csr1#show ip bgp neighbors 10.2.0.228 advertised-routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.0.0.0/24      0.0.0.0                  0         32768 i
 *>   10.1.10.0/25     0.0.0.0                  0         32768 i

Total number of prefixes 2

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