۱. مقدمه
نمای کلی
در این آزمایشگاه، کاربران بررسی خواهند کرد که چگونه میتوان از مرکز اتصال شبکه (NCC) برای ایجاد اتصال بین VPCها در مقیاس بزرگ از طریق پشتیبانی از VPC Spokes استفاده کرد. هنگامی که کاربران یک VPC را به عنوان یک VPC Spoke تعریف میکنند، این امر آنها را قادر میسازد تا آن را از طریق NCC Hub به چندین شبکه VPC متصل کنند. NCC با پیکربندی VPC Spoke، پیچیدگی عملیاتی مدیریت اتصال بین VPCها را به صورت جفتی از طریق VPC Peering کاهش میدهد و به جای آن از یک مدل مدیریت اتصال متمرکز استفاده میکند.
به یاد بیاورید که مرکز اتصال شبکه (NCC) یک مدل صفحه کنترل هاب و اقماری برای مدیریت اتصال شبکه در Google Cloud است. منبع هاب یک مدل مدیریت اتصال متمرکز برای اتصال اسپوکها فراهم میکند.
آنچه خواهید ساخت
در این آزمایشگاه کد، شما یک توپولوژی منطقی هاب و اسپوک با هاب NCC خواهید ساخت که یک ساختار اتصال VPC کاملاً مشبندی شده را در سه VPC مجزا پیادهسازی خواهد کرد.
آنچه یاد خواهید گرفت
- اتصال VPC تمام مش با NCC
- NAT خصوصی در سراسر VPC
آنچه نیاز دارید
- آشنایی با شبکه GCP VPC
- آشنایی با Cloud Router و مسیریابی BGP
- دو پروژه GCP جداگانه
- این Codelab به ۵ VPC نیاز دارد. یکی از این VPC(ها) باید در پروژهای جدا از مرکز NCC باشد.
- Quota:Networks خود را بررسی کنید و در صورت لزوم، شبکههای اضافی را درخواست کنید ، تصویر زیر را ببینید:

اهداف
- راهاندازی محیط GCP
- پیکربندی مرکز اتصال شبکه با VPC همانطور که گفته شد
- اعتبارسنجی مسیر داده
- ویژگیهای سرویسپذیری NCC را بررسی کنید
- منابع استفاده شده را پاکسازی کنید
قبل از اینکه شروع کنی
کنسول ابری گوگل و پوسته ابری
برای تعامل با GCP، در طول این آزمایش از هر دو کنسول ابری گوگل و پوسته ابری استفاده خواهیم کرد.
پروژه مرکز NCC، کنسول ابری گوگل
کنسول ابری از طریق آدرس https://console.cloud.google.com قابل دسترسی است.
برای آسانتر کردن پیکربندی Network Connectivity Center، موارد زیر را در Google Cloud تنظیم کنید:
در کنسول گوگل کلود، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید.
Cloud Shell را اجرا کنید. این Codelab از $variables برای کمک به پیادهسازی پیکربندی gcloud در Cloud Shell استفاده میکند.
gcloud auth list
gcloud config list project
gcloud config set project [HUB-PROJECT-NAME]
projectname=[HUB-PROJECT-NAME]
echo $projectname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1
نقشهای IAM
NCC برای دسترسی به APIهای خاص به نقشهای IAM نیاز دارد. حتماً کاربر خود را در صورت نیاز با نقشهای IAM مربوط به NCC پیکربندی کنید.
نقش/توضیحات | مجوزها |
networkconnectivity.networkAdmin - به مدیران شبکه اجازه میدهد تا هاب و اسپوک را مدیریت کنند. | اتصال شبکه.هابها. اتصال شبکه.اسپوکها. |
networkconnectivity.networkSpokeManager - امکان افزودن و مدیریت Spokeها را در یک هاب فراهم میکند. برای استفاده در Shared VPC که در آن پروژه میزبان مالک هاب است، اما سایر مدیران در پروژههای دیگر میتوانند Spokeهایی برای پیوستهای خود به هاب اضافه کنند. | اتصال شبکه.اسپوک.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer - به کاربران شبکه اجازه میدهد تا ویژگیهای مختلف hub و spokes را مشاهده کنند. | اتصال شبکه.هابها.دریافت اتصال شبکه.هابها.لیست اتصال شبکه.اسپوکها.دریافت اتصال شبکه.لیست اتصال شبکه.اسپوکها.لیست اتصال شبکه.اسپوکها.لیست تجمیعی |
۲. راهاندازی محیط شبکه
نمای کلی
در این بخش، شبکههای VPC و قوانین فایروال را در یک پروژه واحد مستقر خواهیم کرد. نمودار منطقی، محیط شبکهای را که در این مرحله راهاندازی خواهد شد، نشان میدهد.
برای نشان دادن پشتیبانی از اسپوک بین پروژهای، در مرحلهی بعدی، یک VPC و قوانین فایروال را در یک پروژهی دیگر مستقر خواهیم کرد.

ایجاد VPCها و زیرشبکهها
شبکه VPC شامل زیرشبکههایی است که شما GCE VM را برای اعتبارسنجی مسیر داده نصب خواهید کرد.
gcloud compute networks create vpc1-ncc --subnet-mode custom
gcloud compute networks create vpc2-ncc --subnet-mode custom
gcloud compute networks create vpc3-ncc --subnet-mode custom
gcloud compute networks create vpc4-ncc --subnet-mode custom
gcloud compute networks subnets create vpc1-ncc-subnet1 \
--network vpc1-ncc --range 10.1.1.0/24 --region us-central1
gcloud compute networks subnets create vpc1-ncc-subnet2 \
--network vpc1-ncc --range 10.1.2.0/25 --region us-central1
gcloud compute networks subnets create vpc1-ncc-subnet3 \
--network vpc1-ncc --range 10.1.2.128/25 --region us-central1
gcloud compute networks subnets create vpc2-ncc-subnet1 \
--network vpc2-ncc --range 10.2.2.0/24 --region us-central1
محدودههای زیرشبکه پشتیبانیشده توسط VPC
NCC از تمام محدودههای معتبر زیرشبکه IPv4، از جمله آدرسهای IP عمومی که به صورت خصوصی استفاده میشوند، پشتیبانی میکند. در این مرحله، محدودههای IP معتبری را در VPC4 ایجاد کنید که به جدول مسیر هاب وارد خواهند شد.
gcloud compute networks subnets create benchmark-testing-rfc2544 \
--network vpc4-ncc --range 198.18.0.0/15 --region us-east1
gcloud compute networks subnets create class-e-rfc5735 \
--network vpc4-ncc --range 240.0.0.0/4 --region us-east1
gcloud compute networks subnets create ietf-protcol-assignment-rfc6890 \
--network vpc4-ncc --range 192.0.0.0/24 --region us-east1
gcloud compute networks subnets create ipv6-4-relay-rfc7526 \
--network vpc4-ncc --range 192.88.99.0/24 --region us-east1
gcloud compute networks subnets create pupi \
--network vpc4-ncc --range 50.50.50.0/24 --region us-east1
gcloud compute networks subnets create test-net-1-rfc5737 \
--network vpc4-ncc --range 192.0.2.0/24 --region us-east1
gcloud compute networks subnets create test-net-2-rfc5737 \
--network vpc4-ncc --range 198.51.100.0/24 --region us-east1
gcloud compute networks subnets create test-net-3-rfc5737 \
--network vpc4-ncc --range 203.0.113.0/24 --region us-east1
ایجاد محدودههای زیرشبکه با همپوشانی
NCC محدودههای IP دارای همپوشانی را به جدول مسیر هاب وارد نمیکند. کاربران در مرحله بعدی این محدودیت را برطرف خواهند کرد. فعلاً، دو محدوده IP دارای همپوشانی برای VPC2 و VPC3 ایجاد کنید.
gcloud compute networks subnets create overlapping-vpc2 \
--network vpc3-ncc --range 10.3.3.0/24 --region us-central1
gcloud compute networks subnets create overlapping-vpc3 \
--network vpc2-ncc --range 10.3.3.0/24 --region us-central1
پیکربندی قوانین فایروال VPC
قوانین فایروال را روی هر VPC پیکربندی کنید تا اجازه دهد
- اساساچ
- برنامهی داخلی پرداخت درون برنامهای (IAP)
- محدوده ۱۰.۰.۰.۰/۸
gcloud compute firewall-rules create ncc1-vpc-internal \
--network vpc1-ncc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create ncc2-vpc-internal \
--network vpc2-ncc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create ncc3-vpc-internal \
--network vpc3-ncc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create ncc4-vpc-internal \
--network vpc4-ncc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create ncc1-vpc-iap \
--network vpc1-ncc \
--allow all \
--source-ranges 35.235.240.0/20
gcloud compute firewall-rules create ncc2-vpc-iap \
--network vpc2-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20
gcloud compute firewall-rules create ncc3-vpc-iap \
--network vpc3-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20
gcloud compute firewall-rules create ncc4-vpc-iap \
--network vpc4-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20
پیکربندی GCE VM در هر VPC
برای نصب بستهها روی «vm1-vpc1-ncc» به دسترسی موقت به اینترنت نیاز دارید.
چهار ماشین مجازی ایجاد کنید، هر ماشین مجازی به یکی از VPC های قبلاً ایجاد شده اختصاص داده خواهد شد.
gcloud compute instances create vm1-vpc1-ncc \
--subnet vpc1-ncc-subnet1 \
--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-vpc2-ncc \
--zone us-central1-a \
--subnet vpc2-ncc-subnet1 \
--no-address
gcloud compute instances create pnat-vm-vpc2 \
--zone us-central1-a \
--subnet overlapping-vpc3 \
--no-address
gcloud compute instances create vm1-vpc4-ncc \
--zone us-east1-b \
--subnet class-e-rfc5735 \
--no-address
۳. هاب مرکز اتصال شبکه
نمای کلی
در این بخش، ما یک NCC Hub را با استفاده از دستورات gcloud پیکربندی خواهیم کرد. NCC Hub به عنوان صفحه کنترل مسئول ایجاد پیکربندی مسیریابی بین هر پره VPC خواهد بود.

فعال کردن سرویسهای API
اگر هنوز API اتصال شبکه فعال نشده است، آن را فعال کنید:
gcloud services enable networkconnectivity.googleapis.com
ایجاد مرکز NCC
با استفاده از دستور gCloud یک مرکز NCC ایجاد کنید
gcloud network-connectivity hubs create ncc-hub
خروجی مثال
Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.
Created hub [ncc-hub]
مرکز NCC تازه ایجاد شده را شرح دهید. نام و مسیر مرتبط را یادداشت کنید.
gcloud network-connectivity hubs describe ncc-hub
gcloud network-connectivity hubs describe ncc-hub
createTime: '2023-11-02T02:28:34.890423230Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub
routeTables:
- projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uniqueId: de749c4c-0ef8-4888-8622-1ea2d67450f8
updateTime: '2023-11-02T02:28:48.613853463Z'
NCC Hub یک جدول مسیریابی معرفی کرد که صفحه کنترل را برای ایجاد اتصال داده تعریف میکند. نام جدول مسیریابی NCC Hub را بیابید
gcloud network-connectivity hubs route-tables list --hub=ncc-hub
NAME: default
HUB: ncc-hub
DESCRIPTION:
URI جدول مسیر پیشفرض NCC را پیدا کنید.
gcloud network-connectivity hubs route-tables describe default --hub=ncc-hub
createTime: '2023-02-24T17:32:58.786269098Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uid: eb1fdc35-2209-46f3-a8d6-ad7245bfae0b
updateTime: '2023-02-24T17:33:01.852456186Z'
محتویات جدول مسیریابی پیشفرض NCC Hub را فهرست کنید. توجه* جدول مسیر NCC Hub تا زمانی که پرهها (spoke) حذف نشدهاند، خالی خواهد بود.
gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default
جدول مسیر مرکز NCC باید خالی باشد.
۴. NCC با پرههای VPC
نمای کلی
در این بخش، شما سه VPC را به عنوان یک NCC Spoke با استفاده از دستورات gCloud پیکربندی خواهید کرد.

پیکربندی VPC(ها) به عنوان یک NCC Spoke
VPC(های) زیر را به ترتیب NCC Spoke پیکربندی کنید.
- VPC4
- VPC1
- وی پی سی ۲
- وی پی سی۳
VPC4 را به عنوان یک پره NCC پیکربندی کنید و آن را به هاب NCC که قبلاً ایجاد شده است، اختصاص دهید. فراخوانیهای API پره NCC نیاز به مشخص کردن مکان دارند. پرچم "–global" با اجازه دادن به کاربر برای جلوگیری از مشخص کردن مسیر کامل URI هنگام پیکربندی یک پره NCC جدید، سینتکس gcloud را ساده میکند.
gcloud network-connectivity spokes linked-vpc-network create vpc4-spoke4 \
--hub=ncc-hub \
--vpc-network=vpc4-ncc \
--global
VPC1 را به عنوان یک پره NCC پیکربندی کنید.
مدیران میتوانند مسیرهای زیرشبکه را از صادر شدن از یک VPC که به جدول مسیر مرکز NCC متصل شده است، مستثنی کنند. در این بخش از آزمایشگاه کد، یک قانون مستثنی کردن صادرات بر اساس یک پیشوند خلاصه ایجاد کنید تا از صادر شدن زیرشبکه VPC1 به جدول مسیر مرکز NCC جلوگیری شود.
از این دستور gcloud برای فهرست کردن تمام زیرشبکههای متعلق به VPC1 استفاده کنید.
gcloud config set accessibility/screen_reader false
gcloud compute networks subnets list --network=vpc1-ncc
به جفت زیرشبکههای /25 که قبلاً در بخش تنظیمات ایجاد شدهاند، توجه کنید.
NAME REGION NETWORK RANGE STACK_TYPE
vpc1-ncc-subnet1 us-central1 vpc1-ncc 10.1.1.0/24 IPV4_ONLY
vpc1-ncc-subnet2 us-central1 vpc1-ncc 10.1.2.0/25 IPV4_ONLY
vpc1-ncc-subnet3 us-central1 vpc1-ncc 10.1.2.128/25 IPV4_ONLY
VPC1 را به عنوان یک پره NCC پیکربندی کنید و با استفاده از کلمه کلیدی "export-exclude-ranges" برای فیلتر کردن خلاصه مسیر /24 از آن محدوده خاص، جفت زیرشبکههای /25 را از وارد شدن به جدول مسیریابی هاب مستثنی کنید.
gcloud network-connectivity spokes linked-vpc-network create vpc1-spoke1 \
--hub=ncc-hub \
--vpc-network=vpc1-ncc \
--exclude-export-ranges=10.1.2.0/24 \
--global
نکته* کاربران میتوانند تا ۱۶ محدوده IP منحصر به فرد را به ازای هر پره NCC فیلتر کنند.
محتویات جدول مسیریابی پیشفرض NCC Hub را فهرست کنید. چه اتفاقی برای جفت زیرشبکههای /25 در جدول مسیریابی NCC Hub افتاده است؟
gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default --filter="NEXT_HOP:vpc1-ncc"
IP_CIDR_RANGE STATE TYPE NEXT_HOP HUB ROUTE_TABLE
10.1.1.0/24 ACTIVE VPC_PRIMARY_SUBNET vpc1-ncc ncc-hub default
پیکربندی VPC2 به عنوان یک NCC spoke
gcloud network-connectivity spokes linked-vpc-network create vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--global
VPC3 را به عنوان یک پره NCC پیکربندی کنید و آن را به هاب NCC که قبلاً ایجاد شده است، اختصاص دهید.
gcloud network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--global
چه اتفاقی افتاده؟
ERROR: (gcloud.network-connectivity.spokes.linked-vpc-network.create) Invalid resource state for "https://www.googleapis.com/compute/v1/projects/xxxxxxxx/global/networks/vpc3-ncc": 10.3.3.0/24 (SUBNETWORK) overlaps with 10.3.3.0/24 (SUBNETWORK) from "projects/user-3p-dev/global/networks/vpc2-ncc" (peer)
هاب NCC همپوشانی محدوده IP را با VPC2 تشخیص داد. به یاد بیاورید که VPC2 و VPC3 هر دو با زیرشبکه IP یکسان 10.3.3.0/24 راهاندازی شده بودند.
فیلتر کردن محدودههای IP دارای همپوشانی با استفاده از Exclude Export
از دستور gcloud برای بهروزرسانی VPC2 spoke استفاده کنید تا محدوده IPهای همپوشانی را حذف کنید.
gcloud network-connectivity spokes linked-vpc-network update vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global
از دستور gcloud برای بهروزرسانی اسپوک NCC مربوط به VPC3 استفاده کنید تا محدوده زیرشبکههای دارای همپوشانی حذف شود.
gcloud network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global
محتویات جدول مسیریابی پیشفرض NCC Hub را فهرست کرده و خروجی را بررسی کنید.
gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default
محدودههای IP که از VPC2 و VPC3 همپوشانی دارند، مستثنی هستند. جدول مسیریابی NCC Hub از تمام انواع محدودههای معتبر IPv4 پشتیبانی میکند.
محدودههای زیرشبکههای آدرسهای IP عمومی (PUPI) که به صورت خصوصی استفاده میشوند، به طور پیشفرض از VPC که به جدول مسیر هاب NCC متصل است، صادر نمیشوند.
از دستور gcloud برای تأیید اینکه شبکه 50.50.50.0/24 در جدول مسیریابی NCC Hub نیست، استفاده کنید.
gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default --filter="NEXT_HOP:vpc-ncc4"
از دستور gcloud زیر برای بهروزرسانی VPC4-Spoke و فعالسازی تبادل آدرس PUPI بین VPCهای NCC استفاده کنید.
gcloud network-connectivity spokes linked-vpc-network update vpc4-spoke4 \
--include-export-ranges=ALL_IPV4_RANGES \
--global
از دستور gcloud برای یافتن شبکه 50.50.50.0/24 در جدول مسیریابی NCC Hub استفاده کنید.
gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default | grep 50.50.50.0/24
۵. NCC با اسپوکهای پروژهی متقابل
نمای کلی
تاکنون، شما اسپوکهای NCC را که به همان پروژه Hub تعلق دارند، پیکربندی کردهاید. در این بخش، VPC را به عنوان یک اسپوک NCC از یک پروژه جداگانه غیر از NCC Hub با استفاده از دستورات gCloud پیکربندی خواهید کرد.
این به صاحبان پروژه که VPC های خود را مدیریت میکنند، اجازه میدهد تا در اتصال شبکه با NCC Hub شرکت کنند.

پروژه متقابل: کنسول ابری گوگل و پوسته ابری
برای تعامل با GCP، در طول این آزمایش از هر دو کنسول ابری گوگل و پوسته ابری استفاده خواهیم کرد.
کنسول ابری گوگل (Google Cloud Console)
کنسول ابری از طریق آدرس https://console.cloud.google.com قابل دسترسی است.
برای آسانتر کردن پیکربندی Network Connectivity Center، موارد زیر را در Google Cloud تنظیم کنید:
در کنسول گوگل کلود، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید.
Cloud Shell را اجرا کنید. این Codelab از $variables برای کمک به پیادهسازی پیکربندی gcloud در Cloud Shell استفاده میکند.
gcloud auth list
gcloud config list project
gcloud config set project [YOUR-CROSSPROJECT-NAME]
xprojname=[YOUR-CROSSPROJECT-NAME]
echo $xprojname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1
نقشهای IAM
NCC برای دسترسی به APIهای خاص به نقشهای IAM نیاز دارد. حتماً کاربر خود را در صورت نیاز با نقشهای IAM مربوط به NCC پیکربندی کنید.
حداقل، به مدیر گفتگوی بین پروژهای باید نقش IAM اعطا شود: "networkconnectivity.networkSpokeManager."
جدول زیر فهرستی از نقشهای IAM مورد نیاز برای مدیر NCC Hub و Spoke را به عنوان مرجع ارائه میدهد.
نقش/توضیحات | مجوزها |
networkconnectivity.networkAdmin - به مدیران شبکه اجازه میدهد تا هاب و اسپوک را مدیریت کنند. | اتصال شبکه.هابها. اتصال شبکه.اسپوکها. |
networkconnectivity.networkSpokeManager - امکان افزودن و مدیریت Spokeها را در یک هاب فراهم میکند. برای استفاده در Shared VPC که در آن پروژه میزبان مالک هاب است، اما سایر مدیران در پروژههای دیگر میتوانند Spokeهایی برای پیوستهای خود به هاب اضافه کنند. | اتصال شبکه.اسپوک.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer - به کاربران شبکه اجازه میدهد تا ویژگیهای مختلف hub و spokes را مشاهده کنند. | اتصال شبکه.هابها.دریافت اتصال شبکه.هابها.لیست اتصال شبکه.اسپوکها.دریافت اتصال شبکه.لیست اتصال شبکه.اسپوکها.لیست اتصال شبکه.اسپوکها.لیست تجمیعی |
ایجاد VPCها و زیرشبکهها در پروژه Cross
شبکه VPC شامل زیرشبکههایی است که شما GCE VM را برای اعتبارسنجی مسیر داده نصب خواهید کرد.
gcloud compute networks create xproject-vpc \
--subnet-mode custom
gcloud compute networks subnets create xprj-net-1 \
--network xproject-vpc \
--range 10.100.1.0/24 \
--region us-central1
gcloud compute networks subnets create xprj-net-2 \
--network xproject-vpc \
--range 10.100.2.0/24 \
--region us-central1
آدرس پروژه مرکز NCC
از این دستور gcloud برای یافتن URI هاب NCC استفاده کنید. برای پیکربندی NCC spoke بین پروژهای در مرحله بعدی، به مسیر URI نیاز خواهید داشت.
gcloud network-connectivity hubs describe ncc-hub
VPC اسپوک کراس پروجکت
به پروژه دیگری که VPC بخشی از پروژه NCC Hub نیست، وارد شوید. در cloudshell، از این دستور برای پیکربندی VPC به عنوان سخنگوی NCC استفاده کنید.
- HUB_URI باید URI یک هاب در یک پروژه متفاوت باشد.
- VPC_URI باید در همان پروژهای باشد که spoke در آن قرار دارد.
- شبکه VPC مشخص میکند که VPC در این پروژه متقابل به مرکز NCC در پروژه دیگری ملحق خواهد شد.
gcloud network-connectivity spokes linked-vpc-network create xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--vpc-network=xproject-vpc
.
Create request issued for: [xproj-spoke]
Waiting for operation [projects/xproject/locations/global/operations/operation-1689790411247-600dafd351158-2b862329-19b747f1] to complete...done.
Created spoke [xproj-spoke].
createTime: '2023-07-19T18:13:31.388500663Z'
hub: projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub
linkedVpcNetwork:
uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/xproject-vpc
name: projects/xproject/locations/global/spokes/xproj-spoke
reasons:
- code: PENDING_REVIEW
message: Spoke is Pending Review
spokeType: VPC_NETWORK
state: INACTIVE
uniqueId: 46b4d091-89e2-4760-a15d-c244dcb7ad69
updateTime: '2023-07-19T18:13:38.652800902Z'
وضعیت پروژهی متقابلی که NCC از آن صحبت کرد، چگونه است؟ چرا؟
۶. رد یا پذیرش پروژه متقابل Spoke
نمای کلی
مدیران هاب NCC باید صراحتاً یک اسپوک بین پروژهای را برای پیوستن به هاب بپذیرند. این امر مانع از آن میشود که صاحبان پروژه، اسپوکهای NCC جعلی را به جدول مسیریابی سراسری NCC متصل کنند. پس از پذیرش یا رد یک اسپوک، میتوان متعاقباً با اجرای دستورات بالا، آن را به تعداد دلخواه رد یا پذیرفته کرد.
با ورود به cloud shell به پروژهای که هاب NCC در آن قرار دارد، بازگردید.
شناسایی پرههای پروژه متقاطع برای بررسی
gcloud network-connectivity hubs list-spokes ncc-hub \
--filter="reason:PENDING_REVIEW"
پذیرش اسپوک
gcloud network-connectivity hubs accept-spoke ncc-hub --spoke=xproj-spoke
اختیاری: رد کردن یک پره
gcloud network-connectivity spokes reject-spoke ncc-hub --spoke=xproj-spoke
--details="some reason to reject"
فهرست کردن پرههای فعال روی هاب
gcloud network-connectivity hubs list-spokes ncc-hub \
--filter="state:ACTIVE"
NAME PROJECT LOCATION TYPE STATE STATE REASON
Xproj-spoke xproj global VPC_NETWORK ACTIVE
vpc4-spoke4 user-3p-dev global VPC_NETWORK ACTIVE
vpc1-spoke1 user-3p-dev global VPC_NETWORK ACTIVE
vpc2-spoke2 user-3p-dev global VPC_NETWORK ACTIVE
vpc3-spoke3 user-3p-dev global VPC_NETWORK ACTIVE
فهرست کردن مسیرهای زیرشبکه روی هاب
از خروجی، آیا میتوانید مسیرهای زیرشبکه را از پره VPC متقاطع ببینید؟
gcloud network-connectivity hubs route-tables routes list \
--route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:xprj-vpc"
IP_CIDR_RANGE STATE TYPE NEXT_HOP HUB ROUTE_TABLE
10.100.1.0/24 ACTIVE VPC_PRIMARY_SUBNET xprj-vpc ncc-hub default
بهروزرسانی VPC اسپوک بینپروژهای با فیلتر Include-Export
به پروژهای که VPC بخشی از پروژه NCC Hub نیست، وارد شوید. در cloudshell، از این دستور برای پیکربندی VPC به عنوان یک NCC spoke استفاده کنید.
- HUB_URI باید URI یک هاب در یک پروژه متفاوت باشد.
- VPC_URI باید در همان پروژهای باشد که spoke در آن قرار دارد.
- شبکه VPC مشخص میکند که VPC در این پروژه متقابل به مرکز NCC در پروژه دیگری ملحق خواهد شد.
- فقط محدوده زیرشبکه 10.100.2.0/24 را در جدول مسیر هاب NCC وارد کنید
- به مقدار "ETAG" در خروجی توجه کنید. این مقدار توسط NCC تولید میشود و شما باید این مقدار را در اختیار مدیر هاب NCC قرار دهید. مدیر هاب NCC هنگام پذیرش درخواست اسپوک بین پروژهای برای پیوستن به هاب، باید به این مقدار ارجاع دهد.
gcloud network-connectivity spokes linked-vpc-network update xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--include-export-ranges=10.100.2.0/24
Update request issued for: [xprj-vpc]
Waiting for operation [projects]/xproject/locations/global/operations/operation-1742936388803-6313100521cae-020ac5d2-58
52fbba] to complete...done.
Updated spoke [xprj-vpc].
createTime: '2025-02-14T14:25:41.996129250Z'
etag: '4'
fieldPathsPendingUpdate:
- linked_vpc_network.include_export_ranges
group: projects/xxxxxxxx/locations/global/hubs/ncc-hub/groups/default
hub: projects/xxxxxxxx/locations/global/hubs/ncc-hub
linkedVpcNetwork:
includeExportRanges:
- 10.100.2.0/24
uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/vpc1-spoke
name: projects/xproject/locations/global/spokes/xprj-vpc
reasons:
- code: UPDATE_PENDING_REVIEW
message: Spoke update is Pending Review
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 182e0f8f-91cf-481c-a081-ea6f7e40fb0a
updateTime: '2025-03-25T20:59:51.995734879Z'
شناسایی اسپوکهای پروژه متقاطع بهروزرسانیشده برای بررسی
به پروژهای که میزبان هاب NCC است وارد شوید. در cloudshell، از این دستور برای بررسی وضعیت بهروزرسانی VPC spoke بین پروژهای استفاده کنید.
- مقدار ETAG چیست؟ این مقدار باید با خروجی بهروزرسانی vpc spoke مطابقت داشته باشد.
gcloud network-connectivity hubs list-spokes ncc-hub \
--filter="reasons:UPDATE_PENDING_REVIEW" \
--format=yaml
تغییرات بهروز شده از پروژهی متقابل اسپوک را بپذیرید
از این دستور برای پذیرش درخواست اسپوکِ پروژهی متقابل برای پیوستن به NCC Hub استفاده کنید.
gcloud network-connectivity hubs accept-spoke-update ncc-hub \
--spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke \
--spoke-etag={etag value}
به صورت اختیاری، تغییرات بهروزرسانیشده از پروژهی متقابل را رد کنید
از این دستور برای رد درخواست اسپوکِ پروژهی متقابل برای پیوستن به NCC Hub استفاده کنید.
gcloud network-connectivity hubs reject-spoke-update ncc-hub \
--spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke \
--details="not today" \
--spoke-etag={etag value}
تأیید کنید که اسپوکِ پروژهی متقابل به مرکز NCC پیوسته است.
gcloud network-connectivity hubs list-spokes ncc-hub \ --filter="name:xproj-spoke"
۷. NAT خصوصی بین VPC(ها)
نمای کلی
در این بخش، شما NAT خصوصی را برای همپوشانی محدودههای زیرشبکه بین دو VPC پیکربندی خواهید کرد. توجه داشته باشید که NAT خصوصی بین VPC(ها) نیاز به NCC دارد.
در بخش قبلی، VPC2 و VPC3 با محدوده زیرشبکه همپوشانی "10.3.3.0/24" پیکربندی شدهاند. هر دو VPC(ها) به عنوان یک NCC spoke پیکربندی شدهاند تا زیرشبکه همپوشانی را از درج در جدول مسیر هاب NCC حذف کنند، به این معنی که هیچ مسیر داده لایه 3 برای رسیدن به میزبانهایی که در آن زیرشبکه قرار دارند، وجود ندارد.
از این دستورات در پروژه هاب NCC برای یافتن محدوده (های) زیرشبکهای که همپوشانی دارند استفاده کنید.
gcloud compute networks subnets list --network vpc2-ncc
gcloud compute networks subnets list --network vpc3-ncc
در vpc2-ncc، نام زیرشبکهای که شامل محدوده IP همپوشانی است چیست؟
نام زیرشبکه را یادداشت و در جایی ذخیره کنید. شما NAT منبع را برای این محدوده پیکربندی خواهید کرد.
پیکربندی NAT خصوصی
با پیکربندی یک محدوده زیرشبکه غیر همپوشان با استفاده از پرچم "–purpose=PRIVATE_NAT"، یک محدوده زیرشبکه قابل مسیریابی را به منبع ترافیک NAT از زیرشبکه همپوشانی VPC2 اختصاص دهید.
gcloud beta compute networks subnets create ncc2-spoke-nat \
--network=vpc2-ncc \
--region=us-central1 \
--range=10.10.10.0/29 \
--purpose=PRIVATE_NAT
یک روتر ابری اختصاصی برای انجام NAT خصوصی ایجاد کنید
gcloud compute routers create private-nat-cr \
--network vpc2-ncc \
--region us-central1
روتر ابری را طوری پیکربندی کنید که منبع NAT آن، محدوده همپوشانی 10.3.3.0/24 از vpc2-ncc باشد. در پیکربندی مثال زیر، "overlapping-vpc3" نام زیرشبکه همپوشانی است. کلمه کلیدی "ALL" مشخص میکند که تمام محدودههای IP در زیرشبکه، منبع NAT خواهند شد.
gcloud beta compute routers nats create ncc2-nat \
--router=private-nat-cr \
--type=PRIVATE \
--nat-custom-subnet-ip-ranges=overlapping-vpc3:ALL \
--router-region=us-central1
مراحل قبلی مجموعهای از محدودههای IP NAT و زیرشبکه خاصی که ترجمه خواهد شد را ایجاد کردند. در این مرحله، قانون NAT "1" را ایجاد کنید که بستههای شبکهای را که با ترافیک منبع از محدوده زیرشبکه همپوشانی مطابقت دارند، در صورتی که شبکه مقصد مسیری را از جدول مسیریابی هاب NCC انتخاب کند، ترجمه میکند.
gcloud beta compute routers nats rules create 1 \
--router=private-nat-cr \
--region=us-central1 \
--match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/$projectname/locations/global/hubs/ncc-hub"' \
--source-nat-active-ranges=ncc2-spoke-nat \
--nat=ncc2-nat
مسیر داده را برای Private NAT تأیید کنید
gcloud beta compute routers nats describe ncc2-nat --router=private-nat-cr
خروجی مثال
enableDynamicPortAllocation: true
enableEndpointIndependentMapping: false
endpointTypes:
- ENDPOINT_TYPE_VM
name: ncc2-nat
rules:
- action:
sourceNatActiveRanges:
- https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/ncc2-spoke-nat
match: nexthop.hub == "//networkconnectivity.googleapis.com/projects/xxxxxxxx/locations/global/hubs/ncc-hub"
ruleNumber: 1
sourceSubnetworkIpRangesToNat: LIST_OF_SUBNETWORKS
subnetworks:
- name: https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/overlapping-vpc3
sourceIpRangesToNat:
- ALL_IP_RANGES
type: PRIVATE
به صورت اختیاری،
- به کنسول وب بروید
- به «خدمات شبکه > ابر NAT > ncc2-nat » بروید
تأیید کنید که تخصیص پورت پویا به طور پیشفرض فعال است.

در مرحله بعد، مسیر دادهای را که از مسیر خصوصی NAT پیکربندی شده برای VPC2 استفاده میکند، تأیید خواهید کرد.

یک نشست SSH به آدرس "vm1-vpc1-ncc" باز کنید و از دستور tcpdump زیر برای دریافت بستههای منبع از محدوده NAT pool "10.10.10.0/29" استفاده کنید.
vm1-vpc1-ncc
sudo tcpdump -i any net 10.10.10.0/29 -n
در زمان نوشتن این کد، Private NAT از بستههای ICMP پشتیبانی نمیکند. به " pNat-vm-vpc2" از طریق SSH متصل شوید و از دستور curl همانطور که در زیر نشان داده شده است برای اتصال به " vm1-vpc1-ncc" روی پورت TCP 80 استفاده کنید.
pnat-vm-vpc2
curl 10.1.1.2 -v
خروجی tcpdump را در "vm1-vpc1-ncc" بررسی کنید. آدرس IP مبدا که جلسه TCP را به سرور وب ما در "vm1-vpc1-ncc" آغاز کرده است، چیست؟
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
19:05:27.504761 ens4 In IP 10.10.10.2.1024 > 10.1.1.2:80: Flags [S], seq 2386228656, win 65320, options [mss 1420,sackOK,TS val 3955849029 ecr 0,nop,wscale 7], length 0
19:05:27.504805 ens4 Out IP 10.1.1.2:80 > 10.10.10.2.1024: Flags [S.], seq 48316785, ack 2386228657, win 64768, options [mss 1420,sackOK,TS val 1815983704 ecr 3955849029,nop,wscale 7], length 0
<output snipped>
۸. پشتیبانی NCC از زیرشبکههای IPv6
مرکز اتصال شبکه از تبادل زیرشبکه IPv6 و تبادل مسیرهای پویا بین NCC VPC Spokes و Hybrid Spokes پشتیبانی میکند. در این بخش، NCC را برای پشتیبانی از حالت تبادل مسیر زیرشبکه IPv6-only و IPv4-and-IPv6 با دو پشته پیکربندی کنید.

یک VPC جدید برای IPv6 ایجاد کنید که به عنوان یک VPC spoke به NCC-Hub متصل شود. GCP به طور خودکار تمام آدرسهای ULA را از محدوده fd20::/20 اختصاص میدهد.
gcloud compute networks create vpc5-ncc \
--subnet-mode custom \
--enable-ula-internal-ipv6
gcloud compute networks subnets create vpc5-ext-ipv6 \ --network=vpc5-ncc \
--stack-type=IPV6 \
--ipv6-access-type=EXTERNAL \
--region=us-central1
gcloud compute networks subnets create vpc5-ipv4-subnet1 \
--network vpc5-ncc \
--range 10.5.5.0/24 \
--region us-central1
از این دستور برای پیکربندی VPC5 به عنوان یک پره NCC استفاده کنید و مسیر زیرشبکه IPv4 را از خروجی گرفتن به جدول مسیر هاب حذف کنید. شبکه ULA IPv6 را به جدول مسیر هاب NCC خروجی بگیرید.
gcloud network-connectivity spokes linked-vpc-network create vpc5-spoke5 \
--hub=ncc-hub \
--vpc-network=vpc5-ncc \
--exclude-export-ranges=10.5.5.0/24
--global
VPC1 و VPC4 را برای آدرسهای محلی منحصر به فرد IPv6 (ULA) خصوصی فعال کنید. GCP به طور خودکار تمام آدرسهای ULA را از محدوده fd20::/20 اختصاص میدهد.
gcloud compute networks update vpc-ncc4 \
--enable-ula-internal-ipv6
gcloud compute networks update vpc-ncc1 \
--enable-ula-internal-ipv6
یک زیرشبکه ipv6 بومی و یک زیرشبکه ipv4_v6 دو پشتهای در VPC1 ایجاد کنید
gcloud compute networks subnets create vpc1-ipv6-sn1 \
--network=vpc-ncc1 \
--stack-type=IPV6_ONLY \
--ipv6-access-type=INTERNAL \
--region=us-central1
gcloud compute networks subnets create vpc1-ipv64-sn2 \
--network=vpc-ncc1 \
--range=10.10.10.0/24 \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=INTERNAL \
--region=us-east1
یک زیرشبکه ipv6 بومی و یک زیرشبکه ipv4_v6 دو پشتهای در VPC4 ایجاد کنید
gcloud compute networks subnets create vpc4-ipv6-sn1 \
--network=vpc-ncc4 \
--stack-type=IPV6_ONLY \
--ipv6-access-type=INTERNAL \
--region=us-central1
gcloud compute networks subnets create vpc4-ipv64-sn2 \
--network=vpc-ncc4 \
--range=10.40.40.0/24 \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=INTERNAL \
--region=us-east1
در VPC1، یک قانون فایروال IPv6 VPC ایجاد کنید تا ترافیک دریافتی از محدوده IPv6 ULA مجاز باشد.
gcloud compute firewall-rules create allow-icmpv6-ula-ncc1 \
--network=vpc-ncc1 \
--action=allow \
--direction=ingress \
--rules=all \
--source-ranges=fd20::/20
در VPC4، یک قانون فایروال IPv6 VPC ایجاد کنید تا ترافیکی که از محدوده IPv6 ULA سرچشمه میگیرد، مجاز باشد.
gcloud compute firewall-rules create allow-icmpv6-ula-ncc4 \
--network=vpc-ncc4 \
--action=allow \
--direction=ingress \
--rules=all \
--source-ranges=fd20::/20
سه نمونه GCE IPv6 ایجاد کنید تا اتصال مسیر داده را در بخش بعدی تأیید کنید. توجه: " vpc1-dualstack-vm" به عنوان یک میزبان پایه برای دسترسی خارج از باند به ماشینهای مجازی GCE بومی IPv6 استفاده خواهد شد.
gcloud compute instances create vpc4-ipv6-vm \
--zone us-central1-a \
--subnet=vpc4-ipv6-sn1 \
--stack-type=IPV6_ONLY
gcloud compute instances create vpc1-ipv6-vm \
--zone us-central1-a \
--subnet=vpc1-ipv6-sn1 \
--stack-type=IPV6_ONLY
gcloud compute instances create vpc1-dual-stack-vm \
--zone us-east1-b \
--network=vpc-ncc1 \
--subnet=vpc2-ipv64-sn2 \
--stack-type=IPV4_IPV6
هاب NCC را برای زیرشبکههای IPv6 بررسی کنید
جدول مسیر هاب NCC را برای زیرشبکههای IPv6 ULA بررسی کنید.
gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"
توجه داشته باشید که خروجی دستور بالا زیرشبکههای IPv6 را فهرست نکرده است. به طور پیشفرض، زیرشبکههای IPv6 از VPC spokes برای صادرات به جدول مسیر هاب NCC لحاظ نمیشوند.
Listed 0 items.
از دستورات gcloud زیر برای بهروزرسانی پرههای VPC1 و VPC4 استفاده کنید تا زیرشبکههای IPv6 به جدول مسیر مرکز NCC صادر شوند.
gcloud network-connectivity spokes linked-vpc-network update vpc1-spoke1 \
--global \
--include-export-ranges=ALL_IPV6_RANGES
gcloud network-connectivity spokes linked-vpc-network update vpc4-spoke4 \
--global \
--include-export-ranges=ALL_IPV6_RANGES
gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
--global \
--include-export-ranges=ALL_IPV6_RANGES
یک بار دیگر، جدول مسیر هاب NCC را برای زیرشبکههای IPv6 ULA بررسی کنید.
gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"
خروجی مثال
IP_CIDR_RANGE PRIORITY LOCATION STATE TYPE SITE_TO_SITE NEXT_HOP HUB ROUTE_TABLE
fd20:c95:95d2:1000:0:0:0:0/64 us-east1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc4 ncc-hub default
fd20:c95:95d2:1:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc4 ncc-hub default
fd20:670:3823:0:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 ncc-hub default
fd20:90:6768:1000:0:0:0:0/64 us-east1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc2 ncc-hub default
fd20:90:6768:0:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc2 ncc-hub default
فیلتر کردن زیرشبکههای IPv6 با استفاده از NCC VPC spokes
جدول مسیر هاب NCC را برای مسیرهای زیرشبکه IPv6 خارجی بررسی کنید
gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"
خروجی مثال، جدول مسیر هاب ncc محدوده IPv6 خارجی را یاد گرفته است.
IP_CIDR_RANGE PRIORITY LOCATION STATE TYPE SITE_TO_SITE NEXT_HOP HUB ROUTE_TABLE
10.5.5.0/24 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 ncc-hub default
2600:1900:4001:ce6:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 ncc-hub default
fd20:670:3823:0:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 ncc-hub default
10.50.10.0/24 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 ncc-hub default
از دستور gcloud زیر برای بهروزرسانی اسپوکهای VPC5 استفاده کنید تا دو زیرشبکه داخلی خاص IPv6 و یک زیرشبکه خارجی IPv6 از تزریق به جدول مسیر هاب NCC مستثنی شوند.
gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
--global \
--include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
--exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64
از دستور gcloud برای تأیید فیلترهای خروجی VPC5 spokes استفاده کنید.
gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
--global \
--include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
--exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64
جدول مسیر هاب NCC را برای مسیرهای زیرشبکه IPv6 خارجی بررسی کنید
gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"
خروجی مثال، جدول مسیر هاب ncc محدوده IPv6 خارجی را یاد گرفته است.
IP_CIDR_RANGE PRIORITY LOCATION STATE TYPE SITE_TO_SITE NEXT_HOP HUB ROUTE_TABLE
fd20:670:3823:0:0:0:0:0/64 us-central1 ACTIVE VPC_PRIMARY_SUBNET N/A vpc-ncc5 demo-mesh-hub default
۹. اتصال مسیر داده را تأیید کنید
اتصال مسیر داده IPv4
به نمودار مراجعه کنید، مسیر داده IPv4 بین هر ماشین مجازی را بررسی کنید.

با SSH به " vm1-vpc1-ncc" وصل شوید و TCP dump را برای ردیابی بستههای ICMP از "vm2-vpc2-ncc" شروع کنید. یادآوری میکنم که این ماشین مجازی روی VPC2 قرار دارد.
vm1-vpc1-ncc
sudo tcpdump -i any icmp -v -e -n
یک جلسه SSH به " vm1-vpc2-ncc" برقرار کنید و آدرس IP " vm1-vpc1-ncc " را "پینگ" کنید.
vm1-vpc2-ncc
ping 10.1.1.2
یک SSH به « vm1-vpc2-ncc» برقرار کنید و آدرس IP « vm1-vpc4-ncc » را «پینگ» کنید.
vm1-vpc2-ncc
ping 240.0.0.2
اتصال مسیر داده IPv6
به نمودار مراجعه کنید، مسیر داده IP64 بین هر ماشین مجازی را بررسی کنید.

از دستور gcloud برای فهرست کردن آدرس IP برای هر نمونه فعالشده با IPv6 استفاده کنید.
gcloud compute instances list --filter="INTERNAL_IP:fd20"
خروجی نمونه
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
vpc1-ipv6-vm us-central1-a n1-standard-1 fd20:90:6768:0:0:1:0:0/96 RUNNING
vpc4-ipv6-vm us-central1-a n1-standard-1 fd20:c95:95d2:1:0:1:0:0/96 RUNNING
vpc1-dual-stack-vm us-east1-b n1-standard-1 10.10.10.3 XXX.196.137.107 RUNNING
fd20:90:6768:1000:0:1:0:0/96
یک جلسه SSH برای " vpc1-dualstack-vm" برقرار کنید و آدرس IPv6 " vpc1-ipv6-vm " را "پینگ" کنید تا اتصال IPv6 را در یک VPC سراسری تأیید کنید.
ping fd20:90:6768:1000:0:1::
یک جلسه SSH برای " vpc1-dualstack-vm" برقرار کنید و آدرس IPv6 مربوط به " vpc4-ipv6-vm " را "پینگ" کنید تا اتصال IPv6 را از طریق یک اتصال NCC تأیید کنید.
ping fd20:c95:95d2:1:0:1::
۱۰. تمیز کردن
به پوسته ابری وارد شوید و نمونههای ماشین مجازی را در شبکههای سایتهای هاب و شعبه حذف کنید
تنظیمات خصوصی VPC Nat را حذف کنید
gcloud beta compute routers nats rules delete 1 \
--nat=ncc2-nat \
--router=private-nat-cr \
--region=us-central1 \
--quiet
gcloud beta compute routers nats delete ncc2-nat \
--router=private-nat-cr \
--router-region=us-central1 \
--quiet
gcloud compute routers delete private-nat-cr \
--region=us-central1 \
--quiet
پرههای ncc را حذف کنید
gcloud network-connectivity spokes delete vpc1-spoke1 --global --quiet
gcloud network-connectivity spokes delete vpc2-spoke2 --global --quiet
gcloud network-connectivity spokes delete vpc3-spoke3 --global --quiet
gcloud network-connectivity spokes delete vpc4-spoke4 --global --quiet
رد پروژه متقابل صحبت کرد
رد پروژه متقابل VPC صحبت کرد از مرکز NCC.
gcloud network-connectivity spokes reject projects/$xprojname/locations/global/spokes/xproj-spoke \--details="cleanup" \
--global
حذف مرکز NCC
gcloud network-connectivity hubs delete ncc-hub --quiet
حذف قوانین فایروال
gcloud compute firewall-rules delete ncc1-vpc-internal --quiet
gcloud compute firewall-rules delete ncc2-vpc-internal --quiet
gcloud compute firewall-rules delete ncc3-vpc-internal --quiet
gcloud compute firewall-rules delete ncc4-vpc-internal --quiet
gcloud compute firewall-rules delete ncc1-vpc-iap --quiet
gcloud compute firewall-rules delete ncc2-vpc-iap --quiet
gcloud compute firewall-rules delete ncc3-vpc-iap --quiet
gcloud compute firewall-rules delete ncc4-vpc-iap --quiet
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc1
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc4
حذف نمونههای GCE
gcloud compute instances delete vm1-vpc1-ncc --zone=us-central1-a --quiet
gcloud compute instances delete vm2-vpc2-ncc --zone=us-central1-a --quiet
gcloud compute instances delete pnat-vm-vpc2 --zone=us-central1-a --quiet
gcloud compute instances delete vm1-vpc4-ncc --zone=us-east1-b --quiet
gcloud compute instances delete vpc4-ipv6-vm --zone us-central1-a --quiet
gcloud compute instances delete vpc2-dual-stack-vm --zone us-east1-b --quiet
gcloud compute instances delete vpc2-ipv6-vm --zone us-central1-a --quiet
حذف زیرشبکههای VPC
gcloud compute networks subnets delete ncc2-spoke-nat --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet2 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet3 --region us-central1 --quiet
gcloud compute networks subnets delete vpc2-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete overlapping-vpc2 --region us-central1 --quiet
gcloud compute networks subnets delete overlapping-vpc3 --region us-central1 --quiet
gcloud compute networks subnets delete benchmark-testing-rfc2544 --region us-east1 --quiet
gcloud compute networks subnets delete class-e-rfc5735 --region us-east1 --quiet
gcloud compute networks subnets delete ietf-protcol-assignment-rfc6890 --region us-east1 --quiet
gcloud compute networks subnets delete ipv6-4-relay-rfc7526 --region us-east1 --quiet
gcloud compute networks subnets delete pupi --region us-east1 --quiet
gcloud compute networks subnets delete test-net-1-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-2-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-3-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc4-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc4-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc5-ext-ipv6 --region=us-central1 --quiet
حذف VPC(ها)
gcloud compute networks delete vpc1-ncc vpc2-ncc vpc3-ncc vpc4-ncc, vpc5-ncc --quiet
۱۱. تبریک میگویم!
شما آزمایشگاه مرکز اتصال شبکه را به پایان رساندهاید!
آنچه را که پوشش دادید
- شبکه Peering VPC تمام مش پیکربندی شده با NCC Hub
- فیلتر حذف اسپوک NCC
- پشتیبانی از اسپوکهای بین پروژهای
- NAT خصوصی بین VPC
مراحل بعدی
©Google, LLC یا شرکتهای وابسته به آن. تمامی حقوق محفوظ است. توزیع نکنید.