1. परिचय
स्टैटिक कस्टम रूट, वीपीसी में डिफ़ॉल्ट रूटिंग के तरीके पर असर डालते हैं. IPv6 कस्टम राउट अब अगले हॉप के नए एट्रिब्यूट के साथ काम करते हैं: next-hop-gateway, next-hop-instance, और next-hop-address. इस कोडलैब में, मल्टी-एनआईसी वीएम इंस्टेंस से कनेक्ट किए गए दो वीपीसी का इस्तेमाल करके, अगले हॉप के इन नए विकल्पों के साथ IPv6 कस्टम राउट इस्तेमाल करने का तरीका बताया गया है. आपको यह भी दिखाना होगा कि यूएलए और जीयूए पतों को कैसे मिलाया जाता है. साथ ही, कस्टम रूट की नई सुविधा का इस्तेमाल करके, यूएलए वीपीसी को सार्वजनिक इंटरनेट से कैसे कनेक्ट किया जाता है.
आपको क्या सीखने को मिलेगा
- आईएलबी का नाम तय करके, अगले हॉप-आईएलबी के अगले हॉप के साथ IPv6 का कस्टम राउट कैसे बनाएं
- आईएलबी के IPv6 पते के बारे में जानकारी देकर, अगले हॉप-आईएलबी के अगले हॉप के साथ 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)")
लैब का पूरा आर्किटेक्चर

दोनों तरह के कस्टम रूट नेक्स्ट-हॉप दिखाने के लिए, आपको दो वीपीसी बनाने होंगे: क्लाइंट और सर्वर वीपीसी. ये दोनों वीपीसी, यूएलए एड्रेसिंग का इस्तेमाल करते हैं.
क्लाइंट वीपीसी को सर्वर ऐक्सेस करने के लिए, आपको कस्टम रूट का इस्तेमाल करना होगा. यह कस्टम रूट, मल्टी-एनआईसी गेटवे इंस्टेंस के ग्रुप के सामने मौजूद आईएलबी (आईएलबी के नाम का इस्तेमाल करके) की ओर इशारा करने वाले नेक्स्ट-हॉप-आईएलबी का इस्तेमाल करता है. यह ग्रुप, दो आईएलबी के बीच में होता है. डिफ़ॉल्ट ::/0 रूट मिटाने के बाद, क्लाइंट इंस्टेंस पर वापस राउट करने के लिए, आपको अगले हॉप-आईएलबी (आईएलबी के पते का इस्तेमाल करके) के साथ कस्टम रूट का इस्तेमाल करना होगा. यह आईएलबी की ओर पॉइंट करेगा.
3. क्लाइंट वीपीसी सेटअप करना
क्लाइंट वीपीसी बनाना
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
क्लाइंट वीपीसी ट्रैफ़िक के लिए फ़ायरवॉल का नियम जोड़ना
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)
सर्वर वीएम लॉन्च करें
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
IAP की अनुमति देने के लिए फ़ायरवॉल का नियम जोड़ना
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)'
किसी इंस्टेंस का नाम नोट करें और अगले निर्देश में उसका इस्तेमाल करके, इंस्टेंस से SSH करें.
Cloud Shell में, किसी एक गेटवे इंस्टेंस में लॉग इन करें
gcloud compute ssh gateway-instance-<suffix> \
--project=$projectname \
--zone=us-central1-a \
--tunnel-through-iap
आईपीवी6 फ़ॉरवर्डिंग की जांच करने के लिए, गेटवे वीएम शेल में यह निर्देश चलाएं
sudo sysctl net.ipv6.conf.all.forwarding
कमांड को "1" की वैल्यू दिखानी चाहिए. इससे पता चलता है कि IPv6 फ़ॉरवर्डिंग चालू है.
इंस्टेंस पर आईपीवी6 राउटिंग टेबल की पुष्टि करें
ip -6 route show
इस इमेज में, यूएलए और जीयूए, दोनों सबनेट रूट दिखाने वाला सैंपल आउटपुट दिखाया गया है. इसमें डिफ़ॉल्ट रूट, जीयूए इंटरफ़ेस की ओर इशारा कर रहा है.
::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 को टारगेट करेंगी. ध्यान दें कि हेल्थ चेक, डिप्लॉय किए गए तरीके से काम नहीं करेंगे. इसके लिए, आपको फ़ायरवॉल के नियम जोड़ने होंगे, ताकि हेल्थ चेक की अनुमति दी जा सके. साथ ही, गेटवे इंस्टेंस पर खास रास्तों को बनाया जा सके. यह कोडलैब, IPv6 फ़ॉरवर्डिंग पर फ़ोकस करता है. इसलिए, जब सभी बैकएंड अस्वस्थ होते हैं, तो हम इंटरनल पास-थ्रू लोड बैलेंसर के ट्रैफ़िक डिस्ट्रिब्यूशन के डिफ़ॉल्ट तरीके पर भरोसा करेंगे. इसका मतलब है कि आखिरी विकल्प के तौर पर, सभी बैकएंड को फ़ॉरवर्ड करना.
- बैकएंड सेवा: हम बैकएंड सेवा के लिए टीसीपी प्रोटोकॉल का इस्तेमाल करेंगे. हालांकि, लोड बैलेंसर को राउटिंग के लिए बनाया जाता है. इसलिए, बैकएंड सेवा के प्रोटोकॉल के बावजूद सभी प्रोटोकॉल फ़ॉरवर्ड किए जाते हैं.
- आगे बढ़ाने का नियम: हम हर वीपीसी के लिए, आगे बढ़ाने का एक नियम बनाते हैं .
- इंटरनल 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 में यहां दी गई कमांड डालकर, फ़ॉरवर्ड करने के दोनों नियमों के IPv6 पते रिकॉर्ड करें:
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. लोड बैलेंसर के पते का इस्तेमाल करके, लोड बैलेंसर के लिए रूट बनाएं और उनकी जांच करें
इस सेक्शन में, लोड बैलेंसर के IPv6 पतों को अगले हॉप के तौर पर इस्तेमाल करके, क्लाइंट और सर्वर, दोनों वीपीसी में राउट जोड़े जाएंगे.
सर्वर के पतों को नोट करना
Cloud Shell में, यह तरीका अपनाएं:
gcloud compute instances list \
--project $projectname \
--zones us-central1-a \
--filter="name~server-instance" \
--format='value[separator=","](name,networkInterfaces[0].ipv6Address)'
इससे सर्वर इंस्टेंस के नाम और उनके IPv6 प्रीफ़िक्स, दोनों आउटपुट होने चाहिए. आउटपुट का सैंपल
server-instance,fd20:3df:8d5c:0:0:0:0:0
सर्वर का पता नोट कर लें, क्योंकि बाद में आपको क्लाइंट इंस्टेंस से कर्ल कमांड में इसका इस्तेमाल करना होगा. माफ़ करें, इन कुकी को सेव करने के लिए एनवायरमेंट वैरिएबल का आसानी से इस्तेमाल नहीं किया जा सकता, क्योंकि ये एसएसएच सेशन पर ट्रांसफ़र नहीं होती हैं.
क्लाइंट से ULA सर्वर इंस्टेंस तक curl कमांड चलाएं
नए रूट जोड़ने से पहले, उपयोगकर्ता के व्यवहार को समझने के लिए. क्लाइंट इंस्टेंस से 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/'
यह कर्ल कमांड टाइम आउट हो जानी चाहिए, क्योंकि क्लाइंट वीपीसी के पास अब तक सर्वर वीपीसी का कोई रूट नहीं है.
आइए, इसे ठीक करने की कोशिश करते हैं! फ़िलहाल, SSH सेशन से बाहर निकलें.
क्लाइंट वीपीसी में कस्टम रूट जोड़ना
क्लाइंट वीपीसी में यूएलए प्रीफ़िक्स की ओर जाने वाला कोई रूट मौजूद नहीं है. चलिए, अब इसे जोड़ते हैं. इसके लिए, हम एक ऐसा रूट बनाएंगे जो पते के हिसाब से क्लाइंट-साइड आईएलबी की ओर इशारा करता हो.
ध्यान दें: IPv6 इंटरनल पासथ्रू लोड बैलेंसर को /96 पते असाइन किए जाते हैं. अगली कमांड को पता देने से पहले, /96 मास्क को पते से हटाना ज़रूरी है. (यहां bash में, इन-प्लेस सब्स्टिट्यूशन का इस्तेमाल किया गया है)
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
क्लाइंट इंस्टेंस में, सर्वर इंस्टेंस से फिर से कनेक्ट करने की कोशिश करें. (यह निर्देश, curl के बहुत ज़्यादा इंतज़ार करने से बचने के लिए, पांच सेकंड का छोटा टाइमआउट सेट करता है)
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
यह कर्ल कमांड अब भी टाइम आउट हो जाती है. इसकी वजह यह है कि सर्वर वीपीसी के पास, गेटवे इंस्टेंस के ज़रिए क्लाइंट वीपीसी पर वापस जाने का कोई रास्ता नहीं है.
कोडलैब जारी रखने के लिए, एसएसएच सेशन से बाहर निकलें.
सर्वर वीपीसी में कस्टम रूट जोड़ना
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/'
अब यह कर्ल कमांड काम करती है. इससे पता चलता है कि क्लाइंट इंस्टेंस से यूएलए सर्वर इंस्टेंस तक एंड-टू-एंड पहुंच है. अब यह कनेक्टिविटी सिर्फ़ IPv6 कस्टम राउट का इस्तेमाल करके की जा सकती है. इसमें नेक्स्ट-हॉप-आईएलबी को नेक्स्ट-हॉप के तौर पर इस्तेमाल किया जाता है.
आउटपुट का उदाहरण
<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. लोड बैलेंसर के लिए रूट बनाएं और उनकी जांच करें. इसके लिए, लोड बैलेंसर के नाम का इस्तेमाल करें
इसके अलावा, नेक्स्ट-हॉप-आईएलबी, लोड बैलेंसर के 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 सर्वर इंस्टेंस तक curl कमांड चलाएं
यह पुष्टि करने के लिए कि पिछले रूट मिटा दिए गए हैं, क्लाइंट इंस्टेंस से 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/'
यह कर्ल कमांड टाइम आउट हो जानी चाहिए, क्योंकि क्लाइंट वीपीसी के पास अब सर्वर वीपीसी का कोई रूट नहीं है.
क्लाइंट और सर्वर वीपीसी में कस्टम रूट जोड़ना
आइए, क्लाइंट और सर्वर, दोनों वीपीसी में कस्टम राउट फिर से जोड़ते हैं. हालांकि, 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
क्लाइंट इंस्टेंस में, सर्वर इंस्टेंस से फिर से कनेक्ट करने की कोशिश करें. (यह निर्देश, curl के बहुत ज़्यादा इंतज़ार करने से बचने के लिए, पांच सेकंड का छोटा टाइमआउट सेट करता है)
curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'
अब यह कर्ल कमांड काम करती है. इससे पता चलता है कि क्लाइंट इंस्टेंस से यूएलए सर्वर इंस्टेंस तक एंड-टू-एंड पहुंच है.
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
एलबी कॉम्पोनेंट को हटाना
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. बधाई हो
आपने अगले हॉप के तौर पर next-hop-ilb सेट करके, स्टैटिक कस्टम IPv6 राउट का इस्तेमाल कर लिया है. आपने उन रास्तों का इस्तेमाल करके, एंड-टू-एंड IPv6 कम्यूनिकेशन की पुष्टि भी की है.
आगे क्या करना है?
इन कोडलैब को आज़माएं...
- IPv6 पतों का इस्तेमाल करके, कंपनी की इमारत में मौजूद होस्ट से Google API ऐक्सेस करना
- आईपी पते के विकल्प: IPv4 और IPv6
- IPv6 स्टैटिक राउट के अगले हॉप इंस्टेंस, अगले हॉप पते, और अगले हॉप गेटवे का इस्तेमाल करना