IPv6 स्टैटिक रूट के अगले हॉप इंस्टेंस (बिना टैग और टैग किए गए), अगले हॉप पते, और अगले हॉप गेटवे का इस्तेमाल करना

इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी
schedule60 मिनट
subjectपिछली बार 21 मार्च 2025 को अपडेट किया गया
account_circleGhaleb Al-Habian ने लिखा

स्टैटिक कस्टम रूट, VPC में डिफ़ॉल्ट रूटिंग के व्यवहार पर असर डालते हैं. IPv6 कस्टम रूट में अब नेक्स्ट-हॉप के नए एट्रिब्यूट काम करते हैं: next-hop-gateway, next-hop-instance, और next-hop-address. इस कोडलैब में, नेक्स्ट-हॉप के इन नए विकल्पों के साथ आईपीवी6 कस्टम रूट इस्तेमाल करने का तरीका बताया गया है. इसके लिए, मल्टी-एनआईसी वीएम इंस्टेंस से कनेक्ट किए गए दो वीपीसी का इस्तेमाल किया गया है. इसमें, यूएलए और जीयूए पते को मिलाने और कस्टम रूट की नई सुविधा का इस्तेमाल करके, यूएलए वीपीसी को सार्वजनिक इंटरनेट से कनेक्ट करने का तरीका भी दिखाया जाएगा.

  • ILB का नाम बताकर, next-hop-ilb next-hop के साथ IPv6 कस्टम रूट बनाने का तरीका
  • आईएलबी के आईपीवी6 पते की जानकारी देकर, next-hop-ilb नेक्स्ट-हॉप के साथ IPv6 कस्टम रूट बनाने का तरीका

आपको किन चीज़ों की ज़रूरत होगी

  • Google Cloud प्रोजेक्ट

2. शुरू करने से पहले

कोडलैब के साथ काम करने के लिए प्रोजेक्ट को अपडेट करना

इस कोडलैब में, Cloud Shell में gcloud कॉन्फ़िगरेशन लागू करने में मदद करने के लिए, $variables का इस्तेमाल किया गया है.

Cloud Shell में, ये काम करें

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export projectname=$(gcloud config list --format="value(core.project)")

लैब का पूरा आर्किटेक्चर

5fc56288b4f8ae05.png

कस्टम रूट के नेक्स्ट-हॉप के दोनों टाइप को दिखाने के लिए, आपको दो वीपीसी बनाने होंगे: क्लाइंट और सर्वर वीपीसी, जो यूएलए पते का इस्तेमाल करते हैं.

क्लाइंट वीपीसी को सर्वर को ऐक्सेस करने के लिए, आपको एक कस्टम रूट का इस्तेमाल करना होगा. यह रूट, दो आईएलबी के बीच मौजूद मल्टी-एनआईसी गेटवे इंस्टेंस के ग्रुप के सामने, आईएलबी (आईएलबी के नाम का इस्तेमाल करके) पर पॉइंट करने वाले next-hop-ilb का इस्तेमाल करेगा. डिफ़ॉल्ट ::/0 रूट मिटाने के बाद, क्लाइंट इंस्टेंस पर वापस रूटिंग करने के लिए, आपको ILB पर पॉइंट करने वाले next-hop-ilb (ILB के पते का इस्तेमाल करके) के साथ कस्टम रूट का इस्तेमाल करना होगा.

3. क्लाइंट वीपीसी सेटअप

क्लाइंट VPC बनाना

Cloud Shell में, ये काम करें:

gcloud compute networks create client-vpc \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional \
    --enable-ula-internal-ipv6

क्लाइंट सबनेट बनाना

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=internal \
    --region=us-central1

इस निर्देश का इस्तेमाल करके, असाइन किए गए IPv6 सबनेट को एनवायरमेंट वैरिएबल में रिकॉर्ड करें

export client_subnet=$(gcloud compute networks subnets \
    describe client-subnet \
    --project $projectname \
    --format="value(internalIpv6Prefix)" \
    --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 

क्लाइंट इंस्टेंस में एसएसएच ऐक्सेस की पुष्टि करना

Cloud Shell में, क्लाइंट-इंस्टेंस में लॉग इन करें:

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

अगर क्लाइंट इंस्टेंस से कनेक्ट हो जाता है, तो आपको क्लाइंट इंस्टेंस की टर्मिनल विंडो दिखेगी. कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.

4. सर्वर वीपीसी सेटअप

सर्वर वीपीसी बनाना

Cloud Shell में, ये काम करें:

gcloud compute networks create server-vpc \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional \
    --enable-ula-internal-ipv6

सर्वर सबनेट बनाना

Cloud Shell में, ये काम करें:

gcloud compute networks subnets create server-subnet \
    --network=server-vpc \
    --project=$projectname \
    --range=192.168.0.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=internal \
    --region=us-central1

इस कमांड का इस्तेमाल करके, असाइन किए गए सबनेट को किसी एनवायरमेंट वैरिएबल में रिकॉर्ड करें

export server_subnet=$(gcloud compute networks subnets \
    describe server-subnet \
    --project $projectname \
    --format="value(internalIpv6Prefix)" \
    --region us-central1)

सर्वर VM लॉन्च करना

Cloud Shell में, ये काम करें:

gcloud compute instances create server-instance \
    --subnet server-subnet \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

क्लाइंट से सर्वर को ऐक्सेस करने की अनुमति देने के लिए, फ़ायरवॉल नियम जोड़ना

Cloud Shell में, ये काम करें:

gcloud compute firewall-rules create allow-client-server \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

आईएपी को अनुमति देने के लिए फ़ायरवॉल नियम जोड़ना

Cloud Shell में, ये काम करें:

gcloud compute firewall-rules create allow-iap-server \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --project=$projectname 

ULA सर्वर इंस्टेंस में Apache इंस्टॉल करना

Cloud Shell में, क्लाइंट-इंस्टेंस में लॉग इन करें:

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

सर्वर वर्चुअल मशीन के शेल में, यह कमांड चलाएं

sudo apt update && sudo apt -y install apache2

पुष्टि करना कि Apache चल रहा है

sudo systemctl status apache2

डिफ़ॉल्ट वेब पेज को बदलना

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

कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.

5. गेटवे इंस्टेंस बनाना

कई एनआईसी वाला गेटवे इंस्टेंस टेंप्लेट बनाना

Cloud Shell में, ये काम करें:

gcloud compute instance-templates create gateway-instance-template \
    --project=$projectname \
    --instance-template-region=us-central1 \
    --region=us-central1 \
--network-interface=stack-type=IPV4_IPV6,subnet=client-subnet,no-address \
--network-interface=stack-type=IPV4_IPV6,subnet=server-subnet,no-address \
    --can-ip-forward \
    --metadata=startup-script='#! /bin/bash 
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'

कई एनआईसी वाला गेटवे इंस्टेंस ग्रुप बनाना

Cloud Shell में, ये काम करें:

gcloud compute instance-groups managed create gateway-instance-group \
    --project=$projectname \
    --base-instance-name=gateway-instance \
      --template=projects/$projectname/regions/us-central1/instanceTemplates/gateway-instance-template \
    --size=2 \
    --zone=us-central1-a

गेटवे इंस्टेंस की पुष्टि करना

यह पक्का करने के लिए कि हमारी स्टार्टअप स्क्रिप्ट सही तरीके से पास की गई है और v6 रूटिंग टेबल सही है. किसी गेटवे इंस्टेंस पर एसएसएच से कनेक्ट करना

Cloud Shell में, गेटवे इंस्टेंस की सूची देखने के लिए, यह तरीका अपनाएं:

gcloud compute instances list \
    --project=$projectname \
    --zones=us-central1-a \
    --filter name~gateway \
    --format 'csv(name)'

इंस्टेंस के किसी एक नाम को नोट करें और इंस्टेंस पर एसएसएच करने के लिए, अगले निर्देश में उसका इस्तेमाल करें.

Cloud Shell में, गेटवे के किसी एक इंस्टेंस में लॉग इन करें

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

आईपीवी6 फ़ॉरवर्डिंग की जांच करने के लिए, गेटवे VM शेल में यह कमांड चलाएं

sudo sysctl net.ipv6.conf.all.forwarding

कमांड से "1" वैल्यू मिलनी चाहिए, जिससे पता चलता है कि IPv6 फ़ॉरवर्डिंग चालू है.

इंस्टेंस पर आईपीवी6 रूटिंग टेबल की पुष्टि करना

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

कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.

6. लोड बैलेंसर कॉम्पोनेंट बनाना

दोनों वीपीसी में रूट बनाने से पहले, हमें ट्रैफ़िक को फ़ॉरवर्ड करने के लिए, गेटवे इंस्टेंस के दोनों तरफ़ इंटरनल पासथ्रू लोड बैलेंसर बनाने होंगे.

इस कोडलैब में बनाए गए लोड बैलेंसर में ये शामिल हैं

  • हेल्थ चेक: इस कोडलैब में, हम पोर्ट 22 को टारगेट करने वाली आसान हेल्थ चेक बनाएंगे. ध्यान दें कि हेल्थ चेक, डिप्लॉय किए गए तरीके से काम नहीं करेंगी. इसके लिए, आपको हेल्थ चेक की अनुमति देने और गेटवे इंस्टेंस पर खास रूट बनाने के लिए, फ़ायरवॉल के नियम जोड़ने होंगे. इस कोडलैब में आईपीवी6 फ़ॉरवर्डिंग पर फ़ोकस किया गया है. इसलिए, जब सभी बैकएंड काम नहीं कर रहे होंगे, तब हम इंटरनल पास-थ्रू लोड बैलेंसर के ट्रैफ़िक डिस्ट्रिब्यूशन के डिफ़ॉल्ट व्यवहार पर भरोसा करेंगे. इसका मतलब है कि हम आखिरी विकल्प के तौर पर सभी बैकएंड पर फ़ॉरवर्ड करेंगे.
  • बैकएंड सेवा: हम बैकएंड सेवा के लिए प्रोटोकॉल टीसीपी का इस्तेमाल करेंगे. हालांकि, लोड बैलेंसर को रूटिंग के मकसद से बनाया जाता है. इसलिए, बैकएंड सेवा के प्रोटोकॉल के बावजूद, सभी प्रोटोकॉल को फ़ॉरवर्ड किया जाता है.
  • फ़ॉरवर्ड करने का नियम: हम हर VPC के लिए एक फ़ॉरवर्ड करने का नियम बनाते हैं .
  • इंटरनल IPv6 पता: इस कोडलैब में, हम फ़ॉरवर्डिंग नियम को सबनेट से IPv6 पते अपने-आप असाइन करने देंगे

परफ़ॉर्मेंस की जांच करना

Cloud Shell में, ये काम करें:

gcloud compute health-checks create tcp tcp-hc-22 \
    --project=$projectname \
    --region=us-central1 \
    --port=22

बैकएंड सेवाएं बनाना

Cloud Shell में, ये काम करें:

gcloud compute backend-services create bes-ilb-clientvpc \
    --project=$projectname \
    --load-balancing-scheme=internal \
    --protocol=tcp \
    --network=client-vpc \
    --region=us-central1 \
    --health-checks=tcp-hc-22 \
    --health-checks-region=us-central1

gcloud compute backend-services create bes-ilb-servervpc \
    --project=$projectname \
    --load-balancing-scheme=internal \
    --protocol=tcp \
    --network=server-vpc \
    --region=us-central1 \
    --health-checks=tcp-hc-22 \
    --health-checks-region=us-central1

बैकएंड सेवा में इंस्टेंस ग्रुप जोड़ना

Cloud Shell में, ये काम करें:

gcloud compute backend-services add-backend bes-ilb-clientvpc \
    --project=$projectname \
    --region=us-central1 \
    --instance-group=gateway-instance-group \
    --instance-group-zone=us-central1-a
gcloud compute backend-services add-backend bes-ilb-servervpc \
    --project=$projectname \
    --region=us-central1 \
    --instance-group=gateway-instance-group \
    --instance-group-zone=us-central1-a

ईमेल फ़ॉरवर्ड करने के नियम बनाना

Cloud Shell में, ये काम करें:

gcloud compute forwarding-rules create fr-ilb-clientvpc \
    --project=$projectname \
    --region=us-central1 \
    --load-balancing-scheme=internal \
    --network=client-vpc \
    --subnet=client-subnet \
    --ip-protocol=TCP \
    --ip-version=IPV6 \
    --ports=ALL \
    --backend-service=bes-ilb-clientvpc \
    --backend-service-region=us-central1

gcloud compute forwarding-rules create fr-ilb-servervpc \
    --project=$projectname \
    --region=us-central1 \
    --load-balancing-scheme=internal \
    --network=server-vpc \
    --subnet=server-subnet \
    --ip-protocol=TCP \
    --ip-version=IPV6 \
    --ports=ALL \
    --backend-service=bes-ilb-servervpc \
    --backend-service-region=us-central1

Cloudshell में ये कमांड देकर, फ़ॉरवर्ड करने के दोनों नियमों के आईपीवी6 पते रिकॉर्ड करें:

export fraddress_client=$(gcloud compute forwarding-rules \
    describe fr-ilb-clientvpc \
    --project $projectname \
    --format="value(IPAddress)" \
    --region us-central1)

export fraddress_server=$(gcloud compute forwarding-rules \
    describe fr-ilb-servervpc \
    --project $projectname \
    --format="value(IPAddress)" \
    --region us-central1)

7. लोड बैलेंसर के पते का इस्तेमाल करके, लोड बैलेंसर के लिए रूट बनाएं और उनकी जांच करें

इस सेक्शन में, आपको क्लाइंट और सर्वर, दोनों VPC में रास्ते जोड़ने होंगे. इसके लिए, नेक्स्ट-हॉप के तौर पर लोड बैलेंसर के IPv6 पतों का इस्तेमाल करें.

सर्वर के पतों को नोट करें

Cloud Shell में, ये काम करें:

gcloud compute instances list \
   --project $projectname \
   --zones us-central1-a \
   --filter="name~server-instance" \
--format='value[separator=","](name,networkInterfaces[0].ipv6Address)'

इससे, सर्वर इंस्टेंस के नाम और उनके आईपीवी6 प्रीफ़िक्स, दोनों का आउटपुट मिलना चाहिए. आउटपुट का सैंपल

server-instance,fd20:3df:8d5c:0:0:0:0:0

सर्वर पते को नोट कर लें, क्योंकि इसका इस्तेमाल बाद में क्लाइंट इंस्टेंस से curl निर्देशों में किया जाएगा. माफ़ करें, एनवायरमेंट वैरिएबल का इस्तेमाल करके, इन वैल्यू को आसानी से सेव नहीं किया जा सकता. ऐसा इसलिए, क्योंकि ये वैल्यू एसएसएच सेशन पर ट्रांसफ़र नहीं होतीं.

क्लाइंट से ULA सर्वर इंस्टेंस पर कर्ल निर्देश चलाना

कोई नया रूट जोड़ने से पहले, उसके काम करने का तरीका देखने के लिए. क्लाइंट इंस्टेंस से server-instance1 पर curl कमांड चलाएं.

Cloud Shell में, क्लाइंट-इंस्टेंस में लॉग इन करें:

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

क्लाइंट इंस्टेंस में, server1 इंस्टेंस के ULA IPV6 पते का इस्तेमाल करके कर्ल करें (कर्ल को बहुत देर तक इंतज़ार करने से रोकने के लिए, कमांड में 5 सेकंड का छोटा टाइम आउट सेट किया जाता है)

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

इस curl कमांड को टाइम आउट होना चाहिए, क्योंकि क्लाइंट VPC में अब तक सर्वर VPC के लिए कोई रूट नहीं है.

चलिए, हम इसे ठीक करते हैं! फ़िलहाल, SSH सेशन से बाहर निकलें.

क्लाइंट VPC में कस्टम रूट जोड़ना

क्लाइंट VPC में, ULA प्रीफ़िक्स के लिए कोई रूट मौजूद नहीं है. आइए, अब इसे जोड़ते हैं. इसके लिए, पता के हिसाब से क्लाइंट-साइड ILB पर ले जाने वाला रूट बनाएं.

ध्यान दें: IPv6 इंटरनल पास-थ्रू लोड बैलेंसर को /96 पते असाइन किए जाते हैं. अगले निर्देश में पास करने से पहले, पते से /96 मास्क हटाना ज़रूरी है. (यहां bash in-place substitution का इस्तेमाल किया गया है)

Cloud Shell में, ये काम करें:

gcloud compute routes create client-to-server-route \
   --project=$projectname \
   --destination-range=$server_subnet \
   --network=client-vpc \
   --next-hop-ilb=${fraddress_client//\/96}

क्लाइंट इंस्टेंस पर वापस एसएसएच करें:

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

क्लाइंट इंस्टेंस में, सर्वर इंस्टेंस पर फिर से कर्ल करने की कोशिश करें. (कर्ल को बहुत देर तक इंतज़ार न करना पड़े, इसके लिए यह कमांड 5 सेकंड का टाइम आउट सेट करता है)

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

इस curl कमांड का टाइम आउट अब भी होता है, क्योंकि सर्वर VPC के पास अब तक गेटवे इंस्टेंस के ज़रिए क्लाइंट VPC पर वापस जाने का कोई रास्ता नहीं है.

कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.

सर्वर VPC में कस्टम रूट जोड़ना

Cloud Shell में, ये काम करें:

gcloud compute routes create server-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc \
  --next-hop-ilb=${fraddress_server//\/96}

क्लाइंट इंस्टेंस पर वापस एसएसएच करें:

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

क्लाइंट इंस्टेंस में, सर्वर इंस्टेंस को एक बार फिर से कर्ल करें.

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

यह कर्ल कमांड अब काम कर रहा है. इससे पता चलता है कि आपके पास क्लाइंट इंस्टेंस से ULA सर्वर इंस्टेंस तक एंड-टू-एंड रीचबिलिटी है. यह कनेक्टिविटी, अब सिर्फ़ आईपीवी6 कस्टम रूट का इस्तेमाल करके की जा सकती है. इसके लिए, नेक्स्ट-हॉप के तौर पर next-hop-ilb का इस्तेमाल करना होगा.

आउटपुट का सैंपल

<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 Server Instance!</h1></body></html>

कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.

8. लोड बैलेंसर के लिए रूट बनाएं और उनकी जांच करें (लोड बैलेंसर के नाम का इस्तेमाल करके)

इसके अलावा, next-hop-ilb, लोड बैलेंसर के IPv6 पते के बजाय उसके नाम का भी रेफ़रंस दे सकता है. इस सेक्शन में, हम ऐसा करने का तरीका बताते हैं. साथ ही, यह भी जांच करते हैं कि क्लाइंट और सर्वर के बीच अब भी कनेक्टिविटी बनी हुई है या नहीं.

पिछले रास्ते मिटाना

किसी भी कस्टम रूट को जोड़ने से पहले, इंस्टेंस के नाम का इस्तेमाल करने वाले कस्टम रूट मिटाकर, एनवायरमेंट को पहले जैसा कर दें.

Cloud Shell में, ये काम करें:

gcloud compute routes delete client-to-server-route  --quiet --project=$projectname
gcloud compute routes delete server-to-client-route  --quiet --project=$projectname

क्लाइंट से ULA सर्वर इंस्टेंस पर कर्ल निर्देश चलाना

पिछले रास्तों के मिट जाने की पुष्टि करने के लिए, क्लाइंट इंस्टेंस से server-instance1 पर curl कमांड चलाएं.

Cloud Shell में, क्लाइंट-इंस्टेंस में लॉग इन करें:

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

क्लाइंट इंस्टेंस में, server1 इंस्टेंस के ULA IPV6 पते का इस्तेमाल करके कर्ल करें (कर्ल को बहुत देर तक इंतज़ार करने से रोकने के लिए, कमांड में 5 सेकंड का छोटा टाइम आउट सेट किया जाता है)

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

इस curl कमांड को टाइम आउट होना चाहिए, क्योंकि क्लाइंट VPC के पास अब सर्वर VPC के लिए कोई रूट नहीं है.

क्लाइंट और सर्वर VPC में कस्टम रूट जोड़ना

आइए, क्लाइंट और सर्वर, दोनों VPC में कस्टम रूट फिर से जोड़ें. हालांकि, हम ILB के पते के बजाय, कमांड में ILB के नाम और क्षेत्र का इस्तेमाल करेंगे.

Cloud Shell में, ये काम करें:

gcloud compute routes create client-to-server-route \
   --project=$projectname \
   --destination-range=$server_subnet \
   --network=client-vpc \
   --next-hop-ilb=fr-ilb-clientvpc \
   --next-hop-ilb-region=us-central1

gcloud compute routes create server-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc \
   --next-hop-ilb=fr-ilb-servervpc \
   --next-hop-ilb-region=us-central1

क्लाइंट इंस्टेंस पर वापस एसएसएच करें:

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

क्लाइंट इंस्टेंस में, सर्वर इंस्टेंस पर फिर से कर्ल करने की कोशिश करें. (कर्ल को बहुत देर तक इंतज़ार न करना पड़े, इसके लिए यह निर्देश 5 सेकंड का छोटा टाइम आउट सेट करता है)

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

यह कर्ल कमांड अब काम कर रहा है. इससे पता चलता है कि आपके पास क्लाइंट इंस्टेंस से ULA सर्वर इंस्टेंस तक एंड-टू-एंड रीचबिलिटी है.

9. व्यवस्थित करें

कस्टम रूट मिटाना

Cloud Shell में, ये काम करें:

gcloud compute routes delete client-to-server-route  --quiet --project=$projectname
gcloud compute routes delete server-to-client-route  --quiet --project=$projectname

LB कॉम्पोनेंट को हटाना

Cloud Shell में, ये काम करें:

gcloud compute forwarding-rules delete fr-ilb-clientvpc --region us-central1 --quiet --project=$projectname
gcloud compute forwarding-rules delete fr-ilb-servervpc --region us-central1 --quiet --project=$projectname

gcloud compute backend-services delete bes-ilb-clientvpc --region us-central1 --quiet --project=$projectname
gcloud compute backend-services delete bes-ilb-servervpc --region us-central1 --quiet --project=$projectname

gcloud compute health-checks delete tcp-hc-22 --region us-central1 --quiet --project=$projectname

इंस्टेंस और इंस्टेंस टेंप्लेट को मिटाना

Cloud Shell में, ये काम करें:

gcloud compute instances delete client-instance --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete server-instance --zone us-central1-a --quiet --project=$projectname


gcloud compute instance-groups managed delete gateway-instance-group --zone us-central1-a --quiet --project=$projectname

gcloud compute instance-templates delete gateway-instance-template --region us-central1 --quiet --project=$projectname

सबनेट हटाना

Cloud Shell में, ये काम करें:

gcloud compute networks subnets delete client-subnet --region=us-central1 --quiet --project=$projectname

gcloud compute networks subnets delete server-subnet --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-server  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-gateway-client  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server  --quiet --project=$projectname

वीपीसी मिटाना

Cloud Shell में, ये काम करें:

gcloud compute networks delete client-vpc --quiet --project=$projectname
gcloud compute networks delete server-vpc --quiet --project=$projectname

10. बधाई हो

आपने स्टैटिक कस्टम आईपीवी6 रूट का इस्तेमाल कर लिया है. साथ ही, नेक्स्ट-हॉप को next-hop-ilb पर सेट कर दिया है. आपने उन रास्तों का इस्तेमाल करके, एंड-टू-एंड IPv6 कम्यूनिकेशन की पुष्टि भी की है.

आगे क्या करना है?

इन कोडलैब को देखें...

ज़्यादा पढ़ने के लिए लेख और वीडियो

रेफ़रंस दस्तावेज़