1. مقدمة
نظرة عامة
في هذا المختبر، سيتعرّف المستخدمون على كيفية استخدام Network Connectivity Center (NCC) لإنشاء اتصال محلي على نطاق واسع من خلال إتاحة استخدام VPC Spokes وتبادل المسارات الديناميكية. عندما يحدّد المستخدمون شبكة VPC كشبكة فرعية، يتيح لهم ذلك ربطها بشبكات VPC متعددة معًا من خلال NCC Hub. لإنشاء اتصال بالشبكة مع شبكة المستخدم المحلية، يمكنه ربط بطاقة واجهة شبكة افتراضية (NIC) لجهاز التوجيه أو اتصالات HA_VPN النفقية أو عمليات ربط شبكة VLAN للربط البيني بمركز NCC نفسه مثل أجهزة NCC VPC الطرفية.
يوفر مورد المحور نموذجًا مركزيًا لإدارة الاتصال من أجل ربط الشبكات الفرعية.
ما ستنشئه
في هذا الدرس التطبيقي حول الترميز، ستنشئ بنية منطقية على شكل مركز وشبكة فرعية باستخدام مركز NCC، ما سيؤدي إلى تنفيذ اتصال مختلط بين شبكة المؤسسة وسحابة VPC الخاصة بعبء العمل.

ما ستتعلمه
- التمييز بين شبكة VPC الخاصة بأحمال العمل وشبكة VPC الخاصة بالتوجيه
- دمج VPC spoke وHybrid Spoke في NCC
المتطلبات
- معرفة شبكة السحابة الافتراضية الخاصة (VPC) في Google Cloud Platform
- معرفة Cloud Router وتوجيه بروتوكول BGP
- مشروع Google Cloud
- تحقَّق من الحصة:الشبكات واطلب إضافة شبكات إضافية إذا لزم الأمر، كما هو موضّح في لقطة الشاشة أدناه:

الأهداف
- إعداد بيئة GCP
- إعداد Network Connectivity Center مع شبكة VPC كشبكة فرعية
- ضبط Network Connectivity Center باستخدام أنفاق HA-VPN كشبكة فرعية مختلطة
- التحقّق من صحة مسار البيانات
- استكشاف ميزات إمكانية استخدام خدمة NCC
- تنظيف الموارد المستخدَمة
قبل البدء
Google Cloud Console وCloud Shell
للتفاعل مع Google Cloud Platform، سنستخدم كلاً من Google Cloud Console وCloud Shell خلال هذا الدرس التطبيقي.
مشروع NCC Hub Google Cloud Console
يمكن الوصول إلى Cloud Console على https://console.cloud.google.com.
اضبط العناصر التالية في Google Cloud لتسهيل إعداد Network Connectivity Center:
في Google Cloud Console، في صفحة اختيار المشروع، اختَر مشروعًا على Google Cloud أو أنشِئ مشروعًا.
شغِّل Cloud Shell. يستفيد هذا الدرس التطبيقي حول الترميز من $variables للمساعدة في تنفيذ عملية ضبط gcloud في Cloud Shell.
gcloud auth list
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
region="us-central1"
zone="us-central1-a"
أدوار "إدارة الهوية وإمكانية الوصول"
تتطلّب "مركز إدارة العملاء" أدوار IAM للوصول إلى واجهات برمجة تطبيقات معيّنة. احرص على ضبط المستخدم باستخدام أدوار NCC IAM حسب الحاجة.
الدور/الوصف | الأذونات |
| networkconnectivity.hubs.networkconnectivity.spokes.networkconnectivity.gatewaynetworkconnectivity.locations. |
| networkconnectivity.gatewayAdvertisedRoutes.networkconnectivity.groups. networkconnectivity.hubRouteTables.networkconnectivity.hubRoutes.networkconnectivity.hubs. networkconnectivity.locations. networkconnectivity.operations.* networkconnectivity.spokes.*resourcemanager.projects.getresourcemanager.projects.list |
| networkconnectivity.gatewayAdvertisedRoutes.getnetworkconnectivity.gatewayAdvertisedRoutes.listnetworkconnectivity.groups.getnetworkconnectivity.groups.getIamPolicynetworkconnectivity.groups.listnetworkconnectivity.hubRouteTables.getnetworkconnectivity.hubRouteTables.getIamPolicynetworkconnectivity.hubRouteTables.listnetworkconnectivity.hubRoutes.getnetworkconnectivity.hubRoutes.getIamPolicynetworkconnectivity.hubRoutes.listnetworkconnectivity.hubs.getnetworkconnectivity.hubs.getIamPolicynetworkconnectivity.hubs.listnetworkconnectivity.hubs.listSpokesnetworkconnectivity.hubs.queryStatus networkconnectivity.locations.*networkconnectivity.spokes.getnetworkconnectivity.spokes.getIamPolicynetworkconnectivity.spokes.listresourcemanager.projects.getresourcemanager.projects.list |
2. إعداد بيئة الشبكة
نظرة عامة
في هذا القسم، سننفّذ شبكات VPC الثلاث وقواعد جدار الحماية في مشروع واحد. يوضّح المخطط المنطقي بيئة الشبكة التي سيتم إعدادها في هذه الخطوة. لأغراض هذا الدرس التطبيقي حول الترميز، سيتم استخدام شبكة VPC لمحاكاة شبكة محلية.

المفهوم الأساسي 1
توفّر شبكة Google Cloud Global VPC إمكانية الاتصال بمسار البيانات بين أكثر من 44 منطقة من مناطق GCP. Cloud Router هي خدمة إقليمية تعلن ديناميكيًا عن الشبكات الفرعية وتنشر المسارات التي تم التعرّف عليها في المنطقة التي تم فيها ضبط جهاز التوجيه أو في شبكة VPC بأكملها. يعتمد تحديد ما إذا كان سيتم نشر مسارات جهاز التوجيه السحابي على مستوى منطقة معيّنة أو على مستوى العالم على المستخدم الذي يحدّد وضع التوجيه الديناميكي: إما على مستوى منطقة معيّنة أو على مستوى العالم.
في هذا القسم، سنبدأ بضبط كل شبكة VPC باستخدام وضع التوجيه الإقليمي. في ما يلي ما تبقى من هذا الدرس التطبيقي حول الترميز:
- تحدّد "شبكة VPC للتوجيه" شبكة VPC لم يتم ضبطها كشبكة فرعية في NCC VPC.
- تحدّد "شبكة VPC الخاصة بعبء العمل" شبكة VPC تم ضبطها كشبكة فرعية في NCC.
إنشاء شبكة VPC الخاصة بأحمال العمل وشبكة فرعية
تحتوي شبكة السحابة الخاصة الافتراضية (VPC) على شبكات فرعية ستثبّت فيها آلة GCE الافتراضية للتحقّق من صحة مسار البيانات.
vpc_spoke_network_name="workload-vpc"
vpc_spoke_subnet_name="workload-subnet"
vpc_spoke_subnet_ip_range="10.0.1.0/24"
vpc_spoke_name="workload-vpc-spoke"
region="us-central1"
zone="us-central1-a"
gcloud compute networks create "${vpc_spoke_network_name}" \
--subnet-mode=custom
gcloud compute networks subnets create "${vpc_spoke_subnet_name}" \
--network="${vpc_spoke_network_name}" \
--range="${vpc_spoke_subnet_ip_range}" \
--region="${region}"
إنشاء شبكة VPC للتوجيه وشبكة فرعية
تتيح "الشبكة السحابية للاتصالات" جميع نطاقات الشبكات الفرعية الصالحة لبروتوكول IPv4 باستثناء عناوين IP العامة المستخدَمة بشكل خاص.
routing_vpc_network_name="routing-vpc"
routing_vpc_subnet_name="routing-vpc-subnet"
routing_vpc_subnet_range="10.0.2.0/24"
gcloud compute networks create "${routing_vpc_network_name}" \
--subnet-mode=custom
gcloud compute networks subnets create "${routing_vpc_subnet_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}" \
--range="${routing_vpc_subnet_range}"
إنشاء شبكة VPC محلية وشبكة فرعية
تتيح "الشبكة السحابية للاتصالات" جميع نطاقات الشبكات الفرعية الصالحة لبروتوكول IPv4 باستثناء عناوين IP العامة المستخدَمة بشكل خاص.
on_prem_network_name="on-prem-net-vpc"
on_prem_subnet_name="on-prem-subnet"
on_prem_subnet_range="10.0.3.0/24"
gcloud compute networks create "${on_prem_network_name}" \
--subnet-mode=custom
gcloud compute networks subnets create "${on_prem_subnet_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--range="${on_prem_subnet_range}"
ضبط قواعد جدار الحماية لشبكة VPC الخاصة بأحمال العمل
workload_vpc_firewall_name="workload-protocol-fw-vpc"
workload_port_firewall_name="workload-port-firewall-vpc"
gcloud compute firewall-rules create "${workload_vpc_firewall_name}" \
--network=${vpc_spoke_network_name} \
--allow="tcp,udp,icmp"
gcloud compute firewall-rules create "${workload_port_firewall_name}" \
--network=${vpc_spoke_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"
ضبط قواعد جدار الحماية وسحابة VPC الخاصة بالتوجيه
routing_vpc_fw_name="routing-vpc-protocol-fw"
routing_vpc_port_fw_name="routing-vpc--port-fw"
gcloud compute firewall-rules create "${routing_vpc_fw_name}" \
--network=${routing_vpc_network_name} \
--allow="tcp,udp,icmp"
gcloud compute firewall-rules create "${routing_vpc_port_fw_name}" \
--network=${routing_vpc_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"
ضبط شبكة VPC المحلية وقواعد جدار الحماية في شبكة VPC
prem_protocol_fw_name="onprem-vpc-protocol-firewall"
prem_port_firewall_name="onprem-vpc-port-firewall-prem"
gcloud compute firewall-rules create "${prem_protocol_fw_name}" \
--network=${on_prem_network_name} \
--allow="tcp,udp,icmp"
gcloud compute firewall-rules create "${prem_port_firewall_name}" \
--network=${on_prem_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"
ضبط جهاز GCE الافتراضي في كل شبكة VPC
ستحتاج إلى اتصال مؤقت بالإنترنت لتثبيت الحِزم على "vm1-vpc1-ncc".
إنشاء ثلاثة أجهزة افتراضية، وسيتم تخصيص كل جهاز افتراضي لإحدى الشبكات الخاصة الافتراضية التي تم إنشاؤها سابقًا
gcloud compute instances create vm1-vpc-workload \
--zone us-central1-a \
--subnet="${vpc_spoke_subnet_name}" \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
apt-get install tcpdump -y
service apache2 restart
echo "
<h3>Web Server: www-vm1</h3>" | tee /var/www/html/index.html'
gcloud compute instances create vm2-vpc-routing \
--zone us-central1-a \
--subnet="${routing_vpc_subnet_name}" \
--no-address
gcloud compute instances create vm3-onprem \
--zone us-central1-a \
--subnet="${on_prem_subnet_name}" \
--no-address
3- إعداد Hybrid Connectivity
في هذا القسم، سنضبط اتصالاً نفقيًا من نوع HA VPN لربط شبكتَي VPC للمؤسسة والتوجيه معًا.

ضبط Cloud Router باستخدام بروتوكول BGP في شبكة VPC الخاصة بالتوجيه
routing_vpc_router_name="routing-vpc-cr"
routing_vpc_router_asn=64525
gcloud compute routers create "${routing_vpc_router_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}" \
--asn="${routing_vpc_router_asn}"
إعداد Cloud Router باستخدام بروتوكول BGP في شبكة VPC المحلية
on_prem_router_name="on-prem-router"
on_prem_router_asn=64526
gcloud compute routers create "${on_prem_router_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--asn="${on_prem_router_asn}"
إعداد "بوابة شبكة VPN" في شبكة VPC الخاصة بالتوجيه
routing_vpn_gateway_name="routing-vpc-vpn-gateway"
gcloud compute vpn-gateways create "${routing_vpn_gateway_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}"
ضبط "بوابة شبكة VPN" في شبكة VPC المحلية
on_prem_gateway_name="on-prem-vpn-gateway"
gcloud compute vpn-gateways create "${on_prem_gateway_name}" \
--region="${region}" \
--network="${on_prem_network_name}"
ضبط اتصال نفَقي بشبكة VPN في شبكة VPC الخاصة بالتوجيه وشبكة VPC المحلية
secret_key=$(openssl rand -base64 24)
routing_vpc_tunnel_name="routing-vpc-tunnel"
on_prem_tunnel_name="on-prem-tunnel"
gcloud compute vpn-tunnels create "${routing_vpc_tunnel_name}" \
--vpn-gateway="${routing_vpn_gateway_name}" \
--peer-gcp-gateway="${on_prem_gateway_name}" \
--router="${routing_vpc_router_name}" \
--region="${region}" \
--interface=0 \
--shared-secret="${secret_key}"
gcloud compute vpn-tunnels create "${on_prem_tunnel_name}" \
--vpn-gateway="${on_prem_gateway_name}" \
--peer-gcp-gateway="${routing_vpn_gateway_name}" \
--router="${on_prem_router_name}" \
--region="${region}" \
--interface=0 \
--shared-secret="${secret_key}"
إنشاء جلسات BGP لتبادل معلومات بين الشبكات عبر بروتوكول BGP بين شبكة VPC التي يتم توجيهها وأجهزة توجيه السحابة المحلية
interface_hub_name="if-hub-to-prem"
hub_router_ip="169.254.1.1"
gcloud compute routers add-interface "${routing_vpc_router_name}" \
--interface-name="${interface_hub_name}" \
--ip-address="${hub_router_ip}" \
--mask-length=30 \
--vpn-tunnel="${routing_vpc_tunnel_name}" \
--region="${region}"
bgp_hub_name="bgp-hub-to-prem"
prem_router_ip="169.254.1.2"
gcloud compute routers add-bgp-peer "${routing_vpc_router_name}" \
--peer-name="${bgp_hub_name}" \
--peer-ip-address="${prem_router_ip}" \
--interface="${interface_hub_name}" \
--peer-asn="${on_prem_router_asn}" \
--region="${region}"
interface_prem_name="if-prem-to-hub"
gcloud compute routers add-interface "${on_prem_router_name}" \
--interface-name="${interface_prem_name}" \
--ip-address="${prem_router_ip}" \
--mask-length=30 \
--vpn-tunnel="${on_prem_tunnel_name}" \
--region="${region}"
bgp_prem_name="bgp-prem-to-hub"
gcloud compute routers add-bgp-peer "${on_prem_router_name}" \
--peer-name="${bgp_prem_name}" \
--peer-ip-address="${hub_router_ip}" \
--interface="${interface_prem_name}" \
--peer-asn="${routing_vpc_router_asn}" \
--region="${region}"
تلقائيًا، لا يتم الإعلان عن الشبكات الفرعية لـ NCC Hub إلى المواقع الفرعية المختلطة. في الخطوة التالية، اضبط جهاز توجيه السحابة لإرسال إشعارات عن مسارات الشبكة الفرعية NCC إلى الشبكة المحلية.
الإعلان عن الشبكات الفرعية في شبكة VPC الفرعية إلى جهاز توجيه السحابة الإلكترونية المحلي
gcloud compute routers update "${routing_vpc_router_name}" \
--advertisement-mode custom \
--set-advertisement-groups=all_subnets \
--set-advertisement-ranges="${vpc_spoke_subnet_ip_range}" \
--region="${region}"
الإعلان عن الشبكات الفرعية المحلية إلى جهاز توجيه السحابة الإلكترونية لشبكة VPC الخاصة بالتوجيه
gcloud compute routers update "${on_prem_router_name}" \
--advertisement-mode custom \
--set-advertisement-groups=all_subnets \
--region="${region}"
عدِّل إعدادات ربط BGP في موجّه السحابة الإلكترونية المحلي للإعلان عن البادئات بقيمة MED تبلغ "111". في قسم لاحق، سنلاحظ سلوك NCC مع قيم BGP Med.
on_prem_router_name="on-prem-router"
bgp_prem_name="bgp-prem-to-hub"
gcloud compute routers update-bgp-peer "${on_prem_router_name}" \
--peer-name="${bgp_prem_name}" \
--advertised-route-priority="111" \
--region="${region}"
التحقّق من حالة نفق VPC للتوجيه
gcloud compute vpn-tunnels describe routing-vpc-tunnel \
--region=us-central1 \
--format='flattened(status,detailedStatus)'
التحقّق من حالة موجّه السحابة الإلكترونية لشبكة VPC
استخدِم أمر gcloud لإدراج مسارات BGP التي تعلّمها موجّه السحابة الافتراضية الخاصة (VPC) الخاص بالتوجيه.
gcloud compute routers get-status routing-vpc-cr \
--region=us-central1
4. مركز Network Connectivity Center
نظرة عامة
في هذا القسم، سنضبط إعدادات NCC Hub باستخدام أوامر gcloud. سيعمل مركز NCC كلوحة تحكّم مسؤولة عن إنشاء إعدادات التوجيه بين كل شبكة VPC فرعية.

تفعيل خدمات واجهة برمجة التطبيقات
فعِّل واجهة برمجة التطبيقات الخاصة باتصال الشبكة في حال لم يتم تفعيلها بعد:
gcloud services enable networkconnectivity.googleapis.com
إنشاء مركز NCC
إنشاء مركز NCC باستخدام أمر gCloud
hub_name="mesh-hub"
gcloud network-connectivity hubs create "${hub_name}"
مثال على الناتج
Create request issued for: [mesh-hub]
Waiting for operation [projects/ncc/locations/global/operations/operation-1719930559145-61c448a0426e4-2d18c8dd-7107edbe] to complete...done.
Created hub [mesh-hub].
أضِف وصفًا لمركز NCC الذي تم إنشاؤه حديثًا. دوِّن الاسم والمسار المرتبط به.
gcloud network-connectivity hubs describe mesh-hub
createTime: '2024-07-02T14:29:19.260054897Z'
exportPsc: false
name: projects/ncc/locations/global/hubs/mesh-hub
policyMode: PRESET
presetTopology: MESH
routeTables:
- projects/ncc/locations/global/hubs/mesh-hub/routeTables/default
state: ACTIVE
uniqueId: 08f9ae88-f76f-432b-92b2-357a85fc83aa
updateTime: '2024-07-02T14:29:32.583206925Z'
قدّمت "بوابة NCC" جدول توجيه يحدّد مستوى التحكّم لإنشاء اتصال البيانات. العثور على اسم جدول توجيه "مركز NCC"
gcloud network-connectivity hubs route-tables list --hub=mesh-hub
NAME HUB DESCRIPTION
default mesh-hub
ابحث عن معرّف الموارد المنتظم (URI) لجدول المسار التلقائي في NCC.
gcloud network-connectivity hubs route-tables describe default --hub=mesh-hub
createTime: '2024-07-02T14:29:22.340190411Z'
name: projects/ncc/locations/global/hubs/mesh-hub/routeTables/default
state: ACTIVE
uid: fa2af78b-d416-41aa-b442-b8ebdf84f799
أدرِج محتويات جدول التوجيه التلقائي لمركز NCC. ملاحظة*: سيكون جدول التوجيه في مركز NCC فارغًا إلى أن يتم تحديد الشبكات الفرعية المختلطة أو شبكات VPC الفرعية في NCC.
gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub --route_table=default
يجب أن يكون جدول التوجيه في "مركز NCC" فارغًا.
5- NCC مع شبكات فرعية مختلطة وشبكات VPC
نظرة عامة
في هذا القسم، ستضبط إعدادات NCC Spoke باستخدام أوامر gCloud. سيكون أحد الأطراف فرعًا لشبكة VPC، وسيكون الطرف الثاني فرعًا مختلطًا (VPN).

ضبط شبكات VPC الخاصة بأحمال العمل كشبكة فرعية في NCC
اضبط شبكة VPC الخاصة بعبء العمل كشبكة فرعية في NCC، ثم اربطها بمركز NCC الذي تم إنشاؤه سابقًا. تتطلّب طلبات البيانات من واجهة برمجة التطبيقات الخاصة بـ NCC تحديد موقع جغرافي. تتيح العلامة "–global" للمستخدم تجنُّب تحديد مسار URI كامل عند إعداد جهاز NCC جديد.
vpc_spoke_name="workload-vpc-spoke"
vpc_spoke_network_name="workload-vpc"
gcloud network-connectivity spokes linked-vpc-network create "${vpc_spoke_name}" \
--hub="${hub_name}" \
--vpc-network="${vpc_spoke_network_name}" \
--global
Create request issued for: [workload-vpc-spoke]
Waiting for operation [projects/ncc/locations/global/operations/operation-1719931097138-61c44aa15463f-90de22c7-40c10e6b] to complete...done.
Created spoke [workload-vpc-spoke].
createTime: '2024-07-02T14:38:17.315200822Z'
group: projects/ncc/locations/global/hubs/mesh-hub/groups/default
hub: projects/ncc/locations/global/hubs/mesh-hub
linkedVpcNetwork:
uri: https://www.googleapis.com/compute/v1/projects/ncc/global/networks/workload-vpc
name: projects/ncc/locations/global/spokes/workload-vpc-spoke
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 33e50612-9b62-4ec7-be6c-962077fd47dc
updateTime: '2024-07-02T14:38:44.196850231Z'
ضبط اتصال نفقي بشبكة VPN في شبكة VPC للتوجيه كشبكة فرعية مختلطة
استخدِم أمر gcloud هذا لإعداد نفق VPN كشبكة فرعية مختلطة للانضمام إلى شبكة mesh-hub.
vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"
gcloud network-connectivity spokes linked-vpn-tunnels create "${vpn_spoke_name}" \
--region="${region}" \
--hub="${hub_name}" \
--vpn-tunnels="${routing_vpc_tunnel_name}"
مثال على الناتج
Create request issued for: [hybrid-spoke]
Waiting for operation [projects/ncc/locations/us-central1/operations/operation-1719932916561-61c45168774be-0a06ae03-88192175] to complete...done.
Created spoke [hybrid-spoke].
في حين أنّ NCC Hub يتعرّف على جميع مسارات الشبكات الفرعية لشبكة VPC، لا يعلن NCC تلقائيًا عن هذه البادئات إلى الشبكة الفرعية المختلطة. لإجبار مركز NCC على الإعلان عن الشبكات الفرعية لأحمال عمل VPC في الموقع، على مشرفي الشبكة استخدام العلامة include-import-ranges لاستيراد نطاقات IPv4 من المركز إلى الشبكة الفرعية المختلطة.
استخدِم الأمر لتعديل نظام NCC المختلط ذي المحور والفرع من أجل الإعلان عن جميع بادئات جدول توجيه المحور في نظام NCC إلى الشبكة المحلية.
vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"
gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--include-import-ranges=ALL_IPV4_RANGES
التحقّق من إعدادات الجهاز الفرعي في شبكة mesh-hub
استخدِم أمر gcloud لإدراج محتوى جدول التوجيه التلقائي في NCC Hub.
gcloud network-connectivity hubs list-spokes mesh-hub
تحليل جدول التوجيه التلقائي لنقطة الاتصال الرئيسية
استخدِم أمر gcloud لإدراج محتوى جدول التوجيه التلقائي في NCC Hub.
gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub \
--route_table=default
يتم نشر البادئات التي تعلّمها Cloud Router مع قيم BGP MED في جميع أجزاء NCC عند استخدام تبادُل المسارات الديناميكي مع أجزاء NCC المختلطة.
استخدِم أمر gcloud لعرض قيمة الأولوية "111".
gcloud network-connectivity hubs route-tables routes list \
--hub=mesh-hub \
--route_table=default \
--effective-location=us-central1 \
--filter=10.0.3.0/24
التبديل إلى Cloud Router المحلي
استخدِم أمر gcloud لمعرفة المسارات التي تم استخلاصها من الشبكة المحلية.
gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)"
6. فلاتر NCC Hybrid Spoke
في هذا القسم، سننشئ شبكتَين فرعيتَين جديدتَين، إحداهما في الموقع والأخرى في عبء عمل VPC، وسنراقب سلوك فلاتر الشبكة الفرعية المختلطة في NCC.
استخدِم الأوامر لإنشاء شبكة فرعية جديدة في شبكة VPC المحلية.
on_prem_network_name="on-prem-net-vpc"
on_prem_subnet_name="on-prem-subnet30"
on_prem_subnet_range="10.30.30.0/24"
region="us-central1"
gcloud compute networks subnets create "${on_prem_subnet_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--range="${on_prem_subnet_range}"
استخدِم الأوامر لإنشاء شبكة فرعية جديدة في شبكة VPC الخاصة بعبء العمل.
vpc_spoke_network_name="workload-vpc"
vpc_spoke_subnet_name="workload-subnet10"
vpc_spoke_subnet_ip_range="10.10.10.0/24"
vpc_spoke_name="workload-vpc-spoke"
region="us-central1"
gcloud compute networks subnets create "${vpc_spoke_subnet_name}" \
--network="${vpc_spoke_network_name}" \
--range="${vpc_spoke_subnet_ip_range}" \
--region="${region}"
يمكن للمشرفين استخدام العلامة "–exclude-export-ranges" لفلترة بادئات عناوين IP التي يتم تصديرها إلى جدول مسار مركز NCC. يمكن أن يساعد ذلك المشرفين في التحكّم في حجم جدول مسار مركز NCC. يتم تلقائيًا استخلاص جميع بادئات IPv4 من الموقع والسماح بها في جدول توجيه مركز NCC.
استخدِم الأمر لتعديل نظام NCC الهجين الفرعي من أجل فلترة البادئة 10.30.30.0/24 ومنع إدخالها في جدول توجيه مركز NCC.
vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"
gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--exclude-export-ranges=10.30.30.0/24
استخدِم أمر gcloud للتأكّد من أنّ البادئة 10.30.30.0/24 غير موجودة في جدول مسار NCC Hub
gcloud network-connectivity hubs route-tables routes list \
--hub=mesh-hub \
--route_table=default \
--effective-location=us-central1 \
--filter=10.30.30.0/24
انتقِل إلى جهاز التوجيه المحلي واستخدِم أمر gcloud للتأكّد من أنّه تعرّف على الشبكة الفرعية 10.10.10.0/24 الخاصة بشبكة VPC الخاصة بعبء العمل.
gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)"
تتضمّن الأوامر أدناه العلامة "–exclude-import-ranges" لتصفية البادئة 10.10.10.0/24 المحدّدة من الإعلان عنها إلى جهاز التوجيه المحلي.
vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"
gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--exclude-import-ranges=10.10.10.0/24
انتقِل إلى جهاز التوجيه المحلي واستخدِم أمر gcloud للتحقّق من جدول التوجيه. لاحظ أنّه يجب ألا يكون البادئة 10.10.10.0/24 متوفّرة.
gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)"
7. التحقّق من مسار البيانات
في هذه الخطوة، سنتأكّد من صحة مسار البيانات بين NCC hybrid وVPC spoke. 
استخدِم الناتج من أوامر gcloud هذه لتسجيل الدخول إلى الجهاز الافتراضي المحلي.
gcloud compute instances list --filter="name=vm3-onprem"
سجِّل الدخول إلى مثيل الجهاز الافتراضي المقيم في الشبكة المحلية.
gcloud compute ssh vm3-onprem --zone=us-central1-a
في نافذة vm3-onprem، استخدِم الأمر curl لإنشاء جلسة ويب على الجهاز الظاهري المستضاف في workload-vpc.
curl 10.0.1.2 -v
* Trying 10.0.1.2:80...
* Connected to 10.0.1.2 (10.0.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.0.1.2
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 03 Jul 2024 15:41:34 GMT
< Server: Apache/2.4.59 (Debian)
< Last-Modified: Mon, 01 Jul 2024 20:36:16 GMT
< ETag: "1e-61c358c8272ba"
< Accept-Ranges: bytes
< Content-Length: 30
< Content-Type: text/html
<
<h3>Web Server: www-vm1</h3>
* Connection #0 to host 10.0.1.2 left intact
8. تنظيف
سجِّل الدخول إلى Cloud Shell واحذف موارد GCP.
حذف نقاط اتصال NCC
gcloud network-connectivity spokes delete workload-vpc-spoke --global \
--quiet
gcloud network-connectivity spokes delete hybrid-spoke \
--quiet \
--region us-central1
حذف "مركز NCC"
gcloud network-connectivity hubs delete mesh-hub --quiet
حذف قواعد جدار الحماية
gcloud compute firewall-rules delete onprem-vpc-port-firewall-prem onprem-vpc-protocol-firewall routing-vpc--port-fw routing-vpc-protocol-fw workload-port-firewall-vpc workload-protocol-fw-vpc --quiet
حذف نفق HA-VPN
gcloud compute vpn-tunnels delete on-prem-tunnel \
--region=us-central1 \
--quiet
gcloud compute vpn-tunnels delete routing-vpc-tunnel \
--region=us-central1 \
--quiet
حذف VPN-Gateway
gcloud compute vpn-gateways delete on-prem-vpn-gateway \
--region=us-central1 --quiet
gcloud compute vpn-gateways delete routing-vpc-vpn-gateway \
--region us-central1 --quiet
حذف Cloud Router
gcloud compute routers delete routing-vpc-cr --region us-central1 --quiet
gcloud compute routers delete on-prem-router --region us-central1 --quiet
حذف مثيلات GCE
gcloud compute instances delete vm1-vpc-workload \
--zone=us-central1-a \
--quiet
gcloud compute instances delete vm2-vpc-routing \
--zone=us-central1-a \
--quiet
gcloud compute instances delete vm3-onprem \
--zone=us-central1-a \
--quiet
حذف الشبكات الفرعية لسحابة VPC
gcloud compute networks subnets delete workload-subnet --region us-central1 --quiet
gcloud compute networks subnets delete on-prem-subnet --region us-central1 --quiet
gcloud compute networks subnets delete routing-vpc-subnet --region us-central1 --quiet
حذف شبكات VPC
gcloud compute networks delete on-prem-net-vpcworkload-vpc routing-vpc
--quiet
9- تهانينا!
لقد أكملت الدرس العملي حول "مركز ربط الشبكات" في Dynamic Route Exchange.
المواضيع التي تناولتها
- تبادُل المسارات الديناميكي مع "مركز ربط الشبكة"
الخطوات التالية
©Google, LLC أو الشركات التابعة لها. جميع الحقوق محفوظة. يُرجى عدم توزيعها.