שימוש במופע של צעד ניתוב הבא (ללא תגים ועם תגים) של נתיבי IPv6 סטטיים, בכתובת של צעד הניתוב הבא ובשער של צעד הניתוב הבא

1. מבוא

נתיבים מותאמים אישית סטטיים משפיעים על התנהגות ברירת המחדל של הניתוב ב-VPC. מסלולים מותאמים אישית של IPv6 תומכים עכשיו במאפייני צעד נוסף חדשים: next-hop-gateway, ‏ next-hop-instance ו-next-hop-address. ב-codelab הזה מוסבר איך להשתמש בנתיבים מותאמים אישית של IPv6 עם אפשרויות ה-next-hop החדשות האלה באמצעות שתי רשתות VPC שמחוברות באמצעות מכונה וירטואלית עם כמה כרטיסי NIC. בנוסף, תראו איך לשלב כתובות ULA ו-GUA, ואיך לספק גישה ל-VPC של ULA לאינטרנט הציבורי באמצעות היכולת החדשה של נתיב מותאם אישית.

מה תלמדו

  • איך יוצרים נתיב IPv6 בהתאמה אישית עם צעד נוסף (next-hop) של מכונה.
  • איך יוצרים נתיב IPv6 בהתאמה אישית עם צעד נוסף (next-hop) מסוג שער (gateway).
  • איך יוצרים נתיב IPv6 בהתאמה אישית עם next-hop של כתובת next-hop.

מה נדרש

  • פרויקט ב-Google Cloud

2. לפני שמתחילים

עדכון הפרויקט כך שיתמוך ב-codelab

ב-Codelab הזה נעשה שימוש במשתני $כדי לעזור בהטמעת הגדרות 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)")

הארכיטקטורה הכללית של Lab

eae86f3e371e74b8.png

כדי להדגים את שני הסוגים של צמתים קרובים בהתאמה אישית של נתיב, נוצרים 3 רשתות VPC: רשת VPC של לקוח שמשתמשת בכתובות GUA, רשת VPC של שרת שמשתמשת בכתובות ULA ורשת VPC שנייה של שרת שמשתמשת בכתובות GUA.

כדי לאפשר ל-VPC של הלקוח לגשת לשרת ה-ULA, צריך להשתמש במסלול מותאם אישית שמשתמש גם ב-next-hop-instance וגם ב-next-hop-address שמפנים למכונה של שער עם כמה כרטיסי NIC. כדי לספק גישה לשרת ה-GUA (אחרי מחיקת המסלול ::/0 שמוגדר כברירת מחדל), תשתמשו במסלול מותאם אישית עם next-hop-gateway שמצביע על Default Internet Gateway כדי לספק ניתוב באינטרנט.

3. הגדרת 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

אם הפעולה תתבצע בהצלחה, יוצג חלון מסוף ממכונת הלקוח. יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

4. הגדרת 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 

התקנת Apache במכונה של שרת ULA

ב-Cloud Shell, מתחברים למכונה של הלקוח:

gcloud compute ssh server-instance1 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

מריצים את הפקודה הבאה במעטפת של שרת ה-VM:

sudo apt update && sudo apt -y install apache2

מוודאים ש-Apache פועל

sudo systemctl status apache2

החלפת דף האינטרנט שמוגדר כברירת מחדל

echo '<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>' | sudo tee /var/www/html/index.html

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

5. הגדרת 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)

הפעלת שרת VM עם כתובת IPv6 של GUA

ב-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 והתקנת Apache

ב-Cloud Shell, מתחברים למכונה של הלקוח:

gcloud compute ssh server-instance2 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

מריצים את הפקודה הבאה במעטפת של שרת ה-VM:

sudo apt update && sudo apt -y install apache2

מוודאים ש-Apache פועל

sudo systemctl status apache2

החלפת דף האינטרנט שמוגדר כברירת מחדל

echo '<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>' | sudo tee /var/www/html/index.html

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

6. יצירת מכונה של שער

מחיקת מסלול ברירת המחדל של VPC של הלקוח

כדי להתכונן להפניה מחדש של תעבורת ULA v6 למכונה עם כמה כרטיסי NIC ולהשבית את ניתוב תעבורת הנתונים היוצאת (egress) באינטרנט. מוחקים את המסלול ::/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

הפעלת מכונה וירטואלית עם מספר NIC בשער

ב-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, מתחברים למכונה של השער (יכול להיות שיחלפו כמה דקות עד שההתחברות ב-SSH תתבצע בהצלחה בזמן שהמכונה מופעלת):

gcloud compute ssh gateway-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

בתוך המעטפת של ה-VM של השער, מריצים את הפקודה הבאה כדי להפעיל את העברת ה-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

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

7. יצירת מסלולים לבדיקת מכונה של שער (באמצעות שם המכונה)

בקטע הזה תוסיפו מסלולים גם ל-VPC של הלקוח וגם ל-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 ממכונת הלקוח אל server-instance1.

ב-Cloud Shell, מתחברים למכונה של הלקוח:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

בתוך המכונה של הלקוח, מבצעים קריאה ל-curl באמצעות כתובת ה-ULA IPV6 של המכונה server1 (הפקודה מגדירה זמן קצוב קצר של 5 שניות כדי למנוע המתנה ארוכה מדי של 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 למכונה של השרת. (הפקודה מגדירה זמן קצוב קצר של 5 שניות כדי למנוע מ-curl להמתין זמן רב מדי)

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

עדיין חל זמן קצוב לפקודת ה-curl כי עדיין אין ל-VPC של server1 נתיב חזרה ל-VPC של הלקוח דרך מכונה של השער.

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

הוספת נתיב בהתאמה אישית ב-VPC של שרת ULA

ב-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 בתור צמתים הבאים.

פלט לדוגמה

<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>

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

8. יצירת מסלולים לבדיקת מכונה של שער (באמצעות כתובת המכונה)

בקטע הזה תוסיפו מסלולים גם ל-VPC של הלקוח וגם ל-VPC של השרת, באמצעות כתובת ה-IPv6 של מכונת השער בתור הצעד הבא.

מחיקה של מסלולים קודמים

נמחק את הנתיבים המותאמים אישית שמשתמשים בשם המכונה כדי לשחזר את הסביבה למצב שהיה לפני הוספת הנתיבים המותאמים אישית.

ב-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 ממכונת הלקוח לעבר server-instance1.

ב-Cloud Shell, מתחברים למכונה של הלקוח:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

בתוך המכונה של הלקוח, מבצעים קריאה ל-curl באמצעות כתובת ה-ULA IPV6 של המכונה server1 (הפקודה מגדירה זמן קצוב קצר של 5 שניות כדי למנוע המתנה ארוכה מדי של 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 של הלקוח דרך מכונה של שער.

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

הוספת נתיב בהתאמה אישית ב-VPC של שרת ULA

ב-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 בתור צמתים הבאים.

פלט לדוגמה

<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>

יוצאים מסשן ה-SSH כדי להמשיך בקודלאב.

9. יצירת נתיב לשער האינטרנט ובדיקה שלו

בזמן שהסביבת ה-Lab מוגדרת, נבדוק גם את הפונקציונליות של המאפיין החדש של צעד הבא: next-hop-gateway.

הרצת פקודת curl מהלקוח למכונה של שרת GUA

כדי לראות את ההתנהגות לפני שמוסיפים מסלולים חדשים. מריצים את הפקודה curl ממכונת הלקוח לכתובת ה-IP של server2.

ב-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 הזו אמורה לפוג זמן קצוב, כי ל-VPC של הלקוח יש רק נתיב משלו לתת-רשת ונתיב ל-VPC של server1. כדי להגיע לטווח ה-GUA של VPC של server2, צריך להשתמש בשער האינטרנט שמוגדר כברירת מחדל דרך מסלול מותאם אישית.

יוצאים מסשן ה-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 כדי לעבור לקטע הניקוי של הסדנה.

10. הסרת המשאבים

פינוי מכונות

ב-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

11. מזל טוב

השתמשתם בהצלחה במסלולי IPv6 מותאמים אישית סטטיים עם נתיבי next-hop שהוגדרו כ-next-hop-gateway , ‏ next-hop-instance ו-next-hop-address. בנוסף, אימתתם תקשורת IPv6 מקצה לקצה באמצעות המסלולים האלה.

מה השלב הבא?

כדאי לעיין בחלק מהקורסים האלה ב-Codelab…

קריאה נוספת וסרטונים

מסמכי עזר