۱. مقدمه
مسیرهای سفارشی استاتیک بر رفتار مسیریابی پیشفرض در یک VPC تأثیر میگذارند. مسیرهای سفارشی IPv6 اکنون از ویژگیهای جدید next-hop پشتیبانی میکنند: next-hop-gateway، next-hop-instance و next-hop-address. این آزمایشگاه کد نحوه استفاده از مسیرهای سفارشی IPv6 را با این گزینههای جدید next-hop با استفاده از دو VPC متصل به یک نمونه ماشین مجازی چند کارت شبکهای شرح میدهد. همچنین نحوه ترکیب آدرسدهی ULA و GUA و فراهم کردن دسترسی به ULA VPC به اینترنت عمومی با استفاده از قابلیت جدید custom route را نشان خواهید داد.
آنچه یاد خواهید گرفت
- نحوه ایجاد یک مسیر سفارشی IPv6 با نمونه گام بعدی گام بعدی.
- نحوه ایجاد یک مسیر سفارشی IPv6 با یک next-hop-gateway next-hop.
- نحوه ایجاد یک مسیر سفارشی IPv6 با آدرس گام بعدی گام بعدی.
آنچه نیاز دارید
- پروژه ابری گوگل
۲. قبل از شروع
پروژه را برای پشتیبانی از codelab بهروزرسانی کنید
این Codelab از $variables برای کمک به پیادهسازی پیکربندی gcloud در Cloud Shell استفاده میکند.
درون Cloud Shell، موارد زیر را انجام دهید
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export projectname=$(gcloud config list --format="value(core.project)")
معماری کلی آزمایشگاه

برای نمایش هر دو نوع گام بعدی مسیر سفارشی، شما 3 VPC ایجاد خواهید کرد: یک VPC کلاینت که از آدرسدهی GUA استفاده میکند، یک VPC سرور که از آدرسدهی ULA استفاده میکند و یک VPC سرور دوم که از آدرسدهی GUA استفاده میکند.
برای دسترسی کلاینت VPC به سرور ULA، شما از یک مسیر سفارشی با استفاده از هر دو next-hop-instance و next-hop-address که به یک نمونه دروازه چند کارت شبکهای اشاره میکنند، استفاده خواهید کرد. برای دسترسی به سرور GUA (پس از حذف مسیر پیشفرض ::/0)، از یک مسیر سفارشی با next-hop-gateway که به Default Internet Gateway اشاره میکند، استفاده خواهید کرد تا مسیریابی از طریق اینترنت فراهم شود.
۳. تنظیمات VPC کلاینت
ایجاد VPC کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks create client-vpc \
--project=$projectname \
--subnet-mode=custom \
--mtu=1500 --bgp-routing-mode=regional
زیرشبکه کلاینت را ایجاد کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks subnets create client-subnet \
--network=client-vpc \
--project=$projectname \
--range=192.168.1.0/24 \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=external \
--region=us-central1
با استفاده از این دستور، زیرشبکه GUA اختصاص داده شده را در یک متغیر محیطی ثبت کنید.
export client_subnet=$(gcloud compute networks subnets \
describe client-subnet \
--project $projectname \
--format="value(externalIpv6Prefix)" \
--region us-central1)
راهاندازی نمونه کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances create client-instance \
--subnet client-subnet \
--stack-type IPV4_IPV6 \
--zone us-central1-a \
--project=$projectname
اضافه کردن قانون فایروال برای ترافیک VPC کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-gateway-client \
--direction=INGRESS --priority=1000 \
--network=client-vpc --action=ALLOW \
--rules=tcp --source-ranges=$client_subnet \
--project=$projectname
اضافه کردن قانون فایروال برای اجازه دادن به IAP برای نمونه کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-iap-client \
--direction=INGRESS --priority=1000 \
--network=client-vpc --action=ALLOW \
--rules=tcp:22 --source-ranges=35.235.240.0/20 \
--project=$projectname
دسترسی SSH به نمونه کلاینت را تأیید کنید
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
در صورت موفقیت، یک پنجره ترمینال از نمونه کلاینت مشاهده خواهید کرد. برای ادامه کار با codelab از جلسه SSH خارج شوید.
۴. تنظیمات VPC سرور ULA
ایجاد VPC سرور ULA
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks create server-vpc1 \
--project=$projectname \
--subnet-mode=custom --mtu=1500 \
--bgp-routing-mode=regional \
--enable-ula-internal-ipv6
زیرشبکههای سرور ULA را ایجاد کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks subnets create server-subnet1 \
--network=server-vpc1 \
--project=$projectname \
--range=192.168.0.0/24 \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=internal \
--region=us-central1
با استفاده از این دستور، زیرشبکه ULA اختصاص داده شده را در یک متغیر محیطی ثبت کنید.
export server_subnet1=$(gcloud compute networks subnets \
describe server-subnet1 \
--project $projectname \
--format="value(internalIpv6Prefix)" \
--region us-central1)
راهاندازی ماشین مجازی سرور با آدرس IPV6 داخلی ULA
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances create server-instance1 \
--subnet server-subnet1 \
--stack-type IPV4_IPV6 \
--zone us-central1-a \
--project=$projectname
اضافه کردن قانون فایروال برای دسترسی به سرور از طریق کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-client-server1 \
--direction=INGRESS --priority=1000 \
--network=server-vpc1 --action=ALLOW \
--rules=tcp --source-ranges=$client_subnet \
--project=$projectname
اضافه کردن قانون فایروال برای اجازه دادن به IAP
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-iap-server1 \
--direction=INGRESS --priority=1000 \
--network=server-vpc1 --action=ALLOW \
--rules=tcp:22 \
--source-ranges=35.235.240.0/20 \
--project=$projectname
نصب آپاچی در سرور ULA
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh server-instance1 \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
داخل پوسته ماشین مجازی سرور، دستور زیر را اجرا کنید
sudo apt update && sudo apt -y install apache2
تأیید کنید که آپاچی در حال اجرا است
sudo systemctl status apache2
صفحه وب پیشفرض را بازنویسی کنید
echo '<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>' | sudo tee /var/www/html/index.html
برای ادامه کار با codelab از جلسه SSH خارج شوید.
۵. راهاندازی VPC سرور GUA
ایجاد VPC سرور GUA
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks create server-vpc2 \
--project=$projectname \
--subnet-mode=custom --mtu=1500 \
--bgp-routing-mode=regional
زیرشبکههای سرور GUA را ایجاد کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks subnets create server-subnet2 \
--network=server-vpc2 \
--project=$projectname \
--range=192.168.0.0/24 \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=external \
--region=us-central1
با استفاده از این دستور، زیرشبکه GUA اختصاص داده شده را در یک متغیر محیطی ثبت کنید.
export server_subnet2=$(gcloud compute networks subnets \
describe server-subnet2 \
--project $projectname \
--format="value(externalIpv6Prefix)" \
--region us-central1)
راه اندازی ماشین مجازی سرور با آدرس GUA IPV6
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances create server-instance2 \
--subnet server-subnet2 \
--stack-type IPV4_IPV6 \
--zone us-central1-a \
--project=$projectname
اضافه کردن قانون فایروال برای اجازه دسترسی در زیرشبکه
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-client-server2 \
--direction=INGRESS \
--priority=1000 \
--network=server-vpc2 \
--action=ALLOW \
--rules=tcp --source-ranges=$client_subnet \
--project=$projectname
اضافه کردن قانون فایروال برای اجازه دادن به IAP
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules create allow-iap-server2 \
--direction=INGRESS \
--priority=1000 \
--network=server-vpc2 \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=35.235.240.0/20 \
--project=$projectname
دسترسی SSH به نمونه سرور GUA را تأیید کنید و آپاچی را نصب کنید
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh server-instance2 \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
داخل پوسته ماشین مجازی سرور، دستور زیر را اجرا کنید
sudo apt update && sudo apt -y install apache2
تأیید کنید که آپاچی در حال اجرا است
sudo systemctl status apache2
صفحه وب پیشفرض را بازنویسی کنید
echo '<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>' | sudo tee /var/www/html/index.html
برای ادامه کار با codelab از جلسه SSH خارج شوید.
۶. ایجاد نمونهی Gateway
مسیر پیشفرض کلاینت VPC را حذف کنید
برای آمادهسازی جهت هدایت ترافیک ULA نسخه ۶ به نمونه چند کارت شبکهای و غیرفعال کردن مسیریابی خروجی اینترنت، مسیر پیشفرض ::/0 را که به دروازه اینترنتی پیشفرض اشاره دارد، حذف کنید.
درون Cloud Shell، موارد زیر را انجام دهید:
export client_defroutename=$(gcloud compute routes list \
--project $projectname \
--format='value(name)' \
--filter="network:client-vpc AND destRange~'::/0'")
gcloud compute routes delete $client_defroutename \
--project $projectname \
--quiet
راه اندازی ماشین مجازی چند کارت شبکه ای با درگاه ورودی
درون Cloud Shell، موارد زیر را انجام دهید: درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances create gateway-instance \
--project=$projectname \
--zone=us-central1-a \
--network-interface=stack-type=IPV4_IPV6,subnet=client-subnet,no-address \
--network-interface=stack-type=IPV4_IPV6,subnet=server-subnet1,no-address \
--can-ip-forward
پیکربندی نمونه دروازه
درون Cloud Shell، به نمونهی gateway وارد شوید (ممکن است چند دقیقه طول بکشد تا SSH با موفقیت در حین بوت شدن نمونه انجام شود):
gcloud compute ssh gateway-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون پوسته ماشین مجازی دروازه، دستور زیر را اجرا کنید تا ارسال IPv6 فعال شود و RAها با فعال بودن ارسال، همچنان پذیرفته شوند (accept_ra = 2)
sudo sysctl -w net.ipv6.conf.ens4.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens5.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens4.accept_ra_defrtr=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
جدول مسیریابی IPv6 را روی نمونه تأیید کنید
ip -6 route show
نمونه خروجی که مسیرهای زیرشبکه ULA و GUA را نشان میدهد، با مسیر پیشفرض که به رابط GUA اشاره میکند.
::1 dev lo proto kernel metric 256 pref medium
2600:1900:4000:7a7f:0:1:: dev ens4 proto kernel metric 256 expires 83903sec pref medium
2600:1900:4000:7a7f::/65 via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium
fd20:3df:8d5c::1:0:0 dev ens5 proto kernel metric 256 expires 83904sec pref medium
fd20:3df:8d5c::/64 via fe80::4001:c0ff:fea8:1 dev ens5 proto ra metric 1024 expires 84sec pref medium
fe80::/64 dev ens5 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
default via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium
برای ادامه کار با codelab از جلسه SSH خارج شوید.
۷. ایجاد و آزمایش مسیرها به نمونه دروازه (با استفاده از نام نمونه)
در این بخش، با استفاده از نام نمونه دروازه به عنوان گام بعدی، مسیرها را به هر دو VPC کلاینت و سرور اضافه خواهید کرد.
آدرسهای سرور را یادداشت کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances list \
--project $projectname \
--filter="name~server-instance" \
--format='value[separator=","](name,networkInterfaces[0].ipv6Address,networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)'
این باید هم نام نمونههای سرور و هم پیشوندهای IPv6 آنها را نمایش دهد. نمونه خروجی
server-instance1,fd20:3df:8d5c:0:0:0:0:0,
server-instance2,,2600:1900:4000:71fd:0:0:0:0
هر دو آدرس را یادداشت کنید زیرا بعداً از آنها در دستورات curl از نمونه کلاینت استفاده خواهید کرد. متأسفانه متغیرهای محیطی را نمیتوان به راحتی برای ذخیره این موارد استفاده کرد زیرا از طریق جلسات SSH منتقل نمیشوند.
اجرای دستور curl از کلاینت به نمونه سرور ULA
برای مشاهدهی رفتار قبل از اضافه کردن هر مسیر جدید، دستور curl را از نمونهی کلاینت به سمت نمونهی سرور ۱ اجرا کنید.
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، با استفاده از آدرس ULA IPV6 نمونه server1، یک curl انجام دهید (این دستور یک timeout کوتاه ۵ ثانیهای تنظیم میکند تا از انتظار طولانی curl جلوگیری شود)
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
این دستور curl باید دچار وقفه زمانی شود زیرا VPC کلاینت هنوز مسیری به سمت VPC سرور ندارد.
بیایید سعی کنیم آن را درست کنیم! فعلاً از جلسه SSH خارج شوید.
اضافه کردن مسیر سفارشی در VPC کلاینت
از آنجایی که کلاینت VPC مسیری به سمت پیشوند ULA ندارد، بیایید اکنون آن را اضافه کنیم.
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes create client-to-server1-route \
--project=$projectname \
--destination-range=$server_subnet1 \
--network=client-vpc \
--next-hop-instance=gateway-instance \
--next-hop-instance-zone=us-central1-a
با SSH به نمونه کلاینت برگردید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، دوباره curl را روی نمونه سرور امتحان کنید. (این دستور یک زمان انتظار کوتاه ۵ ثانیهای تنظیم میکند تا از انتظار طولانی curl جلوگیری شود.)
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
این دستور curl هنوز timeout دارد زیرا VPC سرور1 هنوز مسیری برای برگشت به VPC کلاینت از طریق نمونه gateway ندارد.
برای ادامه کار با codelab از جلسه SSH خارج شوید.
اضافه کردن مسیر سفارشی در ULA Server VPC
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes create server1-to-client-route \
--project=$projectname \
--destination-range=$client_subnet \
--network=server-vpc1 \
--next-hop-instance=gateway-instance \
--next-hop-instance-zone=us-central1-a
با SSH به نمونه کلاینت برگردید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، یک بار دیگر curl را روی نمونه سرور امتحان کنید.
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
این دستور curl اکنون با موفقیت نشان میدهد که شما از نمونه کلاینت به نمونه سرور ULA دسترسی سرتاسری دارید. این اتصال اکنون فقط از طریق استفاده از مسیرهای سفارشی IPv6 با next-hop-instance به عنوان next-hops امکانپذیر است.
خروجی نمونه
<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>
برای ادامه کار با codelab از جلسه SSH خارج شوید.
۸. ایجاد و آزمایش مسیرها به نمونه دروازه (با استفاده از آدرس نمونه)
در این بخش، با استفاده از آدرس ipv6 نمونهی گیتوی به عنوان گام بعدی، مسیرها را به هر دو VPC کلاینت و سرور اضافه خواهید کرد.
حذف مسیرهای قبلی
بیایید با حذف مسیرهای سفارشی که از نام نمونه استفاده میکنند، محیط را به قبل از اضافه کردن هرگونه مسیر سفارشی بازگردانیم.
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes delete client-to-server1-route --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route --quiet --project=$projectname
اجرای دستور curl از کلاینت به نمونه سرور ULA
برای تأیید اینکه مسیرهای قبلی با موفقیت حذف شدهاند، یک دستور curl را از نمونه کلاینت به سمت نمونه سرور1 اجرا کنید.
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، با استفاده از آدرس ULA IPV6 نمونه server1، یک curl انجام دهید (این دستور یک timeout کوتاه ۵ ثانیهای تنظیم میکند تا از انتظار طولانی curl جلوگیری شود)
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
این دستور curl باید دچار وقفه زمانی شود زیرا VPC کلاینت دیگر مسیری به سمت VPC سرور ندارد.
دریافت آدرسهای IPv6 نمونه دروازه
قبل از اینکه بتوانیم مسیرهایی بنویسیم که از next-hop-address استفاده میکنند، باید آدرسهای IPv6 نمونهی گیتوی را دریافت کنیم.
درون Cloud Shell، موارد زیر را انجام دهید:
export gateway_ula_address=$(gcloud compute instances \
describe gateway-instance \
--project $projectname \
--format='value(networkInterfaces[1].ipv6Address)')
export gateway_gua_address=$(gcloud compute instances \
describe gateway-instance \
--project $projectname \
--format='value(networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)')
اضافه کردن مسیر سفارشی در VPC کلاینت
اکنون میتوانیم مسیر را در VPC کلاینت با پیشوند ULA دوباره اضافه کنیم، اما در عوض از آدرس GUA گیتوی به عنوان گام بعدی استفاده کنیم.
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes create client-to-server1-route \
--project=$projectname \
--destination-range=$server_subnet1 \
--network=client-vpc \
--next-hop-address=$gateway_gua_address
با SSH به نمونه کلاینت برگردید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، دوباره curl را به نمونه سرور امتحان کنید.
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
همانطور که انتظار میرفت، این دستور curl همچنان دچار وقفه زمانی میشود زیرا VPC مربوط به server1 هنوز مسیری برای بازگشت به VPC کلاینت از طریق نمونه gateway ندارد.
برای ادامه کار با codelab از جلسه SSH خارج شوید.
اضافه کردن مسیر سفارشی در ULA Server VPC
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes create server1-to-client-route \
--project=$projectname \
--destination-range=$client_subnet \
--network=server-vpc1 \
--next-hop-address=$gateway_ula_address
با SSH به نمونه کلاینت برگردید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، یک بار دیگر curl را روی نمونه سرور امتحان کنید.
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
این دستور curl اکنون با موفقیت نشان میدهد که شما از نمونه کلاینت به سمت نمونه سرور ULA دسترسی سرتاسری دارید. این اتصال اکنون فقط از طریق استفاده از مسیرهای سفارشی IPv6 با next-hop-address به عنوان next-hops امکانپذیر است.
خروجی نمونه
<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>
برای ادامه کار با codelab از جلسه SSH خارج شوید.
۹. ایجاد و آزمایش مسیر به دروازه اینترنت
در حالی که این تنظیمات آزمایشگاهی را دارید، بیایید عملکرد ویژگی جدید next-hop یعنی next-hop-gateway را نیز آزمایش کنیم.
اجرای دستور curl از کلاینت به نمونه سرور GUA
برای مشاهدهی رفتار قبل از اضافه کردن هرگونه مسیر جدید، یک دستور curl را از نمونهی کلاینت به سمت آدرس IP سرور ۲ اجرا کنید.
درون Cloud Shell، به نمونه کلاینت وارد شوید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، یک curl به سمت نقطه پایانی IPv6 انجام دهید.
curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'
این دستور curl باید دچار timeout شود زیرا VPC کلاینت فقط مسیر زیرشبکه خود و یک مسیر به VPC سرور ۱ دارد. برای اینکه بتوانید به محدوده GUA سرور ۲ VPC دسترسی پیدا کنید، باید از طریق یک مسیر سفارشی از دروازه اینترنت پیشفرض استفاده کنید.
برای ادامه کار با codelab از جلسه SSH خارج شوید.
اضافه کردن مسیر دروازه سفارشی در VPC کلاینت
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes create client-to-server2-route \
--project=$projectname \
--destination-range=$server_subnet2 \
--network=client-vpc \
--next-hop-gateway=default-internet-gateway
با SSH به نمونه کلاینت برگردید:
gcloud compute ssh client-instance \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
درون نمونه کلاینت، همان curl را تکرار کنید
curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'
این دستور curl اکنون باید پیام hello سفارشی را برگرداند، که نشان میدهد شما با موفقیت توانستید از طریق دروازه اینترنتی پیشفرض به آدرس IPv6 سرور دیگر دسترسی پیدا کنید.
خروجی نمونه:
<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[2600:1900:4000:71fd:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>
برای انجام بخش پاکسازی آزمایشگاه، از جلسه SSH خارج شوید.
۱۰. تمیز کردن
موارد را پاک کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute instances delete client-instance --zone us-central1-a --quiet --project=$projectname
gcloud compute instances delete server-instance1 --zone us-central1-a --quiet --project=$projectname
gcloud compute instances delete server-instance2 --zone us-central1-a --quiet --project=$projectname
gcloud compute instances delete gateway-instance --zone us-central1-a --quiet --project=$projectname
پاکسازی زیرشبکهها
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks subnets delete client-subnet --region=us-central1 --quiet --project=$projectname
gcloud compute networks subnets delete server-subnet1 --region=us-central1 --quiet --project=$projectname
gcloud compute networks subnets delete server-subnet2 --region=us-central1 --quiet --project=$projectname
پاک کردن قوانین فایروال
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute firewall-rules delete allow-iap-client --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server1 --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server2 --quiet --project=$projectname
gcloud compute firewall-rules delete allow-gateway-client --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server1 --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server2 --quiet --project=$projectname
مسیرهای سفارشی را تمیز کنید
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute routes delete client-to-server1-route --quiet --project=$projectname
gcloud compute routes delete client-to-server2-route --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route --quiet --project=$projectname
پاک کردن VPC ها
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks delete client-vpc --quiet --project=$projectname
gcloud compute networks delete server-vpc1 --quiet --project=$projectname
gcloud compute networks delete server-vpc2 --quiet --project=$projectname
۱۱. تبریک
شما با موفقیت از مسیرهای IPv6 سفارشی استاتیک با next-hops تنظیم شده روی next-hop-gateway، next-hop-instance و next-hop-address استفاده کردید. همچنین ارتباط IPv6 انتها به انتها را با استفاده از این مسیرها اعتبارسنجی کردید.
بعدش چی؟
به برخی از این آزمایشگاههای کد نگاهی بیندازید...
- دسترسی به APIهای گوگل از طریق میزبانهای داخلی با استفاده از آدرسهای IPv6
- گزینههای آدرسدهی IP نسخه ۴ و ۶