IPv6 স্ট্যাটিক রুট ব্যবহার করে পরবর্তী হপ ইনস্ট্যান্স (আনট্যাগ করা এবং ট্যাগ করা) এবং পরবর্তী হপ গেটওয়ে

1. ভূমিকা

স্ট্যাটিক কাস্টম রুট একটি VPC-তে ডিফল্ট রাউটিং আচরণকে প্রভাবিত করে। IPv6 কাস্টম রুট এখন নতুন নেক্সট-হপ অ্যাট্রিবিউট সমর্থন করে: নেক্সট-হপ-গেটওয়ে এবং নেক্সট-হপ-ইনস্ট্যান্স। এই কোডল্যাবটি বর্ণনা করে যে কিভাবে একটি মাল্টি-এনআইসি ভিএম ইনস্ট্যান্স দ্বারা সংযুক্ত দুটি ভিপিসি ব্যবহার করে এই নতুন নেক্সট-হপ বিকল্পগুলির সাথে IPv6 কাস্টম রুটগুলি ব্যবহার করতে হয়। এছাড়াও আপনি ULA এবং GUA অ্যাড্রেসিং মিশ্রিত করা এবং নতুন কাস্টম রুট ক্ষমতা ব্যবহার করে সর্বজনীন ইন্টারনেটে ULA VPC-কে নাগালের সুবিধা প্রদান করবেন।

আপনি কি শিখবেন

  • নেক্সট-হপ-ইনস্ট্যান্স নেক্সট-হপ দিয়ে কীভাবে একটি IPv6 কাস্টম রুট তৈরি করবেন।
  • নেক্সট-হপ-গেটওয়ে নেক্সট-হপ দিয়ে কীভাবে একটি IPv6 কাস্টম রুট তৈরি করবেন।

আপনি কি প্রয়োজন হবে

  • গুগল ক্লাউড প্রকল্প

2. আপনি শুরু করার আগে

কোডল্যাবকে সমর্থন করার জন্য প্রকল্পটি আপডেট করুন

এই কোডল্যাব ক্লাউড শেল-এ gcloud কনফিগারেশন বাস্তবায়নে সাহায্য করার জন্য $ভেরিয়েবল ব্যবহার করে।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতটি সম্পাদন করুন

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

সামগ্রিক ল্যাব আর্কিটেকচার

66f72fc758d762f7.png

উভয় ধরনের কাস্টম রুট নেক্সট-হপস প্রদর্শন করতে, আপনি 3টি VPC তৈরি করবেন: একটি ক্লায়েন্ট VPC যা GUA ঠিকানা ব্যবহার করে, একটি সার্ভার VPC যা ULA ঠিকানা ব্যবহার করে এবং একটি দ্বিতীয় সার্ভার VPC যা GUA ঠিকানা ব্যবহার করে।

ক্লায়েন্ট VPC-এর ULA সার্ভারে অ্যাক্সেস করার জন্য, আপনি একটি মাল্টি-NIC গেটওয়ে উদাহরণে নেক্সট-হপ-ইনস্ট্যান্স নির্দেশ করে একটি কাস্টম রুট ব্যবহার করবেন। GUA সার্ভারে অ্যাক্সেস প্রদান করতে (ডিফল্ট ::/0 রুট মুছে ফেলার পরে), আপনি ইন্টারনেটে রাউটিং প্রদান করতে ডিফল্ট ইন্টারনেট গেটওয়েতে নির্দেশিত নেক্সট-হপ-গেটওয়ে সহ একটি কাস্টম রুট ব্যবহার করবেন।

3. ক্লায়েন্ট VPC সেটআপ

ক্লায়েন্ট ভিপিসি তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ক্লায়েন্ট সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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)

ক্লায়েন্ট উদাহরণ চালু করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ক্লায়েন্ট ভিপিসি ট্রাফিকের জন্য ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 অনুমতি দিতে ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 অ্যাক্সেস নিশ্চিত করুন

ক্লাউড শেলের ভিতরে, ক্লায়েন্ট-ইনস্ট্যান্সে লগ ইন করুন:

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

সফল হলে, আপনি ক্লায়েন্ট উদাহরণ থেকে একটি টার্মিনাল উইন্ডো দেখতে পাবেন। কোডল্যাব চালিয়ে যেতে SSH সেশন থেকে প্রস্থান করুন।

4. ULA সার্ভার VPC সেটআপ

ULA সার্ভার VPC তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ULA সার্ভার সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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)

একটি ULA অভ্যন্তরীণ IPV6 ঠিকানা সহ সার্ভার VM চালু করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ক্লায়েন্ট থেকে সার্ভারে অ্যাক্সেসের অনুমতি দিতে ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 অনুমতি দিতে ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 সার্ভার উদাহরণে Apache ইনস্টল করুন

ক্লাউড শেলের ভিতরে, ক্লায়েন্ট-ইনস্ট্যান্সে লগ ইন করুন:

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. GUA সার্ভার VPC সেটআপ

GUA সার্ভার VPC তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create server-vpc2 \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional

GUA সার্ভার সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 ঠিকানা সহ সার্ভার VM চালু করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

সাবনেটের মধ্যে অ্যাক্সেসের অনুমতি দিতে ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 অনুমতি দিতে ফায়ারওয়াল নিয়ম যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 

GUA সার্ভার ইনস্ট্যান্সে SSH অ্যাক্সেস নিশ্চিত করুন এবং Apache ইনস্টল করুন

ক্লাউড শেলের ভিতরে, ক্লায়েন্ট-ইনস্ট্যান্সে লগ ইন করুন:

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 ইনস্ট্যান্সে পুনঃনির্দেশিত করার প্রস্তুতি এবং ইন্টারনেট এগ্রেস রাউটিং অক্ষম করার জন্য। ডিফল্ট ইন্টারনেট গেটওয়েতে নির্দেশিত ডিফল্ট ::/0 রুট মুছুন।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

গেটওয়ে মাল্টি-এনআইসি ভিএম লঞ্চ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন: ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

গেটওয়ে উদাহরণ কনফিগার করুন

ক্লাউড শেলের ভিতরে, গেটওয়ে ইনস্ট্যান্সে লগ ইন করুন (উদাহরণটি বুট করার সময় এটি সফলভাবে 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

GUA ইন্টারফেসে নির্দেশিত ডিফল্ট রুট সহ ULA এবং 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. গেটওয়ে উদাহরণে রুট তৈরি করুন এবং পরীক্ষা করুন

সার্ভার ঠিকানা নোট করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

দুটি ঠিকানাই নোট করুন কারণ আপনি সেগুলিকে পরে ক্লায়েন্ট উদাহরণ থেকে কার্ল কমান্ডে ব্যবহার করবেন। দুর্ভাগ্যবশত এনভায়রনমেন্ট ভেরিয়েবল এগুলিকে সঞ্চয় করতে সহজে ব্যবহার করা যায় না কারণ সেগুলি SSH সেশনে স্থানান্তরিত হয় না।

ক্লায়েন্ট থেকে ULA সার্ভার ইনস্ট্যান্সে কার্ল কমান্ড চালান

কোনো নতুন রুট যোগ করার আগে আচরণ দেখতে. ক্লায়েন্ট ইনস্ট্যান্স থেকে সার্ভার-ইনস্ট্যান্স1 এর দিকে একটি কার্ল কমান্ড চালান।

ক্লাউড শেলের ভিতরে, ক্লায়েন্ট-ইনস্ট্যান্সে লগ ইন করুন:

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

ক্লায়েন্ট ইন্সট্যান্সের ভিতরে, সার্ভার 1 ইন্সট্যান্সের ULA IPV6 ঠিকানা ব্যবহার করে একটি কার্ল সম্পাদন করুন (কমান্ডটি 5 সেকেন্ডের একটি সংক্ষিপ্ত টাইমআউট সেট করে যাতে কার্ল খুব দীর্ঘ অপেক্ষা না করে)

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

এই কার্ল কমান্ডটি টাইম আউট হওয়া উচিত কারণ ক্লায়েন্ট VPC এর এখনও সার্ভার VPC এর দিকে কোনো রুট নেই৷

এর ঠিক করার চেষ্টা করা যাক! আপাতত SSH সেশন থেকে প্রস্থান করুন।

ক্লায়েন্ট ভিপিসিতে কাস্টম রুট যোগ করুন

যেহেতু ক্লায়েন্ট VPC ULA উপসর্গের দিকে একটি রুট অনুপস্থিত। এখন এটা যোগ করা যাক.

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ক্লায়েন্ট ইনস্ট্যান্সের ভিতরে, সার্ভার ইনস্ট্যান্সে কার্লটি আবার চেষ্টা করুন। (কমান্ডটি 5 সেকেন্ডের একটি সংক্ষিপ্ত টাইমআউট সেট করে যাতে দীর্ঘ সময়ের জন্য কার্ল অপেক্ষা না করা যায়)

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

এই কার্ল কমান্ডটি এখনও টাইম আউট কারণ সার্ভার 1 ভিপিসি, গেটওয়ে ইনস্ট্যান্সের মাধ্যমে ক্লায়েন্ট ভিপিসি-র দিকে ফিরে যাওয়ার রুট নেই।

কোডল্যাব চালিয়ে যেতে SSH সেশন থেকে প্রস্থান করুন।

ULA সার্ভার VPC-তে কাস্টম রুট যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

কোডল্যাব চালিয়ে যেতে SSH সেশন থেকে প্রস্থান করুন।

8. ইন্টারনেট গেটওয়েতে রুট তৈরি করুন এবং পরীক্ষা করুন

আপনার এই ল্যাব সেটআপ থাকাকালীন, আসুন নতুন নেক্সট-হপ সম্পত্তির কার্যকারিতা পরীক্ষা করি: নেক্সট-হপ-গেটওয়ে।

ক্লায়েন্ট থেকে GUA সার্ভার ইনস্ট্যান্সে কার্ল কমান্ড চালান

কোনো নতুন রুট যোগ করার আগে আচরণ দেখতে. সার্ভার 2 এর আইপি ঠিকানার দিকে ক্লায়েন্ট ইনস্ট্যান্স থেকে একটি কার্ল কমান্ড চালান।

ক্লাউড শেলের ভিতরে, ক্লায়েন্ট ইনস্ট্যান্সে লগ ইন করুন:

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

ক্লায়েন্ট ইনস্ট্যান্সের ভিতরে, IPv6 এন্ডপয়েন্টের দিকে একটি কার্ল সঞ্চালন করুন

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

এই কার্ল কমান্ডের সময়সীমা শেষ হওয়া উচিত কারণ ক্লায়েন্ট VPC এর শুধুমাত্র নিজস্ব সাবনেট রুট এবং সার্ভার 1 এর VPC এর একটি রুট রয়েছে। সার্ভার2 VPC-এর GUA পরিসরে পৌঁছতে সক্ষম হওয়ার জন্য, আপনাকে একটি কাস্টম রুটের মাধ্যমে ডিফল্ট ইন্টারনেট গেটওয়ে ব্যবহার করতে হবে।

কোডল্যাব চালিয়ে যেতে SSH সেশন থেকে প্রস্থান করুন।

ক্লায়েন্ট ভিপিসিতে কাস্টম গেটওয়ে রুট যোগ করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'

এই কার্ল কমান্ডটি এখন কাস্টম হ্যালো বার্তা ফেরাতে সফল হওয়া উচিত, এটি নির্দেশ করে যে আপনি সফলভাবে ডিফল্ট ইন্টারনেট গেটওয়ের মাধ্যমে অন্য সার্ভারের 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 সেশন থেকে প্রস্থান করুন।

9. পরিষ্কার করুন

দৃষ্টান্তগুলি পরিষ্কার করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

সাবনেট পরিষ্কার করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ফায়ারওয়াল নিয়ম পরিষ্কার করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

কাস্টম রুট পরিষ্কার করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

ভিপিসি পরিষ্কার করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

10. অভিনন্দন

আপনি নেক্সট-হপ-গেটওয়ে এবং নেক্সট-হপ-ইনস্ট্যান্সে সেট করা স্ট্যাটিক কাস্টম IPv6 রুটগুলি সফলভাবে ব্যবহার করেছেন এবং সেই রুটগুলি ব্যবহার করে এন্ড-টু-এন্ড IPv6 যোগাযোগ বৈধ করেছেন।

এরপর কি?

এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...

আরও পড়া এবং ভিডিও

রেফারেন্স ডক্স