IP ঠিকানা বিকল্প IPv4 এবং IPv6

১. ভূমিকা

গুগল ক্লাউডে আইপি অ্যাড্রেসিং বিকল্পগুলি

আইপি অ্যাড্রেস নেটওয়ার্ক এবং নেটওয়ার্কের হোস্ট উভয়কেই শনাক্ত করতে সাহায্য করে। আইপিভি৪ (IPv4) এবং আইপিভি৬ (IPv6) দুই ধরনের অ্যাড্রেস রয়েছে। প্যাকেট আদান-প্রদানের জন্য নেটওয়ার্কিং ট্র্যাফিক যাতে উৎস এবং গন্তব্য শনাক্ত করতে পারে, সেজন্য এই অ্যাড্রেসগুলো অনন্য হওয়া উচিত। আইপি অ্যাড্রেসিং শুধু গুগল ক্লাউডের ক্ষেত্রেই অনন্য নয়, এটি ক্লাউড এবং অন-প্রেমিস উভয় পরিবেশেই বিদ্যমান।

ভার্চুয়াল প্রাইভেট ক্লাউড (VPC)

ভিপিসি (VPC) হলো একটি প্রচলিত ডেটা সেন্টারের যৌক্তিক প্রতিরূপ। ডিফল্ট ভিপিসি এবং অটো মোড ভিপিসি ছাড়াও, গুগল ক্লাউড আপনাকে একটি কাস্টম ভিপিসি তৈরি করার সুযোগ দেয়। এই কাস্টম ভিপিসিগুলো আপনাকে এর কনফিগারেশনের উপর সম্পূর্ণ নিয়ন্ত্রণ প্রদান করে।

লোড ব্যালেন্সার

একটি লোড ব্যালেন্সার আপনার অ্যাপ্লিকেশনের একাধিক ইনস্ট্যান্সের মধ্যে ট্র্যাফিক বিতরণ করতে সাহায্য করে। গুগল ক্লাউডের লোড ব্যালেন্সিং ডকুমেন্টেশনে বিভিন্ন ধরণের লোড ব্যালেন্সারের তালিকা দেওয়া আছে। এই ল্যাবে আমরা আমাদের সাধারণ ওয়েবসাইটটি অ্যাক্সেস করার জন্য একটি গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার তৈরি করব।

ক্লাউড ন্যাট

এটি আপনার প্রাইভেট সাবনেটগুলোকে ইন্টারনেটের সাথে যোগাযোগ করতে দেয়। এটি আপনার অভ্যন্তরীণ আইপি অ্যাড্রেসকে একটি পাবলিক আইপি অ্যাড্রেসে অনুবাদ করে বাহ্যিক হোস্টের সাথে সংযোগ স্থাপন করে কাজ করে। এরপর বাহ্যিক উৎস থেকে ফিরে আসা ট্র্যাফিককে ক্লায়েন্টের কাছে ফেরত পাঠানোর জন্য প্রাইভেট অ্যাড্রেসিং ব্যবহার করতে NAT গেটওয়েতে বিপরীতভাবে অনুবাদ করা হয়। সংযোগটি বহির্গমন পদ্ধতিতে শুরু করা হয়।

ভার্চুয়াল মেশিন

এগুলো হলো ভার্চুয়াল সিস্টেম, যেগুলোতে অপারেটিং সিস্টেম চলে। এগুলো ব্যবহারকারীর প্রয়োজন অনুযায়ী কনফিগার করা যায় এবং এতে মেমরি, স্টোরেজ, নেটওয়ার্কিং ও ওএস-এর উপাদানসমূহ অন্তর্ভুক্ত থাকে।

আপনি যা তৈরি করবেন

এই কোডল্যাবে, আপনি দুটি কাস্টম ভিপিসি (VPC) তৈরি করবেন এবং IPv4 ও IPv6 অ্যাড্রেস টাইপ (অভ্যন্তরীণ ও বাহ্যিক) সক্রিয় ও কনফিগার করবেন। এছাড়াও, আপনি একটি প্রাইভেট আইপি অ্যাড্রেসসহ ভিএম-এ (VM) একটি সাধারণ এনজিনএক্স (nginx) সার্ভার তৈরি করবেন, একটি বাহ্যিক অ্যাপ্লিকেশন লোড ব্যালেন্সার (Application Load Balancer) ব্যবহার করে সেটিকে উন্মুক্ত করবেন এবং IPv4 ও IPv6 অ্যাড্রেস ব্যবহার করে সেটিতে সংযোগ স্থাপন করবেন।

  • দুটি কাস্টম ভিপিসি তৈরি করুন এবং কিছু ফায়ারওয়াল নিয়ম যোগ করুন।
  • একক স্ট্যাক IPv4 এবং দ্বৈত স্ট্যাক IPv4_IPv6 সাবনেট তৈরি করুন
  • সাবনেটের ব্যক্তিগত রিসোর্সগুলো আপডেট পাওয়ার জন্য একটি NAT গেটওয়ে তৈরি করুন।
  • MIG ব্যবহার করে একটি ব্যক্তিগত VM অ্যাপাচি সার্ভার তৈরি করুন
  • স্ট্যাটিক IPV4 এবং IPv6 অ্যাড্রেস ব্যবহার করে অ্যাপ্লিকেশন লোড ব্যালেন্সারের মাধ্যমে প্রাইভেট ভিএম সার্ভারগুলোকে উন্মুক্ত করুন।
  • একটি বাহ্যিক IPv4, IPv6 ক্লায়েন্ট তৈরি করুন
  • ক্লায়েন্ট থেকে IPv4 এবং IPv6 অ্যাপ্লিকেশন লোড ব্যালেন্সার অ্যাড্রেসের সাথে সংযোগ করুন

c184b465720a47d6.png

আপনি যা শিখবেন

  • কাস্টম ভিপিসি কীভাবে তৈরি করবেন
  • সাবনেটে IPV6 কীভাবে সক্রিয় করবেন
  • ফায়ারওয়াল নিয়ম কীভাবে সেট করবেন
  • কীভাবে একটি NAT গেটওয়ে তৈরি করবেন
  • কীভাবে একটি পরিচালিত ইনস্ট্যান্স গ্রুপ তৈরি করবেন
  • আপনি কীভাবে IPv4, IPv6 ক্লায়েন্ট তৈরি করবেন
  • কীভাবে স্ট্যাটিক আইপি তৈরি করবেন
  • অ্যাপ্লিকেশন এলবি কীভাবে তৈরি করবেন

এই কোডল্যাবটি আইপি অ্যাড্রেসিং-এর উপর কেন্দ্র করে তৈরি এবং এতে বিশেষভাবে ভিএম (VM) ও লোড ব্যালেন্সার ব্যবহার করা হবে।

আপনার যা যা লাগবে

  • গুগল ক্লাউড কনসোলে সংযোগ করার জন্য একটি ওয়েব ব্রাউজার।
  • VPC এবং ফায়ারওয়াল নিয়ম তৈরি করার ক্ষমতা
  • ssh ব্যবহার করার ক্ষমতা
  • একটি গুগল ক্লাউড অ্যাকাউন্ট

২. প্রস্তুতি গ্রহণ

ল্যাব সেটআপ

স্ব-গতিতে পরিবেশ সেটআপ

  1. Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

ক্লাউড শেল শুরু করুন

যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।

গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

55efc1aaa7a4d3ad.png

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

7ffe5cbb04455448.png

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

৩. কাস্টম ভিপিসি কনফিগার করুন

কাস্টম ভিপিসি কেন?

এই ল্যাবে আমরা IPv6 ট্র্যাফিকের জন্য নিয়ম সহ কয়েকটি ফায়ারওয়াল নিয়ম যোগ করব এবং সেগুলোকে ডিফল্ট নেটওয়ার্ক থেকে আলাদা করতে পারলে খুব ভালো হয়। এছাড়াও আমরা একটি সাবনেটে IPv6 সক্রিয় করব। এর জন্য একটি পূর্বশর্ত হলো, এটি একটি কাস্টম মোড নেটওয়ার্কে সক্রিয় করতে হবে। অটো মোড নেটওয়ার্কে স্বয়ংক্রিয়ভাবে তৈরি সাবনেট সমর্থিত নয়।

অভ্যন্তরীণ IPv6 সহ কাস্টম VPC সেট আপ করুন

  1. নেটওয়ার্কিং-এর অধীনে VPC নেটওয়ার্ক নির্বাচন করুন
  2. উপর থেকে VPC নেটওয়ার্ক তৈরি করুন নির্বাচন করুন

dda2618060d62ed5.png

  1. Create a VPC network সেকশনে নিম্নলিখিতগুলি যোগ করুন:
  2. নেটওয়ার্কটির জন্য ipv4-ipv6-network হিসেবে একটি নাম লিখুন।
  3. VPC নেটওয়ার্ক ULA অভ্যন্তরীণ IPv6 রেঞ্জ বিভাগে Enabled নির্বাচন করুন।
  4. Allocate ULA internal IPv6 range সেকশনে Automatically নির্বাচন করুন।
  5. সাবনেট তৈরির মোডের জন্য কাস্টম নির্বাচন করুন।
  6. নতুন সাবনেট বিভাগে, একটি সাবনেটের জন্য নিম্নলিখিত কনফিগারেশন প্যারামিটারগুলি নির্দিষ্ট করুন:

কনফিগারেশন

মূল্য

নাম

আইপিভি৪

অঞ্চল

ইউরোপ-পশ্চিম১

আইপি স্ট্যাক টাইপ

IPv4(একক স্ট্যাক)

IPv4 পরিসর

১৯২.১৬৮.১০.০/২৪

সেকেন্ডারি IPv4 রেঞ্জ তৈরি করুন

নির্বাচন করুন

সাবনেট পরিসরের নাম ১

আইপিভি৪-সেক

সেকেন্ডারি আইপিভি৪ রেঞ্জ ১

১০.০.১০.০/২৪

  • নির্বাচন সম্পন্ন
  1. আমরা আরেকটি সাবনেট যোগ করব এবং IPV6 সক্রিয় করব। আরেকটি সাবনেট যোগ করতে 'অ্যাড সাবনেট' (ADD SUBNET) নির্বাচন করুন। 'নিউ সাবনেট' (New subnet) বিভাগে, একটি সাবনেটের জন্য নিম্নলিখিত কনফিগারেশন প্যারামিটারগুলো নির্দিষ্ট করুন:
  • সাবনেটের নামের জন্য ipv6net লিখুন।
  • অঞ্চলের জন্য us-central1 নির্বাচন করুন
  • আইপি স্ট্যাক টাইপের জন্য IPv4 এবং IPV6 (ডুয়াল-স্ট্যাক) নির্বাচন করুন।
  • একটি IPv4 রেঞ্জ লিখুন, যেমন 192.168.20.0/24।
  • IPv6 অ্যাক্সেস টাইপের জন্য ইন্টারনাল নির্বাচন করুন
  • নির্বাচন সম্পন্ন
  1. ফায়ারওয়াল নিয়ম বিভাগে, নিম্নলিখিতগুলি নির্বাচন করুন।
  • IPv4 ফায়ারওয়াল নিয়ম ট্যাবে উপলব্ধ সমস্ত বিকল্প নির্বাচন করুন : allow-cutm (অভ্যন্তরীণ যোগাযোগের জন্য), allow-icmp, allow-rdp, allow-ssh।
  • IPv6 ফায়ারওয়াল নিয়ম ট্যাবে উপলব্ধ সমস্ত বিকল্প নির্বাচন করুন : allow-ipv6-cutom (অভ্যন্তরীণ যোগাযোগের জন্য), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh।
    এই বিকল্পগুলি নতুন সাবনেটের জন্য স্বয়ংক্রিয়ভাবে একটি ম্যাচিং নিয়ম তৈরি করে।
  1. ডাইনামিক রাউটিং মোড সেকশনে VPC নেটওয়ার্কের জন্য গ্লোবাল সিলেক্ট করুন। আরও তথ্যের জন্য, ডাইনামিক রাউটিং মোড দেখুন। আপনি পরবর্তীতে ডাইনামিক রাউটিং মোড পরিবর্তন করতে পারবেন।
  2. সর্বোচ্চ ট্রান্সমিশন ইউনিট (MTU)- এর জন্য ১৪৬০ নির্বাচন করুন।
  3. তৈরি করুন- এ ক্লিক করুন।

এক্সটার্নাল IPv6 দিয়ে কাস্টম VPC সেট আপ করুন

  1. নেটওয়ার্কিং-এর অধীনে VPC নেটওয়ার্ক নির্বাচন করুন
  2. উপর থেকে VPC নেটওয়ার্ক তৈরি করুন নির্বাচন করুন
  3. dda2618060d62ed5.png
  4. Create a VPC network সেকশনে নিম্নলিখিতগুলি যোগ করুন:
  5. নেটওয়ার্কটির জন্য external-ipv6-network নামে একটি নাম লিখুন।
  6. VPC নেটওয়ার্ক ULA অভ্যন্তরীণ IPv6 রেঞ্জ বিভাগে Enabled নির্বাচন করুন।
  7. Allocate ULA internal IPv6 range সেকশনে Automatically নির্বাচন করুন।
  8. সাবনেট তৈরির মোডের জন্য কাস্টম নির্বাচন করুন।
  9. নতুন সাবনেট বিভাগে, একটি সাবনেটের জন্য নিম্নলিখিত কনফিগারেশন প্যারামিটারগুলি নির্দিষ্ট করুন:
  • সাবনেটের নামের জন্য ipv6-external লিখুন।
  • অঞ্চলের জন্য us-east1 নির্বাচন করুন
  • আইপি স্ট্যাক টাইপের জন্য IPv4 এবং IPv6 (ডুয়াল স্ট্যাক) নির্বাচন করুন।
  • একটি IPv4 রেঞ্জ প্রবেশ করান , 192.168.200.0/24 ব্যবহার করুন।
  • IPv6 অ্যাক্সেস টাইপের জন্য এক্সটার্নাল নির্বাচন করুন
  • নির্বাচন সম্পন্ন
  1. ফায়ারওয়াল নিয়ম বিভাগে, নিম্নলিখিতগুলি নির্বাচন করুন।
  • IPv4 ফায়ারওয়াল নিয়ম ট্যাবে উপলব্ধ সমস্ত বিকল্প নির্বাচন করুন : allow-cutm (অভ্যন্তরীণ যোগাযোগের জন্য), allow-icmp, allow-rdp, allow-ssh।
  • IPv6 ফায়ারওয়াল রুলস ট্যাবে উপলব্ধ সমস্ত অপশন নির্বাচন করুন : allow-ipv6-cutom (অভ্যন্তরীণ যোগাযোগের জন্য), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh। এই ল্যাবে আমরা নতুন সাবনেটে স্বয়ংক্রিয়ভাবে একটি ম্যাচিং রুল তৈরি করতে এই অপশনটি ব্যবহার করব।
  1. ডাইনামিক রাউটিং মোড সেকশনে VPC নেটওয়ার্কের জন্য গ্লোবাল সিলেক্ট করুন। আরও তথ্যের জন্য, ডাইনামিক রাউটিং মোড দেখুন। আপনি পরবর্তীতে ডাইনামিক রাউটিং মোড পরিবর্তন করতে পারবেন।
  2. সর্বোচ্চ ট্রান্সমিশন ইউনিট (MTU)- এর জন্য ১৪৬০ নির্বাচন করুন।
  3. তৈরি করুন- এ ক্লিক করুন।

ফায়ারওয়াল নিয়ম যাচাই করুন

ফায়ারওয়াল নিয়ম নিয়ন্ত্রণের মাধ্যমে আপনি আপনার পরিষেবাগুলিতে ট্র্যাফিক প্রবেশে বাধা দিতে পারেন।

নিয়ম বিদ্যমান কিনা তা যাচাই করতে:

  1. VPC নেটওয়ার্কে যান
  2. বাম প্যানেলে ফায়ারওয়াল নির্বাচন করুন

f27d26d423d50f59.png

  1. ডিসপ্লে এলাকাটি দেখুন এবং নিশ্চিত করুন যে আপনি তৈরি করা নতুন নেটওয়ার্কগুলির জন্য ফায়ারওয়াল নিয়মগুলি দেখতে পাচ্ছেন। ডানে-বামে স্ক্রল করুন, নেটওয়ার্ক কলামটি খুঁজুন এবং নিচে স্ক্রল করুন। ফায়ারওয়াল নিয়মগুলির নেটওয়ার্ক কলামে আপনার তৈরি করা নেটওয়ার্কের নামটি দেখতে পাওয়ার কথা। এই ক্ষেত্রে , ipv4-ipv6-network এবং external-ipv6-network । এই নামটি প্রজেক্টের জন্য অবশ্যই অনন্য হতে হবে।
  2. এরপরে আমরা হেলথ চেক অনুমোদনের জন্য একটি নতুন ফায়ারওয়াল নিয়ম তৈরি করব।
  3. ক্লাউড রান খুলুন যদি আগে থেকে খোলা না থাকে, এর জন্য 'অ্যাক্টিভেট ক্লাউড শেল' নির্বাচন করুন ( 9db7bdee3b6c113d.png টপ বারে ) ক্লিক করুন। একটি ক্লাউড শেল সেশন খুলবে এবং একটি কমান্ড-লাইন প্রম্পট প্রদর্শন করবে। আপনি সঠিক প্রজেক্টে আছেন কিনা তা নিশ্চিত করুন এবং নিম্নলিখিত কোডটি পেস্ট করুন।
gcloud compute firewall-rules create ipv4-ipv6-hc \
--direction=INGRESS \
--network=ipv4-ipv6-network \
--action=ALLOW \
--rules=tcp:80,tcp:8080,tcp:443 \
--source-ranges=35.191.0.0/16,130.211.0.0/22,209.85.152.0/22,209.85.204.0/22 \
--target-tags=ipv6-server
  1. একবার সম্পন্ন হলে যাচাই করুন যে আপনি ipv4-ipv6-network-এর সাথে সংযুক্ত ipv6-ipv4-hc ফায়ারওয়াল নিয়মের একটি এন্ট্রি দেখতে পাচ্ছেন।

৪. NAT গেটওয়ে কনফিগার করুন

  1. নেটওয়ার্ক পরিষেবাগুলিতে যান
  2. ক্লাউড NAT নির্বাচন করুন এবং শুরু করতে নির্বাচন করুন।

3972e67f4ed8beba.png

  1. গেটওয়ে নাম ipv4-ipv6-nat ব্যবহার করুন
  2. নেটওয়ার্ক নির্বাচন করুন ipv4-ipv6-নেটওয়ার্ক
  3. অঞ্চল নির্বাচন করুন us-central1
  4. ক্লাউড রাউটার নির্বাচন করুন নতুন রাউটার তৈরি করুন
  5. একটি রাউটার পেজ তৈরি করুন এবং নিম্নলিখিত বিষয়গুলো কনফিগার করুন:
  • নাম ipv4-ipv6-nat-router
  • অন্য সবকিছু ডিফল্ট রেখে তৈরি নির্বাচন করুন।
  1. Create Cloud NAT gateway পেজে ফিরে এসে, অন্যান্য অপশনগুলো অপরিবর্তিত রেখে create নির্বাচন করুন।

৫. প্রাইভেট ভিপিসিতে ইনস্ট্যান্স কনফিগার করুন

ব্যক্তিগত ভিপিসিতে ইনস্ট্যান্স টেমপ্লেট তৈরি করুন

  1. ক্লাউড শেল খুলুন।
  2. আপনার একাধিক প্রজেক্ট থাকলে, আপনি সঠিক প্রজেক্টে আছেন কিনা তা যাচাই করুন।
  3. নিম্নলিখিতগুলি কপি এবং পেস্ট করুন
gcloud compute instance-templates create ipv6-internal-server \
--region=us-central1 \
--network-interface=subnet=ipv6net,no-address,stack-type=IPV4_IPV6 \
--machine-type=n1-standard-1 \
--metadata=^,@^startup-script=\#\!/bin/bash$'\n'\#\ package\ updates\ \ \ \ \ \ $'\n'apt\ update\ -y$'\n'apt\ install\ nginx\ -y$'\n'systemctl\ start\ nginx$'\n'systemctl\ enable\ nginx$'\n'systemctl\ status\ nginx\ \|\ grep\ Active$'\n'chown\ -R\ \$USER:\$USER\ /var/www$'\n'cd\ /var/www/html/$'\n'echo\ \'\<\!DOCTYPE\ html\>\'\ \>\ /var/www/html/index.html$'\n'echo\ \'\<html\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<title\>Awesome\ web\ app\</title\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<meta\ charset=\"UTF-8\"\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h1\>IPv6\ server\</h1\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h3\>You\ are\ successful\</h3\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</html\>\'\ \>\>\ /var/www/html/index.html$'\n'  --tags=ipv6-server,http-server,https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=ipv6-internal-server,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230306,mode=rw,size=20,type=pd-balanced 
  1. কম্পিউট ইঞ্জিনে যান
  2. ইনস্ট্যান্স টেমপ্লেট নির্বাচন করুন
  3. ইনস্ট্যান্স টেমপ্লেট উইন্ডোতে, আপনি এইমাত্র তৈরি করা টেমপ্লেটটি দেখতে পাচ্ছেন কিনা তা নিশ্চিত করুন। ceaa7bc8d8b62b28.png
  4. টেমপ্লেটের নামের উপর ক্লিক করুন এবং কনফিগারেশনটি দেখতে নিচে স্ক্রল করুন।
  • নেটওয়ার্ক ইন্টারফেসের অধীনে, স্ট্যাক টাইপ হিসেবে IPv4 এবং IPv6 দেখা যাচ্ছে কিনা তা নিশ্চিত করুন। 47f618608644c410.png

প্রাইভেট ভিপিসিতে একটি ইনস্ট্যান্স গ্রুপ তৈরি করুন

  1. কম্পিউট ইঞ্জিনে যান
  2. ইনস্ট্যান্স গ্রুপগুলি প্রসারিত করতে নির্বাচন করুন।
  3. স্বাস্থ্য পরীক্ষা নির্বাচন করুন

f4ec2244a539bd6f.png

  1. একটি স্বাস্থ্য পরীক্ষা তৈরি করতে নির্বাচন করুন
  2. স্বাস্থ্য পরীক্ষা তৈরি করার পৃষ্ঠায় নিম্নলিখিতগুলি ব্যবহার করুন:
  • নাম ব্যবহার করুন ipv6-server-hc
  • প্রোটোকল টিসিপি পোর্ট ৮০
  • স্বাস্থ্য মানদণ্ড বিভাগে স্ক্রোল করুন
  • চেক ব্যবধান ১০, টাইমআউট ৫
  • স্বাস্থ্যকর থ্রেশহোল্ড ২, অস্বাস্থ্যকর থ্রেশহোল্ড ৪ 8bf5e76ce58b014c.png
  1. একদম শেষে স্ক্রোল করুন, তারপর তৈরি করুন নির্বাচন করুন।
  2. কম্পিউট ইঞ্জিনে যান
  3. ইনস্ট্যান্স গ্রুপ নির্বাচন করুন
  4. ইনস্ট্যান্স তৈরি করুন গ্রুপ নির্বাচন করুন
  5. নতুন পরিচালিত ইনস্ট্যান্স গ্রুপ (স্টেটফুল) নির্বাচন করুন
  6. নাম ব্যবহার করুন ipv6-server-igp
  7. ইনস্ট্যান্স টেমপ্লেটের জন্য ipv6-internal-server ব্যবহার করুন।
  8. ইনস্ট্যান্সের সংখ্যার জন্য ব্যবহার করুন।
  9. অবস্থানের জন্য সিঙ্গেল জোন ব্যবহার করুন এবং নিশ্চিত করুন যে অঞ্চলটি us-central1।
  10. অটো-হিলিং এর নিচে স্ক্রোল করুন:
  • স্বাস্থ্য-পরীক্ষার জন্য ipv6-server-hc ব্যবহার করুন
  • প্রাথমিক বিলম্বের জন্য টাইপ ১২০
  • অন্য সবকিছু ডিফল্ট রেখে তৈরি নির্বাচন করুন।

ইনস্ট্যান্স গ্রুপটি তৈরি হতে কয়েক মিনিট সময় লাগবে।

ইনস্ট্যান্স গ্রুপ এবং ভিএম যাচাই করুন

আপনার ইনস্ট্যান্স গ্রুপটি সম্পূর্ণ হয়ে গেলে যাচাই করা যাক।

  1. কম্পিউট ইঞ্জিনে যান এবং ইনস্ট্যান্স গ্রুপ নির্বাচন করুন
  2. আপনি এইমাত্র তৈরি করা ইনস্ট্যান্স গ্রুপের নাম ipv6-server-igp নির্বাচন করুন।
  3. নিশ্চিত করুন যে আপনি নিম্নলিখিত বিষয়গুলো দেখতে পাচ্ছেন:
  • স্ট্যাটাস অনুযায়ী ২টি ইনস্ট্যান্স (যদি এখনও হেলদি না দেখায়, তবে সমস্ত হেলথ চেক সম্পন্ন হওয়ার জন্য অনুগ্রহ করে কিছুক্ষণ অপেক্ষা করুন)
  • স্বাস্থ্য অনুযায়ী ইনস্ট্যান্স ১০০% স্বাস্থ্যকর

এরপর চলুন সরাসরি এই ইনস্ট্যান্স গ্রুপের VM-গুলোতে গিয়ে কিছু পরীক্ষা করা যাক।

  1. ভিএম ইনস্ট্যান্সগুলো নির্বাচন করলে আপনি ipv6-server-igp দিয়ে শুরু হওয়া নামের দুটি ভিএম দেখতে পাবেন।
  2. স্ক্রল করে ইন্টারনাল আইপি কলামের নিচে গেলে আপনি আইপিভি৪ এবং আইপিভি৬ উভয় অ্যাড্রেস দেখতে পাবেন। প্রতিটি সার্ভারের জন্য উভয় অ্যাড্রেস নোট করে নিন।
  3. প্রথম ভিএম-এর পাশে থাকা SSH নির্বাচন করুন। এটি সরাসরি সার্ভারে একটি SSH সেশন খুলবে।
  4. SSH উইন্ডোতে curl localhost টাইপ করুন আপনি VM-এ চলমান ওয়েব সার্ভার থেকে নীচের মতো HTML সহ একটি প্রতিক্রিয়া পাবেন:

936962cc23787de8.png

  1. এরপর অ্যাড্রেসের তথ্য দেখতে ip addr টাইপ করুন। যাচাই করুন যে exxx ইন্টারফেসে সেই একই IPv4 এবং IPv6 অ্যাড্রেস আছে যা আপনি এই VM-এর জন্য ধাপ ৬-এ আগে রেকর্ড করেছিলেন।
  2. এই ভিএম থেকে দ্বিতীয় ভিএম-এর IPv4 অ্যাড্রেসে ping -c 4 XXXX কমান্ডটি চালান, এরপর দ্বিতীয় ভিএম-এর IPv6 অ্যাড্রেস ব্যবহার করে একই কাজ করুন।

f594227c496f6aaf.png

  1. < ঐচ্ছিক > আপনি দ্বিতীয় ভিএম-এ SSH করে লগইন করতে পারেন এবং একই পরীক্ষাটি করতে পারেন। ভিএম ১-এর IPv4 এবং IPv6 অ্যাড্রেসগুলোতে পিং করার চেষ্টা করুন।

প্রাইভেট ভিপিসিতে একটি স্বতন্ত্র শুধুমাত্র IPv4 ইনস্ট্যান্স তৈরি করুন

  1. কম্পিউট ইঞ্জিনে যান
  2. ভিএম ইনস্ট্যান্স নির্বাচন করুন এবং ইনস্ট্যান্স তৈরি করুন নির্বাচন করুন।
  3. কনফিগারেশন পৃষ্ঠাটি নিম্নরূপভাবে পূরণ করুন:
  • শুধুমাত্র আইপিভি৪ ব্যবহার করুন
  • অঞ্চল নির্বাচন করুন ইউরোপ-পশ্চিম১
  1. নিচে স্ক্রোল করুন, অ্যাডভান্সড অপশনস (Advanced Options) প্রসারিত করুন, তারপর নেটওয়ার্কিং (Networking) প্রসারিত করুন। এখন নেটওয়ার্ক ইন্টারফেসের (network Interfaces) অধীনে নিম্নলিখিতটি ব্যবহার করুন। e0e04a20d1d3346d.png
  • সম্পাদনা ইন্টারফেসের বিকল্পগুলি দেখতে ডিফল্টের পাশের ড্রপ-ডাউন তীরচিহ্নটি নির্বাচন করুন। 1799749d20d494c8.png
  1. নেটওয়ার্ক পরিবর্তনের জন্য ipv4-ipv6-network ব্যবহার করুন।
  • সাবনেটওয়ার্ক আইপিভি৪
  • বাহ্যিক IPv4 ঠিকানা নির্বাচন করুন: কোনোটিই নয়
  • নির্বাচন সম্পন্ন
  1. একদম শেষে স্ক্রোল করুন এবং তৈরি নির্বাচন করুন।
  2. ভিএমটি তৈরি হতে কয়েক মিনিট সময় লাগবে। এই ভিএমটি একটি শুধুমাত্র IPv4 সাবনেটে অবস্থিত, যেখানে কোনো বাহ্যিক আইপি অ্যাড্রেস বরাদ্দ করা নেই। যাচাই করার জন্য ভিএম ইনস্ট্যান্স পেজে যান এবং 'ipv4-only' নামের ভিএমটি খুঁজুন। 207938aabfe4251.pngbe32003508afdbd7.png
  3. ipv4-only নামের ভিএম-এ SSH করার জন্য SSH নির্বাচন করুন।
  4. পূর্বে তৈরি করা ipv6-server-igp নাম দিয়ে শুরু হওয়া যেকোনো VM-এর প্রাইভেট IPv4 অ্যাড্রেসগুলোতে ping -c 4 XXXX কমান্ডটি চালান। আপনি এই VM-গুলোর অভ্যন্তরীণ IPv4 অ্যাড্রেসগুলোতে সফলভাবে পিং করতে পারবেন। 6c2a4a052238a59d.png

৬. প্রাইভেট ভিপিসিতে IPv4 এবং IPv6 অ্যাড্রেস সহ একটি অ্যাপ্লিকেশন এলবি তৈরি করুন।

দুটি স্ট্যাটিক এক্সটার্নাল আইপি তৈরি করুন

  1. VPC নেটওয়ার্কে যান
  2. আইপি অ্যাড্রেস নির্বাচন করুন এবং সংরক্ষিত বাহ্যিক স্ট্যাটিক অ্যাড্রেস নির্বাচন করুন।
  3. IPv4 অ্যাড্রেসের জন্য নিম্নলিখিতটি ব্যবহার করুন:
  • নাম ipv4-lb-ip
  • আইপি সংস্করণ IPv4
  • টাইপ গ্লোবাল
  • শেষ পর্যন্ত স্ক্রোল করুন এবং রিজার্ভ নির্বাচন করুন
  1. IPv6 অ্যাড্রেসের জন্য ধাপ ২ পুনরাবৃত্তি করুন এবং নিম্নলিখিতটি ব্যবহার করুন:
  • নাম ipv6-lb-ip
  • আইপি সংস্করণ IPv6
  • টাইপ গ্লোবাল
  • শেষ পর্যন্ত স্ক্রোল করুন এবং রিজার্ভ নির্বাচন করুন

এই আইপি অ্যাড্রেসগুলো লিখে রাখুন। শেষ অংশে সংযোগ পরীক্ষা করার জন্য এগুলো আপনার প্রয়োজন হবে।

এক্সটার্নাল অ্যাপ্লিকেশন LB তৈরি করুন

  1. নেটওয়ার্ক পরিষেবাগুলিতে যান
  2. লোড ব্যালেন্সার তৈরি করতে নির্বাচন করুন
  3. লোড ব্যালান্সারের প্রকারের অধীনে অ্যাপ্লিকেশন লোড ব্যালান্সার (HTTP/HTTPS) নির্বাচন করুন, তারপর পরবর্তী ধাপে যান।
  4. পাবলিক ফেসিং বা ইন্টারনাল-এর অধীনে পাবলিক ফেসিং (এক্সটার্নাল) নির্বাচন করুন, তারপর নেক্সট।
  5. গ্লোবাল বা একক-অঞ্চল ডেপ্লয়মেন্টের অধীনে ‘গ্লোবাল ওয়ার্কলোডের জন্য সেরা’ নির্বাচন করুন, তারপর পরবর্তী ধাপে যান
  6. লোড ব্যালেন্সার জেনারেশনের অধীনে গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার নির্বাচন করুন, তারপর পরবর্তী ধাপে যান
  7. কনফিগার নির্বাচন করুন
  8. উপরে 'Create global external Application Load Balancer'- এর অধীনে ipv4-ipv6-lb-demo নামটি ব্যবহার করুন।
  9. এরপর ফ্রন্টএন্ড কনফিগারেশন নির্বাচন করুন এবং নিম্নলিখিতগুলি ব্যবহার করুন:
  • নাম ipv4-fe-lb
  • প্রোটোকল HTTP
  • আইপি সংস্করণ IPv4
  • আমাদের তৈরি করা স্ট্যাটিক এক্সটার্নাল IPv4 IP অ্যাসাইন করতে IP address select ipv4-lb-ip ব্যবহার করুন।
  • পোর্ট ৮০
  • নির্বাচন সম্পন্ন
  1. ফ্রন্টএন্ডের অধীনে, IPv6 সংযুক্তি কনফিগার করতে 'অ্যাড ফ্রন্টএন্ড আইপি অ্যান্ড পোর্ট' নির্বাচন করুন: 6a5e3aeab563e0a1.png
  • নাম ipv6-fe-lb
  • প্রোটোকল HTTP
  • আইপি সংস্করণ IPv6
  • আমাদের তৈরি করা স্ট্যাটিক এক্সটার্নাল IPv6 IP অ্যাসাইন করতে IP address select ipv6-lb-ip ব্যবহার করুন।
  • পোর্ট ৮০
  • নির্বাচন সম্পন্ন
  1. ডানদিকের প্যানেলে 'ব্যাকএন্ড কনফিগারেশন' নির্বাচন করুন , 'ব্যাকএন্ড সার্ভিস' এবং 'ব্যাকএন্ড বাকেট'-এর অধীনে 'একটি ব্যাকএন্ড সার্ভিস তৈরি করুন' বেছে নিন, তারপর নিম্নলিখিতগুলি ব্যবহার করুন:
  • নেম সার্ভার-ব্যাকএন্ড
  • ব্যাকএন্ড টাইপ ইনস্ট্যান্স গ্রুপ
  • প্রোটোকল HTTP
  • ইনস্ট্যান্স গ্রুপ ipv6-server-igp
  • পোর্ট নম্বর ৮০, ৮০৮০
  • ক্লাউড সিডিএন সক্ষম করুন নির্বাচন বাতিল করুন

ee9c122389b61a9d.png

  • স্বাস্থ্য পরীক্ষা ipv6-server-hc নির্বাচন করুন
  • শেষ পর্যন্ত স্ক্রোল করুন, তৈরি নির্বাচন করুন
  • তারপর ওকে নির্বাচন করুন। e4e0dfbb959d7424.png
  1. পেজটির একদম নিচে স্ক্রল করে 'ক্রিয়েট' (create) অপশনটি বেছে নিন। এটি সম্পূর্ণ হলে আপনি এটি দেখতে পাবেন।

2d18e9aadc2545be.png

  1. নতুন এলবি-টির নামের উপর ক্লিক করুন এবং ফ্রন্ট এন্ডের নিচে থাকা আইপিভি৪ ও আইপিভি৬ অ্যাড্রেসগুলো লিখে নিন। শেষ পরীক্ষার জন্য আপনার এগুলো প্রয়োজন হবে।

৭. বাহ্যিক এবং অভ্যন্তরীণ IPv4 এবং IPv6 ঠিকানা সহ একক ইনস্ট্যান্স তৈরি করুন

বাহ্যিক IPv4 এবং IPv6 ঠিকানা সহ একটি স্বতন্ত্র তৈরি করুন

  1. কম্পিউট ইঞ্জিনে যান
  2. ভিএম ইনস্ট্যান্স নির্বাচন করুন এবং ইনস্ট্যান্স তৈরি করুন নির্বাচন করুন।
  3. কনফিগারেশন পৃষ্ঠাটি নিম্নরূপভাবে পূরণ করুন:
  • নাম ব্যবহার করুন external-ipv4-ipv6
  • অঞ্চল নির্বাচন করুন us-east1
  1. নিচে স্ক্রোল করুন, অ্যাডভান্সড অপশনস (Advanced Options) প্রসারিত করুন, তারপর নেটওয়ার্কিং (Networking) প্রসারিত করুন। এখন নিম্নলিখিতগুলি ব্যবহার করুন:
  • নেটওয়ার্ক ইন্টারফেসের অধীনে নেটওয়ার্ক এক্সটার্নাল-আইপিভি৬-নেটওয়ার্ক নির্বাচন করুন।
  • সাবনেটওয়ার্ক আইপিভি৬-এক্সটার্নাল
  • আইপি স্ট্যাকের ধরণ আইপিভি৪ এবং আইপিভি৬ (ডুয়াল-স্ট্যাক)
  • বাহ্যিক IPv4 ঠিকানা নির্বাচন ক্ষণস্থায়ী
  • নির্বাচন সম্পন্ন
  1. একদম শেষে স্ক্রোল করুন এবং তৈরি নির্বাচন করুন।
  2. ভিএমটি তৈরি হতে কয়েক মিনিট সময় লাগবে। এই ভিএমটি একটি IPv4_IPv6 সাবনেটে অবস্থিত এবং এতে এক্সটার্নাল IPv6 অ্যাড্রেস অ্যাক্সেস রয়েছে। যাচাই করার জন্য ভিএম ইনস্ট্যান্স পেজে যান এবং external-ipv4-ipv6 নামের ভিএমটি খুঁজুন। 2a440854f52f1af7.png
  3. এক্সটার্নাল-ipv4-ipv6 ভিএম-এ SSH করার জন্য SSH অপশনটি নির্বাচন করুন।
  4. আপনার ভিএম-এ বরাদ্দ করা IPv4 এবং IPv6 অ্যাড্রেস চেক করতে ip addr টাইপ করুন।
  5. ipv4-ipv6-lb-demo- এর IPv4 অ্যাড্রেসে যান
  6. আপনার এক্সটার্নাল-ipv4-ipv6 VM SSH সেশনে curl XXXX টাইপ করুন, যেখানে XXXX হলো `ipv4-ipv6-lb-demo` লোড ব্যালান্সারের IPv4 অ্যাড্রেস। আপনি `ipv4-ipv6-network`- এর সার্ভারগুলোতে চলমান ওয়েবসাইটের HTML দেখতে পাবেন।
  7. আপনার এক্সটার্নাল-ipv4-ipv6 VM SSH সেশনে curl [X:X:X:X]:80 করুন, যেখানে X:X:X:X হলো ` ipv4-ipv6-lb-demo` লোড ব্যালান্সারের IPv6 অ্যাড্রেস। এটি দেখতে ` curl [2600:1901:X:XXXX::]:80 এর মতো হবে। আপনি `ipv4-ipv6-network`- এর সার্ভারগুলিতে চলমান ওয়েবসাইটের HTML দেখতে পাবেন।

7cd98c6daea571ce.png

৮. পরিষ্কার করা

আপনার প্রজেক্টটি পরিষ্করণ করতে আপনি নিম্নলিখিত কমান্ডগুলো চালাতে পারেন।

gcloud compute instances delete external-ipv4-ipv6 --zone=us-east1-b --quiet
gcloud compute instances delete ipv4-only --zone=europe-west1-b --quiet

gcloud compute forwarding-rules delete ipv4-fe-lb --global --quiet
gcloud compute forwarding-rules delete ipv6-fe-lb --global --quiet
gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy --quiet
gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy-2 --quiet
gcloud compute url-maps delete ipv4-ipv6-lb-demo --quiet
gcloud compute backend-services delete server-backend --global --quiet

gcloud compute addresses delete ipv4-lb-ip --global --quiet
gcloud compute addresses delete ipv6-lp-ip --global --quiet


gcloud compute instance-groups managed delete ipv6-server-igp --zone us-central1-a --quiet

gcloud compute instance-templates delete "ipv6-internal-server" --quiet

gcloud compute health-checks delete ipv6-server-hc --quiet

gcloud compute routers nats delete ipv4-ipv6-nat --router=ipv4-ipv6-nat-router --region=us-central1 --quiet

gcloud compute routers delete ipv4-ipv6-nat-router --region=us-central1 --quiet

gcloud compute firewall-rules delete external-ipv6-network-allow-ipv6-custom external-ipv6-network-allow-ipv6-ssh external-ipv6-network-allow-rdp external-ipv6-network-allow-ipv6-rdp external-ipv6-network-allow-ssh external-ipv6-network-allow-ipv6-icmp external-ipv6-network-allow-custom external-ipv6-network-allow-icmp --quiet


gcloud compute firewall-rules delete ipv4-ipv6-hc ipv4-ipv6-network-allow-custom ipv4-ipv6-network-allow-ipv6-icmp ipv4-ipv6-network-allow-icmp ipv4-ipv6-network-allow-ssh ipv4-ipv6-network-allow-rdp ipv4-ipv6-network-allow-ipv6-ssh ipv4-ipv6-network-allow-ipv6-rdp ipv4-ipv6-network-allow-ipv6-custom --quiet

gcloud compute networks subnets delete ipv4 --region=europe-west1 --quiet
gcloud compute networks subnets delete ipv6net --region=us-central1 --quiet
gcloud compute networks subnets delete ipv6-external --region=us-east1 --quiet

gcloud compute networks delete external-ipv6-network --quiet
gcloud compute networks delete ipv4-ipv6-network --quiet

৯. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে IPv4 এবং IPv6 উভয় নেটওয়ার্কিং বিকল্প অন্বেষণ করেছেন!

রেফারেন্স নথি

ম্যানুয়াল সর্বশেষ আপডেট মার্চ, ২০২৩

ল্যাবে সর্বশেষ পরীক্ষা করা হয়েছে মার্চ, ২০২৩