تكوين شبكة VPN من موقع إلى موقع عبر نظير Microsoft ExpressRoute
تساعدك هذه المقالة في تكوين اتصال مشفر آمن بين شبكتك المحلية وشبكات Azure الظاهرية (VNets) عبر اتصال ExpressRoute خاص. يمكنك استخدام إقران Microsoft لتأسيس نفق IPsec/IKE VPN من موقع إلى موقع بين شبكاتك المحلية المحددة وشبكات Azure الظاهرية. يتيح تكوين نفق آمن عبر ExpressRoute تبادل البيانات مع الحفاظ على السرية ومنع إعادة التشغيل والموثوقية والسلامة.
إشعار
عند إعداد VPN من موقع إلى موقع عبر إقران Microsoft، تُحاسب على تكلفة بوابة VPN وانتشارها. لمزيد من المعلومات، راجع أسعار VPN Gateway.
تستخدم الخطوات والأمثلة الموجودة في هذه المقالة الوحدات النمطية Azure PowerShell Az. لتثبيت وحدات Az النمطية محليا على جهاز الكمبيوتر الخاص بك، راجع تثبيت Azure PowerShell. لمعرفة المزيد حول الوحدة النمطية Az الجديدة، راجع تقديم الوحدة النمطية Azure PowerShell Az الجديدة. تحديث cmdlets PowerShell بشكل متكرر إذا لم تكن تستخدم أحدث إصدار، فقد تفشل القيم المُحددة في الإرشادات. للعثور على الإصدارات المثبتة من PowerShell على النظام الخاص بك، استخدم Get-Module -ListAvailable Az
cmdlet.
بناء الأنظمة
التوفر العالي والتكرار، يمكنك تكوين أنفاق متعددة عبر أزواج MSEE-PE لدائرة ExpressRoute وتمكين موازنة الحمل بين الأنفاق.
يمكن إنهاء أنفاق VPN عبر التناظر من Microsoft إما باستخدام بوابة VPN، أو باستخدام جهاز ظاهري للشبكة مناسب (NVA) متاح من خلال Azure Marketplace. يمكنك تبادل التوجيهات بشكل ثابت أو ديناميكي عبر الأنفاق المشفرة دون كشف تبادل التوجيه إلى إقران Microsoft الأساسي. في الأمثلة الواردة في هذه المقالة، يُستخدم BGP (يختلف عن جلسة BGP المستخدمة لإنشاء نظير Microsoft) لتبادل البادئات ديناميكياً عبر الأنفاق المشفرة.
هام
بالنسبة إلى الجانب المحلي، عادة ما يتم إنهاء إقران Microsoft على DMZ ويتم إنهاء الإقران الخاص على منطقة الشبكة الأساسية. ويتم فصل المنطقتين باستخدام جدران الحماية. إذا كنت تقوم بتكوين إقران Microsoft بصورة حصرية لتمكين الاتصال النفقي الآمن عبر ExpressRoute، فتذكر التصفية من خلال عناوين IP العامة ذات الأهمية فقط والتي يتم الإعلان عنها من خلال إقران Microsoft.
سير العمل
- قم بتكوين إقران Microsoft لدائرة ExpressRoute.
- أعلن عن بادئات عامة إقليمية محددة من Azure على شبكتك المحلية عبر إقران Microsoft.
- تكوين بوابة VPN وإنشاء أنفاق IPsec
- قم بتكوين جهاز VPN المحلي.
- أنشئ اتصال IPsec/IKE من موقع إلى موقع.
- (اختياري) قم بتكوين جدران الحماية/التصفية على جهاز VPN المحلي.
- اختبر اتصال IPsec وتحقق من صحته عبر دائرة ExpressRoute.
1. تكوين تناظر Microsoft
لتكوين اتصال VPN من موقع إلى موقع عبر ExpressRoute، يجب استخدام نظير ExpressRoute Microsoft.
لتكوين دائرة ExpressRoute جديدة، ابدأ بمقالة المتطلبات الأساسية لـ ExpressRoute، ثم أنشئ دائرة ExpressRoute وعدّلها.
إذا كان لديك بالفعل دائرة ExpressRoute، ولكن لم يتم تكوين نظير Microsoft، فبادر بتكوين نظير Microsoft باستخدام مقالة إنشاء وتعديل التناظر لدائرة ExpressRoute.
بمجرد تكوين الدائرة ونظير Microsoft، يمكنك عرضها بسهولة باستخدام صفحة Overview في مدخل Microsoft Azure.
تكوين عوامل تصفية الطريق
يتيح لك عامل تصفية التوجيه تحديد الخدمات التي تريد استخدامها من خلال إقران Microsoft الخاص بدائرة ExpressRoute. إنها في الأساس قائمة السماح لجميع قيم مجتمع BGP.
في هذا المثال، يكون النشر فقط في منطقة Azure West US 2. أضيفت قاعدة تصفية المسار للسماح فقط بإعلان البادئات الإقليمية Azure West US 2، التي لها قيمة مجتمع BGP 12076:51026. أنت تحدد البادئات الإقليمية التي تريد السماح بها عن طريق تحديد إدارة القاعدة.
داخل مرشح المسار، تحتاج أيضاً إلى اختيار دوائر ExpressRoute التي ينطبق عليها مرشح المسار. يمكنك اختيار دوائر ExpressRoute بتحديد إضافة دائرة. في الشكل السابق، يرتبط عامل تصفية المسار بدائرة ExpressRoute النموذجية.
2.1 قم بتكوين عامل تصفية المسار
تكوين مرشح الطريق. لمعرفة الخطوات، راجع تكوين عوامل تصفية المسار لنظير Microsoft.
2.2 التحقق من مسارات BGP
بمجرد إنشاء نظير Microsoft عبر دائرة ExpressRoute بنجاح وربط عامل تصفية التوجيه بالدائرة، يمكنك التحقق من مسارات BGP المستلمة من Microsoft Enterprise Edge (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 يحسن قابلية الوصول العالية.
عبر زوج نفق IPsec، تُنشأ جلسة eBGP لتبادل مسارات الشبكة الخاصة. يوضح الرسم البياني التالي جلسة eBGP المنشأة عبر زوج نفق IPsec:
يوضح الرسم البياني التالي نظرة عامة ملخصة لشبكة المثال:
حول أمثلة قوالب Azure Resource Manager
في الأمثلة، تكوين بوابة VPN وإنهاء نفق IPsec باستخدام قالب Azure Resource Manager. إذا كنت جديدا على استخدام قوالب Resource Manager، أو لفهم أساسيات قالب Resource Manager، فشاهد فهم بنية وبناء جملة قوالب Azure Resource Manager. ينشئ القالب في هذا القسم بيئة Azure للحقل الأخضر (الشبكة الظاهرية). ومع ذلك، إذا كان لديك شبكة ظاهرية موجودة، يمكنك الرجوع إليها في القالب. إذا لم تكن على دراية بتكوينات بوابة 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 إنشاء شبكة ظاهرية (شبكة ظاهرية)
إذا كنت تقوم بربط شبكة ظاهرية موجودة بأنفاق 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": "Static"
},
"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": "Static"
},
"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": "Static",
"subnet": {
"id": "[variables('gatewaySubnetRef')]"
},
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName1'))]"
}
},
"name": "vnetGtwConfig1"
},
{
"properties": {
"privateIPAllocationMethod": "Static",
"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 الخاص بك، فأنت بحاجة إلى العناصر التالية:
- مفتاح مشترك. هذه القيمة هي نفس المفتاح المشترك الذي تحدده عند إنشاء اتصال 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
لا يتغير بروتوكول الخط على واجهة النفق الظاهري (VTI) إلى "up" حتى تكتمل المرحلة 2 من 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 الظاهرية
إذا كانت أنفاق 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