IPv6 ঠিকানা ব্যবহার করে অন-প্রিমিসেস হোস্ট থেকে Google API অ্যাক্সেস করুন

1. ভূমিকা

অন-প্রিমিসেস হোস্টের জন্য ব্যক্তিগত Google অ্যাক্সেস ক্লাউড ভিপিএন টানেল বা ক্লাউড ইন্টারকানেক্টের জন্য একটি VLAN সংযুক্তির মাধ্যমে ট্রাফিক রুট করে Google API এবং পরিষেবাগুলির সাথে সংযোগ করার জন্য অন-প্রিমিসেস সিস্টেমগুলির জন্য একটি উপায় প্রদান করে। অন-প্রিমিসেস হোস্টগুলির জন্য ব্যক্তিগত Google অ্যাক্সেস হল ইন্টারনেটের মাধ্যমে Google API এবং পরিষেবাগুলির সাথে সংযোগ করার একটি বিকল্প৷

অন-প্রিমিসেস হোস্টের জন্য ব্যক্তিগত Google অ্যাক্সেসের প্রয়োজন হয় যে আপনি Google API-এর জন্য ভার্চুয়াল আইপি ঠিকানায় (VIP) অনুরোধ পাঠান। IPv6 এর জন্য, নিম্নলিখিত IP ঠিকানাগুলি ব্যবহার করা হয়:

  • private.googleapis.com এর জন্য: 2600:2d00:0002:2000::/64
  • restricted.googleapis.com এর জন্য: 2600:2d00:0002:1000::/64

আপনি যে VIP চয়ন করেন তা নির্ধারণ করে আপনি কোন পরিষেবাগুলি অ্যাক্সেস করতে পারবেন৷ এই কোডল্যাবে, আমরা private.googleapis.com ব্যবহার করব। আরও তথ্যের জন্য, ডোমেন বিকল্পগুলি দেখুন।

এই কোডল্যাবটি বর্ণনা করে যে কীভাবে আইপিভি 6 ঠিকানা ব্যবহার করে এমন অন-প্রিমিসেস হোস্টগুলির জন্য ব্যক্তিগত Google অ্যাক্সেস সক্ষম করতে হয়। আপনি একটি ভিপিসি নেটওয়ার্ক স্থাপন করবেন যার নাম on-premises-vpc একটি অন-প্রিমিসেস পরিবেশ উপস্থাপন করতে। আপনার স্থাপনার জন্য, অন-প্রিমিসেস-ভিপিসি বিদ্যমান থাকবে না, পরিবর্তে আপনার অন-প্রিমিসেস ডেটা সেন্টার বা ক্লাউড প্রদানকারীতে হাইব্রিড নেটওয়ার্কিং ব্যবহার করা হবে।

আপনি কি নির্মাণ করবেন

এই কোডল্যাবে, আপনি একটি এন্ড-টু-এন্ড IPv6 নেটওয়ার্ক তৈরি করতে যাচ্ছেন যা CNAME *.googleapis.com থেকে private.googleapis.com IPv6 ঠিকানা 2600:2d00:0002:2000::/64 যেমন চিত্র 1 এ দেখানো হয়েছে।

চিত্র 1

a0fc56abf24f3535.png

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

  • কিভাবে একটি ডুয়াল স্ট্যাক ভিপিসি নেটওয়ার্ক তৈরি করবেন
  • কিভাবে IPv6 দিয়ে HA VPN তৈরি করবেন
  • ব্যক্তিগত Google অ্যাক্সেস অ্যাক্সেস করতে কীভাবে DNS আপডেট করবেন
  • কিভাবে প্রাইভেট গুগল এক্সেস সংযোগ স্থাপন ও যাচাই করা যায়

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

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

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

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

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

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

3. ট্রানজিট-ভিপিসি তৈরি করুন

f6932f551b5acac0.png

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

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

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

4. অন-প্রিমিসেস নেটওয়ার্ক তৈরি করুন

58d75cbc9cb20a51.png

এই VPC নেটওয়ার্ক একটি অন-প্রাঙ্গনে পরিবেশ উপস্থাপন করে।

অন-প্রিমিসেস VPC নেটওয়ার্ক তৈরি করুন

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

gcloud compute networks create on-premises-vpc --project=$projectname --subnet-mode=custom --mtu=1460 --enable-ula-internal-ipv6 --bgp-routing-mode=regional

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

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

gcloud compute networks subnets create on-premises-subnet1-us-central1 --project=$projectname --range=172.16.10.0/27 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --network=on-premises-vpc --region=us-central1

5. ট্রানজিট-ভিপিসি এবং অন-প্রিমিসেস-ভিপিসির জন্য HA VPN তৈরি করুন

ট্রানজিট-ভিপিসির জন্য HA VPN GW তৈরি করুন

a0fc56abf24f3535.png

যখন প্রতিটি গেটওয়ে তৈরি করা হয়, তখন দুটি বাহ্যিক IPv4 ঠিকানা স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়, প্রতিটি গেটওয়ে ইন্টারফেসের জন্য একটি। কনফিগারেশন ধাপে পরে ব্যবহার করার জন্য এই আইপি ঠিকানাগুলি নোট করুন।

ক্লাউড শেলের ভিতরে, স্ট্যাক টাইপ IPV4_IPV6 সহ HA VPN GW তৈরি করুন।

gcloud compute vpn-gateways create transit-vpc-vpngw \
   --network=transit-vpc\
   --region=us-central1 \
   --stack-type=IPV4_IPV6

অন-প্রিমিসেস-ভিপিসির জন্য HA VPN GW তৈরি করুন

ক্লাউড শেলের ভিতরে, স্ট্যাক টাইপ IPV4_IPV6 সহ HA VPN GW তৈরি করুন

gcloud compute vpn-gateways create on-premises-vpc-vpngw \
   --network=on-premises-vpc\
   --region=us-central1 \
   --stack-type=IPV4_IPV6

HA VPN GW তৈরির বৈধতা দিন

কনসোল ব্যবহার করে, হাইব্রিড কানেক্টিভিটি → ভিপিএন → ক্লাউড ভিপিএন গেটওয়েতে নেভিগেট করুন।

c8eed6ca929935bc.png

ট্রানজিট-ভিপিসির জন্য ক্লাউড রাউটার তৈরি করুন

ক্লাউড শেলের ভিতরে, us-central1 এ অবস্থিত ক্লাউড রাউটার তৈরি করুন

gcloud compute routers create transit-vpc-cr-us-central1 \
   --region=us-central1 \
   --network=transit-vpc\
   --asn=65001

অন-প্রিমিসেস-ভিপিসির জন্য ক্লাউড রাউটার তৈরি করুন

ক্লাউড শেলের ভিতরে, us-central1 এ অবস্থিত ক্লাউড রাউটার তৈরি করুন

gcloud compute routers create on-premises-vpc-cr-us-central1 \
   --region=us-central1 \
   --network=on-premises-vpc \
   --asn=65002

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

আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।

ভিপিএন টানেল 0 তৈরি করুন

ক্লাউড শেলের ভিতরে, টানেল 0 তৈরি করুন:

gcloud compute vpn-tunnels create transit-vpc-tunnel0 \
    --peer-gcp-gateway on-premises-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router transit-vpc-cr-us-central1 \
    --vpn-gateway transit-vpc-vpngw \
    --interface 0

ভিপিএন টানেল 1 তৈরি করুন

ক্লাউড শেলের ভিতরে, টানেল 1 তৈরি করুন:

gcloud compute vpn-tunnels create transit-vpc-tunnel1 \
    --peer-gcp-gateway on-premises-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router transit-vpc-cr-us-central1 \
    --vpn-gateway transit-vpc-vpngw \
    --interface 1

অন-প্রিমিসেস-ভিপিসির জন্য ভিপিএন টানেল তৈরি করুন

আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।

ভিপিএন টানেল 0 তৈরি করুন

ক্লাউড শেলের ভিতরে, টানেল 0 তৈরি করুন:

gcloud compute vpn-tunnels create on-premises-tunnel0 \
    --peer-gcp-gateway transit-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-premises-vpc-cr-us-central1 \
    --vpn-gateway on-premises-vpc-vpngw \
    --interface 0

ভিপিএন টানেল 1 তৈরি করুন

ক্লাউড শেলের ভিতরে, টানেল 1 তৈরি করুন:

gcloud compute vpn-tunnels create on-premises-tunnel1 \
    --peer-gcp-gateway transit-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-premises-vpc-cr-us-central1 \
    --vpn-gateway on-premises-vpc-vpngw \
    --interface 1

ভিপিএন টানেল তৈরির বৈধতা দিন

কনসোল ব্যবহার করে, হাইব্রিড কানেক্টিভিটি → ভিপিএন → ক্লাউড ভিপিএন টানেলে নেভিগেট করুন।

85fd5aef4b2c4010.png

বিজিপি সেশন তৈরি করুন

এই বিভাগে, আপনি ক্লাউড রাউটার ইন্টারফেস এবং BGP পিয়ার কনফিগার করেন।

IPv6 ট্র্যাফিকের অনুমতি দেয় এমন VPN টানেল তৈরি করার সময়, আপনি add-bgp-peer কমান্ড চালানোর সময় --enable-ipv6 নির্দিষ্ট করুন।

ট্রানজিট-ভিপিসির জন্য একটি বিজিপি ইন্টারফেস এবং পিয়ারিং তৈরি করুন

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface transit-vpc-cr-us-central1 \
    --interface-name if-tunnel1-to-onpremise \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel transit-vpc-tunnel0 \
    --region us-central1

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onpremise \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface transit-vpc-cr-us-central1 \
    --interface-name if-tunnel2-to-onpremise \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel transit-vpc-tunnel1 \
    --region us-central1

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel2 \
    --interface if-tunnel2-to-onpremise \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12

একটি BGP ইন্টারফেস তৈরি করুন এবং অন-প্রিমিসেস-ভিপিসির জন্য পিয়ারিং করুন

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
    --interface-name if-tunnel1-to-hub-vpc \
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-premises-tunnel0 \
    --region us-central1

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer on-premises-vpc-cr-us-central1 \
    --peer-name bgp-transit-vpc-tunnel0 \
    --interface if-tunnel1-to-hub-vpc \
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
    --interface-name if-tunnel2-to-hub-vpc \
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-premises-tunnel1 \
    --region us-central1

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer  on-premises-vpc-cr-us-central1\
    --peer-name bgp-transit-vpc-tunnel1\
    --interface if-tunnel2-to-hub-vpc \
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11

VPN টানেলের বিশদ দেখতে হাইব্রিড কানেক্টিভিটি → VPN- এ নেভিগেট করুন।

e100e31ea22c8124.png

যাচাই করুন যে ট্রানজিট-ভিপিসি HA VPN এর মাধ্যমে IPv4 এবং IPv6 রুট শিখছে

HA VPN টানেল এবং BGP সেশনগুলি প্রতিষ্ঠিত হওয়ার কারণে, অন-প্রিমিসেস-ভিপিসি থেকে রুটগুলি ট্রানজিট-ভিপিসি থেকে শেখা হয়। কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্ক → ভিপিসি নেটওয়ার্ক → ট্রানজিট-ভিপিসি → রুটে নেভিগেট করুন।

নিচে চিত্রিত শেখা IPv4 এবং IPv6 গতিশীল রুটগুলি পর্যবেক্ষণ করুন:

216bde7d08d75ec4.png

যাচাই করুন যে on-premises-vpc HA VPN এর মাধ্যমে রুট শিখছে না

ট্রানজিট-ভিপিসির কোনো সাবনেট নেই, তাই ক্লাউড রাউটার অন-প্রিমিসেস-ভিপিসি-তে কোনো সাবনেটের বিজ্ঞাপন দেবে না। কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্ক → ভিপিসি নেটওয়ার্ক → অন-প্রিমিসেস-ভিপিসি → রুটে নেভিগেট করুন।

6. IPv6 private.googleapis.com VIP-এর বিজ্ঞাপন দিন

অন-প্রিমিস থেকে ব্যক্তিগত Google অ্যাক্সেস অ্যাক্সেস করতে আপনাকে ট্রানজিট-ভিপিসি থেকে একটি কাস্টম রুটের বিজ্ঞাপন তৈরি করতে হবে। IPv6 ঠিকানা 2600:2d00:0002:2000:: অন-প্রিমিসেস পরিবেশে বিজ্ঞাপন দেওয়া হবে এবং স্থানীয় DNS আপডেট হওয়ার পরে Google API যেমন Cloud Storage, Cloud BigQuery এবং Cloud Bigtable অ্যাক্সেস করতে কাজের চাপ দ্বারা ব্যবহৃত হবে।

এই কোডল্যাবে, আপনি বেশিরভাগ Google API এবং পরিষেবাগুলি VPC পরিষেবা নিয়ন্ত্রণ দ্বারা সমর্থিত কিনা তা নির্বিশেষে API অ্যাক্সেস সক্ষম করবেন৷

কনসোল থেকে হাইব্রিড কানেক্টিভিটি → ক্লাউড রাউটার → ট্রানজিট-vpc-cr-us-central1-এ নেভিগেট করুন, তারপর সম্পাদনা নির্বাচন করুন।

3e36e3b5ea741ec5.png

বিজ্ঞাপিত রুট বিভাগে, কাস্টম রুট তৈরি করুন বিকল্পটি নির্বাচন করুন, নীচের উদাহরণের উপর ভিত্তি করে ক্ষেত্রগুলি আপডেট করুন, সম্পন্ন নির্বাচন করুন এবং তারপরে সংরক্ষণ করুন ক্লিক করুন।

9283aba7b214f70d.png

যাচাই করুন যে on-premises-vpc IPv6 রুট শিখছে

এখন যেহেতু ট্রানজিট-ভিপিসি থেকে IPv6 private.googleapis.com VIP-এর বিজ্ঞাপন দেওয়া হয়, অন-প্রিমিসেস-vpc VIP-এর জন্য IPv6 গতিশীল রুট শিখেছে। কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্ক → ভিপিসি নেটওয়ার্ক → অন-প্রিমিসেস-ভিপিসি → রুটে নেভিগেট করুন।

ট্রানজিট-ভিপিসি থেকে বিজ্ঞাপিত IPv6 রুটগুলি পর্যবেক্ষণ করুন:

caf3b79b035b2a20.png

7. ব্যক্তিগত Google অ্যাক্সেস ব্যবহার করে Google API-এর সাথে যোগাযোগ স্থাপন করুন

নিম্নলিখিত বিভাগে, আমরা IPv6 private.googleapis.com VIP ব্যবহার করে ক্লাউড স্টোরেজের সংযোগ অ্যাক্সেস করব এবং যাচাই করব। এটি করার জন্য, আমাদের অন-প্রিমিসেস-ভিপিসি-তে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করতে হবে।

  • SSH অ্যাক্সেসের জন্য Identity Aware Proxy (IAP) অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি ইনগ্রেস ফায়ারওয়াল নিয়ম তৈরি করুন।
  • tcpdump এবং dnsutils ডাউনলোড করতে একটি ক্লাউড রাউটার এবং ক্লাউড NAT তৈরি করুন।
  • googleapis.com-এর জন্য একটি ব্যক্তিগত ক্লাউড DNS জোন তৈরি করুন।
  • একটি ক্লাউড স্টোরেজ বালতি তৈরি করুন।

IAP ফায়ারওয়াল নিয়ম তৈরি করুন

IAP কে আপনার VM দৃষ্টান্তের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:

  • আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত VM দৃষ্টান্তগুলিতে প্রযোজ্য।
  • IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।

ক্লাউড শেলের ভিতরে, IAP ফায়ারওয়াল নিয়ম তৈরি করুন।

gcloud compute firewall-rules create ssh-iap-on-premises-vpc \
    --network on-premises-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

ক্লাউড রাউটার এবং NAT কনফিগারেশন

সফ্টওয়্যার প্যাকেজ ইনস্টলেশনের জন্য কোডল্যাবে ক্লাউড NAT ব্যবহার করা হয় কারণ VM দৃষ্টান্তের একটি বাহ্যিক IP ঠিকানা নেই।

ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন।

gcloud compute routers create on-premises-cr-us-central1-nat --network on-premises-vpc --region us-central1

ক্লাউড শেলের ভিতরে, NAT গেটওয়ে তৈরি করুন।

gcloud compute routers nats create on-premises-nat-us-central1 --router=on-premises-cr-us-central1-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

একটি পরীক্ষার উদাহরণ তৈরি করুন, অন-প্রিমিসেস-টেস্টবক্স

একটি পরীক্ষার দৃষ্টান্ত তৈরি করুন যা IPv6 private.googleapis.com VIP-তে সংযোগ পরীক্ষা এবং যাচাই করতে ব্যবহার করা হবে।

ক্লাউড শেলের ভিতরে, উদাহরণ তৈরি করুন।

gcloud compute instances create on-premises-testbox \
    --project=$projectname \
    --machine-type=e2-micro \
    --stack-type=IPV4_IPV6 \
    --image-family debian-10 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=on-premises-subnet1-us-central1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump -y
      sudo apt-get install dnsutils -y"

ক্লাউড ডিএনএস প্রাইভেট জোন তৈরি করুন

আমরা একটি প্রাইভেট জোন তৈরি করতে ক্লাউড ডিএনএস ব্যবহার করব এবং *.googleapis.com-এর জন্য রেকর্ড করব, নিচে প্রয়োজনীয় ধাপগুলি দেওয়া হল।

ক্লাউড শেলের ভিতরে, একটি ব্যক্তিগত DNS জোন v6-googleapis.com তৈরি করুন৷

gcloud dns --project=$projectname managed-zones create v6-googleapis --description="" --dns-name="googleapis.com." --visibility="private" --networks="on-premises-vpc"

ক্লাউড শেলের ভিতরে, private.googleapis.com-এর জন্য AAAA রেকর্ড তৈরি করুন। IPv6 ঠিকানা 2600:2d00:0002:2000:: নির্দেশ করে।

gcloud dns --project=$projectname record-sets create private.googleapis.com. --zone="v6-googleapis" --type="AAAA" --ttl="300" --rrdatas="2600:2d00:0002:2000::"

ক্লাউড শেলের ভিতরে, private.googleapis.com-এ নির্দেশ করতে *.googleapis.com-এর জন্য একটি CNAME তৈরি করুন।

gcloud dns --project=$projectname record-sets create *.googleapis.com. --zone="v6-googleapis" --type="CNAME" --ttl="300" --rrdatas="private.googleapis.com."

ক্লাউড ডিএনএস প্রাইভেট জোন যাচাই করুন

নেটওয়ার্ক পরিষেবাগুলিতে নেভিগেট করুন → ক্লাউড DNS → v6-googleapis৷

455e355195a2a48f.png

ক্লাউড স্টোরেজ বালতি তৈরি করুন

ক্লাউড শেলের ভিতরে, একটি ক্লাউড স্টোরেজ বালতি তৈরি করুন এবং আপনার পছন্দের একটি বিশ্বব্যাপী অনন্য নাম দিয়ে bucket_name প্রতিস্থাপন করুন, যদি ইতিমধ্যে ব্যবহার করা হয় তবে অন্য নাম ব্যবহার করে দেখুন।

gsutil mb  -l us-central1 -b on gs://bucket_name

8. IPv6 ঠিকানা ব্যবহার করে Google API গুলি অ্যাক্সেস এবং যাচাই করুন৷

নিম্নলিখিত বিভাগে, আপনি দুটি ক্লাউড শেল টার্মিনালে একটি SSH সঞ্চালন করবেন। প্রথম টার্মিনালটি tcpdump ব্যবহার করে IPv6 লুকআপ যাচাই করতে ব্যবহৃত হয় যখন দ্বিতীয়টি ক্লাউড স্টোরেজ বালতিতে অ্যাক্সেসের জন্য ব্যবহার করা হয়।

ক্লাউড শেলের ভিতরে, অন-প্রিমিসেস-টেস্টবক্সের উদাহরণ পরীক্ষা করতে একটি ssh সম্পাদন করুন।

 gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

ক্লাউড শেল টার্মিনাল একের ভিতরে, tcpdump শুরু করুন এবং DNS ট্র্যাফিকের জন্য পোর্ট 53 মনিটর করুন।

sudo tcpdump -nn -i ens4 port 53

নীচের উদাহরণ.

user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53

"+" নির্বাচন করে একটি নতুন ক্লাউড শেল টার্মিনাল খুলুন। একবার নতুন ট্যাব খোলা হলে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।

ক্লাউড শেলের ভিতরে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

ক্লাউড শেল টু-এর ভিতরে, অন-প্রিমিসেস-টেস্টবক্সের উদাহরণ পরীক্ষা করার জন্য একটি ssh সম্পাদন করুন।

gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

DNS লুকআপ যাচাই করতে একটি খনন করুন

ক্লাউড শেল টার্মিনাল দুই এর ভিতরে, storage.googleapis.com এর বিরুদ্ধে একটি খনন করুন।

dig AAAA storage.googleapis.com

উত্তর বিভাগ পরিদর্শন করুন, ব্যক্তিগত DNS জোন storage.googleapis.com CNAME থেকে private.googleapis.com AAAA 2600:2d00:2:2000:: , নীচের উদাহরণ:

user@on-premises-testbox:~$ dig AAAA storage.googleapis.com

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> AAAA storage.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2782
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;storage.googleapis.com.                IN      AAAA

;; ANSWER SECTION:
storage.googleapis.com. 300     IN      CNAME   private.googleapis.com.
private.googleapis.com. 300     IN      AAAA    2600:2d00:2:2000::

;; Query time: 9 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Mon Feb 20 01:56:33 UTC 2023
;; MSG SIZE  rcvd: 101

ক্লাউড শেল টার্মিনাল একের ভিতরে, tcpdump পরিদর্শন করুন যা AAAA 2600:2d00:2:2000:: তে DNS রেজোলিউশন নিশ্চিত করে।

user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
01:56:33.473208 IP 172.16.10.3.41476 > 169.254.169.254.53: 2782+ [1au] AAAA? storage.googleapis.com. (63)
01:56:33.482580 IP 169.254.169.254.53 > 172.16.10.3.41476: 2782 2/0/1 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (101)

ডিগ এবং tcpdump-এর উপর ভিত্তি করে আমরা উপসংহারে পৌঁছাতে পারি যে storage.googleapis.com-এ DNS রেজোলিউশন 2600:2d00:2:2000:: , private.googleapis.com-এর IPv6 ঠিকানার মাধ্যমে অর্জন করা হয়েছে।

ক্লাউড স্টোরেজ অ্যাক্সেস যাচাই করতে gsutil তালিকা সম্পাদন করুন

ক্লাউড শেল টার্মিনাল দুই এর ভিতরে, gsutil ব্যবহার করে পূর্বে তৈরি স্টোরেজ বাকেটের বিপরীতে একটি তালিকা সম্পাদন করুন। আপনি পূর্বে তৈরি করা বালতিতে bucket_name পরিবর্তন করুন।

gsutil -d ls gs://bucket_name

ক্লাউড স্টোরেজ বাকেট কোডল্যাব-আইপিভি 6 ব্যবহার করার উদাহরণ, স্টোরেজ.googleapis.com এবং HTTP/1.1 200 ঠিক আছে নির্দেশ করে ডিবাগ আউটপুট পরিদর্শন করুন।

user@on-premises-testbox:~$ gsutil -d ls gs://codelab-ipv6
***************************** WARNING *****************************
*** You are running gsutil with debug output enabled.
*** Be aware that debug output includes authentication credentials.
*** Make sure to remove the value of the Authorization header for
*** each HTTP request printed to the console prior to posting to
*** a public medium such as a forum post or Stack Overflow.
***************************** WARNING *****************************
gsutil version: 5.19
checksum: 49a18b9e15560adbc187bab09c51b5fd (OK)
boto version: 2.49.0
python version: 3.9.16 (main, Jan 10 2023, 02:29:25) [Clang 12.0.1 ]
OS: Linux 4.19.0-23-cloud-amd64
multiprocessing available: True
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
config path(s): /etc/boto.cfg
gsutil path: /usr/lib/google-cloud-sdk/bin/gsutil
compiled crcmod: True
installed via package manager: False
editable install: False
shim enabled: False
Command being run: /usr/lib/google-cloud-sdk/platform/gsutil/gsutil -o GSUtil:default_project_id=myprojectid -o GoogleCompute:service_account=default -d ls gs://codelab-ipv6
config_file_list: ['/etc/boto.cfg']
config: [('working_dir', '/mnt/pyami'), ('debug', '0'), ('https_validate_certificates', 'true'), ('working_dir', '/mnt/pyami'), ('debug', '0'), ('default_project_id', 'myproject'), ('default_api_version', '2')]
DEBUG 0220 02:01:14.713012 multiprocess_file_storage.py] Read credential file
INFO 0220 02:01:14.714742 base_api.py] Calling method storage.objects.list with StorageObjectsListRequest: <StorageObjectsListRequest
 bucket: 'codelab-ipv6'
 delimiter: '/'
 maxResults: 1000
 projection: ProjectionValueValuesEnum(noAcl, 1)
 versions: False>
INFO 0220 02:01:14.715939 base_api.py] Making http GET to https://storage.googleapis.com/storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False
INFO 0220 02:01:14.716369 base_api.py] Headers: {'accept': 'application/json',
 'accept-encoding': 'gzip, deflate',
 'content-length': '0',
 'user-agent': 'apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled '
               'interactive/True command/ls google-cloud-sdk/416.0.0'}
INFO 0220 02:01:14.716875 base_api.py] Body: (none)
connect: (storage.googleapis.com, 443)
send: b'GET /storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nuser-agent: apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled
<SNIP>
reply: 'HTTP/1.1 200 OK\r\n'
header: X-GUploader-UploadID: ADPycdvunHlbN1WQBxDr_LefzLaH_HY1bBH22X7IxX9sF1G2Yo_7-nhYwjxUf6N7AF9Zg_JDwPxYtuNJiFutfd6qauEfohYPs7mE
header: Content-Type: application/json; charset=UTF-8
header: Date: Mon, 20 Feb 2023 02:01:14 GMT
header: Vary: Origin
header: Vary: X-Origin
header: Cache-Control: private, max-age=0, must-revalidate, no-transform
header: Expires: Mon, 20 Feb 2023 02:01:14 GMT
header: Content-Length: 3
header: Server: UploadServer
INFO 0220 02:01:14.803286 base_api.py] Response of type Objects: <Objects
 items: []
 prefixes: []>
user@on-premises-testbox:~$ 

ক্লাউড শেল টার্মিনাল একের ভিতরে, tcpdump পরিদর্শন করুন যা AAAA 2600:2d00:2:2000:: তে DNS রেজোলিউশন নিশ্চিত করে।

eepakmichael@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
02:01:14.725000 IP 172.16.10.3.48792 > 169.254.169.254.53: 7056+ A? storage.googleapis.com. (40)
02:01:14.725106 IP 172.16.10.3.48792 > 169.254.169.254.53: 50841+ AAAA? storage.googleapis.com. (40)
02:01:14.732516 IP 169.254.169.254.53 > 172.16.10.3.48792: 50841 2/0/0 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (90)

অন-প্রিমিসেস-টেস্টবক্স ইনস্ট্যান্স অপারেটিং সিস্টেম থেকে প্রস্থান করুন, ক্লাউড শেল প্রম্পটে ফিরে আসুন।

9. পরিচ্ছন্নতা

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

gcloud compute vpn-tunnels delete transit-vpc-tunnel0 transit-vpc-tunnel1 on-premises-tunnel1   --region=us-central1 --quiet

gcloud compute vpn-tunnels delete on-premises-tunnel0 on-premises-tunnel1 --region=us-central1 --quiet

gcloud compute vpn-gateways delete on-premises-vpc-vpngw transit-vpc-vpngw --region=us-central1 --quiet

gcloud compute routers delete transit-vpc-cr-us-central1  on-premises-vpc-cr-us-central1 on-premises-cr-us-central1-nat --region=us-central1 --quiet

gcloud compute instances delete on-premises-testbox --zone=us-central1-a --quiet

gcloud compute networks subnets delete on-premises-subnet1-us-central1 --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap-on-premises-vpc --quiet

gcloud compute networks delete on-premises-vpc --quiet


gcloud compute networks delete transit-vpc --quiet

gsutil rb gs://bucket_name

gcloud dns record-sets delete *.googleapis.com. \
    --type=CNAME \
    --zone=v6-googleapis
        
gcloud dns record-sets delete private.googleapis.com. \
        --type=AAAA \
        --zone=v6-googleapis
        
gcloud dns managed-zones delete v6-googleapis

10. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে IPv6 এর সাথে একটি ব্যক্তিগত Google অ্যাক্সেস কনফিগার এবং যাচাই করেছেন।

আপনি ট্রানজিট এবং অন-প্রিমিস অবকাঠামো তৈরি করেছেন এবং IPv6 ব্যবহার করে Google API ডোমেনের জন্য রেজোলিউশন সক্ষম করে একটি ব্যক্তিগত DNS জোন তৈরি করেছেন। আপনি ডিগ এবং ক্লাউড স্টোরেজ ব্যবহার করে IPv6 অ্যাক্সেস পরীক্ষা এবং যাচাই করতে শিখেছেন।

Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!

8c2a10eb841f7b01.jpeg

এরপর কি?

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

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

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