Sunday, July 7, 2019

Switch Port Security কি? Switch Port Security কনফিগারেশন

Cisco Switch বিভিন্ন ধরণের Security ফিচার রয়েছে । এখানে আমরা কিছু Security ফিচার নিয়ে আলোচনা করব। তার মধ্যে সবচেয়ে গুরুত্বপূর্ন হল Switch Port Security. Switch Port Security এর মাধ্যমে একজন নেটওয়ার্ক অ্যাডমিনিস্টেটর খুব সহজেই নেটওয়ার্ক এর হোস্ট সমুহকে কন্টোল করতে পাবে। অর্থাৎ কোন কোন হোস্ট ইন্টারনাল নেটওয়ার্কটিকে অ্যাকসেস করতে পারবে আর কোন কোন এই ইন্টারনাল নেটওয়ার্কটিকে অ্যাকসেস করতে পারবেনা ।

পোর্ট ‍সিকুরিটির বৈশিষ্ট:
  1. Switch port টিতে প্রথমে যে কম্পিউটার বা হোস্টটি কানেক্ট হয় ‍সুইচ তার MAC Address কপি করে এবং সেভ করে কাখে।
  2. Switch Port শুধু মাত্র সেই সকল হোস্টকে নেটওয়ার্ক অ্যাকসেস করার অনুমতি দেয় যাদের Mac Address তার CAM টেবিলে ‍সেভ করা আছে।
  3. যদি অন্য কোন MAC Address এর কোন হোস্ট সুইচপোর্টটিকে অ্যাকসেস করতে চায় তাহলে সাথে সাথে সুইচ তার সেই পোর্টটিকে ডিজেবল করে দিবে ।

এখানে ‍Switch 1 এর Fa 0/1 এই ইন্টারফেসে একটি কম্পিউটার কানেক্ট করেছি যার Mac Address xxxx.xxxx.xx01 ‍সুইচের Fa 0/1 এই ইন্টারফেস এর জন্য শুধুমাত্র xxxx.xxxx.xx01 এই MAC Address টিকে অ্যাকসেস দেওয়া হয়েছে । এখানে শুধুমাত্র এই হোস্টটি চলবে । অন্য কোন হোস্ট চলবে না । এখোন যদি বাহির থেকে কেউ এসে Switch এর Fa 0/1 এই পোর্টটিতে অন্য কোন MAC Address এর কোন হোস্ট কানেক্ট করে তাহলে Switch সাথে সাথে তার Fa 0/1 পোর্টটিকে ঐ হোস্ট এর জন্য Deny করে দিবে ।

Port Security Violation Role

যখন ‍সুইচের কোন পোর্টে Port Security Enable করা থাকে আর তাতে যদি অন্য কোন হোস্ট কানেক্ট হওয়ার চেষ্ট করা তাহলে সেই সুইচ পোর্টটি কি কি অ্যাকশন নিতে পাবে সেটাই হলে Port Security Violation Role.  যখন কোন Port Security Violation ঘটে তখন তিনটি পদ্ধতিতে এই Violation দূর করা য়ায়।
  • Shutdown: যখনই কোন অনঅথরাইজড হোস্ট সুইচপোর্ট এর সাথে কানেক্ট হওয়ার চেষ্টা করবে তখন সুইচ সেই পোর্টটি সাথে সাথে Shutdown করে দিবে।
  • Restrict: যদি ‍সুইচ পোর্টটির Violation Restrict করা থাকে তাহলে সাথে সাথে সুইচ একটি মেসেজ Administrator এর কাছে পাঠায়ে দিবে ।
  • Protect: যদি কোন পোর্ট Protect করা থাকে তাহলে ঐ পোর্টে অথরাইজড হোস্ট ছাড়া অন্য কোন হোস্ট কানেক্ট হলেও ঐ পোর্ট দিয়ে কোন ফ্রেম ট্রান্সমিট হবে না । পোর্টটি কিন্তু ডাউন হবে না।
যখন কোন পোর্টে পোর্ট ‍সিকুরিটি অন করব তখন সেই পোর্টটিকে প্রথমে অ্যাকসেস মোডে নিতে হবে । যদি কোন পোর্ট Dynamic মোডে থাকে তাহলে সেই পোর্টে Port Security অন করা যাবে না ।

এখানে একটি সুইচ নিয়েছি এবং তার সাথে একটি PC PC0 যুক্ত করা হয়েছে। PC0 টি সুইচের Fa 0/1 পোর্ট এর সাথে যুক্ত। এখানে Switch এর Fa 0/1 পোর্টে আমরা Port Security অন করব । যাতে করে শুধু মাত্র PC0 এই পোর্টে অ্যাকসেস পায় । PC0 ছাড়া অন্য কোন PC যদি এখানে কানেক্ট হওয়ার চেষ্টা করে তাহলে পোর্টটি Shutdown হয়ে যাবে ।

Switch>
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa 0/1
Switch(config-if)#switchport port-security mac-address sticky
Switch(config-if)#switchport port-security violation shutdown
Switch(config-if)#switchport port-security maximum 1

                                                                                                                                             
এখন যদি আমরা Switch0  এর Fa 0/1 এই পোর্টে PC0 কে Disconnection করে অন্য কোন PC কে কানেক্ট কারি তাহলে Fa 0/1 পোর্টটি সাথে সাথে Shutdown হয়ে যাবে । যতখন না আমরা আবার এই পোর্টটিকে অন না করেছি ততখনে এই পোর্টটি আর অন হবে না ।

যে পিসিটিকে আমরা অ্যাকসেস দিব তার ম্যাক অ্যাড্রেস এখানে ‍দুই ভাবে সুইচ কপি করতে পারে । প্রথমত আমরা ম্যাক অ্যড্রেসটিকে ম্যানুয়ালি অ্যাসাইন করে দিতে পারি । তাছাড়া sticky কমান্ডটি ব্যবহার করেও MAC Address টিকে সুইচ কপি করতে পারে এক্ষেত্রে PC টিকে সুইচের ঐ পোর্ট এর সাথে কানেক্ট থাকতে হবে । এখানে আমি “Switch(config-if)#switchport port-security mac-address sticky” এই কমান্ডটি ব্যবহার করেছি।


এর পর “Switch(config-if)#switchport port-security maximum 1” এই কমান্ডটি ব্যবহার করা হয়েছে এজন্য যে এই পোর্টটিতে সর্বোচ্চ কতটি পিসিকে অ্যাকসেস দিব সেটি নির্দেশ করে । এখানে আমরা maximum 1 ব্যাবহার করেছি। অর্থাৎ এখানে একটি মাত্র PC একসেস পাবে।

Spanning Tree Protocol কি ? Spanning Tree Protocol সম্পর্কে বিস্তারিত জানুন

যেকোন ধরনের নেটওয়ার্কের ক্ষেত্রে Redundant Connection একটি গুরুত্বপূর্ন বিষয়। একটি নেটওয়ার্কের কোন একটি লিংক যদি কোন কারণে ডাউন হয়ে যায় তাহলে ঐ লিংকের সাথে যুক্ত সকল ডিভাইসসমূহ নেটওয়ার্ক থেকে বিচ্ছিন্ন হয়ে যায়। Redundancy বলতে এখানে একই ডেস্টিনেশন এ যাওয়ার জন্য একটি মূল পাথ এর পাশাপাশি একটি ব্যাকআপ/অল্টারনেট পাথকে বুঝায়, যাতে করে কোন কারণে মূল পাথটি ডাউন হয়ে গেলে ব্যাকআপ পাথের মাধ্যমে অনায়াসে ডাটা আদান-প্রদান করা যায়।

উদাহরণ সরুপ যদি আমরা উপরের চিত্রের দিকে লক্ষ করি, তাহলে এখানে মোট তিনটি Swtich রয়েছে। যরা পরস্পর পরস্পর এর সাথে যুক্ত। এখন যদি PC0 PC1 এর সাথে কানেক্ট হতে চায় তাহলে মোট দুটি পথে PC1 এর কাছে পেীছাতে পারে। প্রথম পথটি হলে PC0>Switch 0>Switch 1>PC1 এবং আর একটি পথ আছে তা হল PC0>Switch 0>Switch 2>Switch 1>PC1। এখানে এই দ্বিতীয় পাথটি হলে ব্যাকআপ পাথ। এই রকমের কানেকশনকেই বলা হয় Redundant Connection.

Redundant Connection Hierarchical নেটওয়ার্ক ডিজাইনের জন্য একটি গুরুত্বপূর্ণ অংশ। Redundancy এর ফলে নেটওয়ার্কে অনাকাঙ্খিত ডাউনটাইম হ্রাস পায়। আবার Redundant Connection যদি সঠিকভাবে কনফিগার করা না তাহলে ঐ নেটওয়ার্কে Layer 2 Loop তৈরী হয়ে নেটওয়ার্কটিকে অকার্যকর করে দিতে পারে।

চলুন দেখি কিভাবে নেটওয়ার্কে Layer 2 loop তৈরি হয়। মনে করি PC0 একটি ব্রডকাষ্ট ফ্রেম ডেলিভার করল SW0 এর কাছে। ব্রডকাষ্ট ফ্রেম কাকে বলে? যখন কোন ফ্রেম এ ডেস্টিনেশন ম্যাক অ্যাড্রেস ff:ff:ff:ff:ff:ff থাকে তখন তাবে বলা হয় ব্রডকাষ্ট ফ্রেম। যখন কোন সুইচ এর কাছে এই রকম কোন ব্রডকাষ্ট ফ্রেম আসে তখন সে তার সমস্থ অ্যাকটিভ ইন্টারফেস দিয়ে (শুধু মাত্র যেই  ইন্টারফেস ‍দিয়ে ফ্রেমটিকে রিসিভ করে সেই ইন্টারফেস ছাড়া) ফ্রেমটিকে ট্রান্সমিট করে দেয়। SW0 এই ব্রডকাষ্ট ফ্রেমটিকে একই সাথে তার Fa 0/1 ও Fa 0/2 ইন্টারফেসদিয়ে ডেলিভারি করে দিবে । যখন SW0 যখন ফ্রেমটিকে SW1 এর কাছে পাঠায় SW1 আবার সেই ফ্রেমটিকে তার অন্য দুটি পোর্ট দিয়ে ট্রান্সমিট করে দেয় এবং ফ্রেমটি ‍SW1 এর Fa 0/2 ইন্টারফেস দিয়ে SW2 এর কাছে পাঠায়। SW 2 যখন ‍SW1 এর কাছে থেকে ফ্রেমটিকে রিসিভ করে তখন সে আবার এই ফ্রেমটিকে তার Fa 0/2 ইন্টারফেস দিয়ে SW0 এর কাছে ট্রান্সমিট করে দেয়। একই সময়ে ‍SW0 আবার যখন তার Fa0/2 ইন্টারফেস দিয়ে SW2 এর কাছে ফ্রেমটিকে ট্রান্সমিট করেছিল SW2 আবার সেই ফ্রেমটিকে তার Fa 0/1 পোর্টদিয়ে SW1 এর কাছে ট্রান্সমিট করে দিবে । SW1 আবার সেই একই ফ্রেমটিকে তার Fa 0/1 পোর্টদিয়ে SW0 এর কাছে পাঠাবে ।

এখানে মূল যে ঘটনা ঘটতেছে তা হল ফ্রেমটি SW0 এর Fa 0/1 ইন্টারফেস দিয়ে SW1>SW2>SW0 এর কছে চলে আসে । একই সাথে ফ্রেমটি SW0 এর Fa 0/2 ইন্টারফেস দিয়ে SW2>SW1>SW0 তে আসে । এভাবে ফ্রেমটি নেটওয়ার্কে ব্রডকাষ্ট হতে থাকে  ফলে যা হবে তা হল সুইচের প্রসেসর ও মেমোরির উপর অতিরিক্ত লোড পরে যার ফলে নেটওয়ার্ক এর পারফরমেন্স কমে যায়। এই ধরণের নেটওয়ার্কে সংযুক্ত ডিভাইসের সংখ্যা যত বেশি হয় Broadcast ফ্রেইমের পরিমাণও তত বেশি হয়। যার ফলে নেটওয়ার্কে Broadcast Storm তৈরী হয় এবং নেটওয়ার্কে ব্যান্ডউইথ সংকট দেখা দেয়। Layer 2 Loop তৈরী হওয়ার ফলে নেটওয়ার্কে যে কেবল Broadcast Storm তৈরী হয় তা নয়। এর ফলে নেটওয়ার্কে Duplicate Unicast Frame ও তৈরী হয়।

Spanning Tree Protocol (STP): Layer 2 Loop এর ফলে সৃষ্ট এই ধরণের সমস্যা থেকে পরিত্রান পাওয়ার জন্য এবং একটি Scalable ও Redundant নেটওয়ার্ক গড়ে তোলার জন্য নেটওয়ার্ক সুইচসমূহে এক ধরণের বিশেষ মেকানিজম ব্যবহৃত হয় যার নাম হলো Spanning Tree Protocol বা সংক্ষেপে STP । STP হলো এমন এক ধরণের প্রটোকল যার মাধ্যমে কোন ডেষ্টিনেশন ডিভাইসে পৌছানোর জন্য একাধিক ফিজিক্যাল পাথের মধ্য থেকে একটি পাথকে এ্যাকটিভ রাখা হয় এবং অন্যান্য সকল পাথসমূহকে ব্লকড রাখা হয় যেগুলো ব্যাকআপ পাথ হিসেবে ব্যবহৃত হয়। ডাটা ট্রাফিকসমূহ শুধুমাত্র এ্যাকটিভ পাথ দিয়ে চলাচল করে (তবে ব্লবড পাথের মধ্য দিয়ে STP প্রসেসে ব্যবহৃত BPDU ম্যাসেজসমূহ বিনিময় হয়)। যদি কোন কারণে এ্যাকটিভ পাথ ডাউন হয়ে যায় তাহলে ব্যাকআপ পাথটি আনব্লকড হয় এবং ব্যাকআপ পাথ ব্যবহার করে ট্রাফিক চলাচল করে। আবার যখন মূল পাথটি সচল হয় তখন ব্যাকআপ পাথটি আগের মতো ব্লকড রাখা হয় এবং ট্রাফিক মূল পাথ দিয়ে চলাচল করে। এতে নেটওয়ার্কের ডাউন টাইম হ্রাস পায়। একটি নেটওয়ার্কের কোন পাথটি এ্যাক্টিভ এবং কোন পাথটি ব্লকড অবস্থায় থাকবে তা Spanning Tree Algorithm (STA) এর মাধ্যমে ডায়নামিকভাবে ক্যালকুলেট করা হয়ে থাকে।

Spanning Tree Algorithm (STA): STP তার Spanning Tree Algorithm (STA) এর মাধ্যমে নেটওয়ার্কের সবগুলো সুইচের মধ্য থেকে একটি সুইচকে Root Bridge হিসেবে নির্বাচন করে। Root Bridge হলো এমন একটি সুইচ যা নেটওয়ার্কের সমস্ত পাথ ক্যালকুলেশনের ক্ষেত্রে রেফারেন্স পয়েন্ট হিসেবে ব্যবহৃত হয়। এই Root Bridge কে কেন্দ্রবিন্দু হিসেবে বিবেচনা করে নেটওয়ার্কের বিভিন্ন ডেষ্টিনেশনে পৌছানোর জন্য Shortest/Best পাথ ক্যালকুলেশন করা হয়ে থাকে। Cisco সুইচসমূহে বাই ডিফল্ট STP ফিচারটি এনাবল করা থাকে।

Root Bridge Election: STP প্রসেসে একটি LAN বা Broadcast ডোমেইনের মধ্য থাকা সুইচসমূহের মধ্য থেকে একটি সুইচ Root Bridge হিসেবে নির্বাচিত হয়। LAN বা Broadcast ডোমেইনের সকল সুইচসমূহ এই Root Bridge নির্বাচন প্রক্রিয়ায় অংশগ্রহণ করে। এরা একে অপরের সাথে Bridge Protocol Data Unit (BPDU) ম্যাসেজ আদান-প্রদান করে। BPDU ম্যাসেজের মধ্যে সুইচসমূহের Bridge ID থাকে এবং Lowest Bridge ID এর উপর ভিত্তি করে Root Bridge নির্বাচন করা হয়।

Bridge ID: একটি নেটওয়ার্কে Root Bridge নির্বাচনের সময় Bridge ID ব্যবহৃত হয়। এই Bridge ID এর তিনটি ফিল্ড রয়েছে। যথা:
  1. Bridge Priority
  2. Extended System ID
  3. MAC Address
Bridge Priority: Lowest Bridge ID নির্ধারণের সময় সর্বপ্রথম Bridge Priority বিবেচনায় নেওয়া হয়। যে সুইচের Bridge Priority ভ্যালু সবচেয়ে কম সে সুইচের Bridge ID ও সবচেয়ে কম। আর যে সুইচের Bridge ID সবচেয়ে কম সে সুইচটিই হবে Root Bridge । Cisco সুইচসমূহের ডিফল্ট Bridge Priority ভ্যালু হলো 32768 । আমরা যদি কোন একটি নির্দিষ্ট সুইচকে Root Bridge (ফোর্সলি) হিসেবে নির্বাচন করতে চাই তাহলে এই Bridge Priority ভ্যালুটি কমাতে হবে। এই ভ্যালুটি প্রয়োজন অনুসারে 1 থেকে 65536 এর মধ্যে কনফিগার করা যায়। ভ্যালুটি যত কম হবে Priority তত বেশি হবে।

Extended System ID: STP এর প্রয়োগের শুরুর দিকে এটি কেবল Non-VLAN নেটওয়ার্কে ব্যবহৃত হতো। কিন্তু যখন VLAN বেজড নেটওয়ার্কের প্রচলন শুরু হয় তখন STP এর মধ্যে আলাদা আলাদা ভাবে VLAN চিহ্নিত করার জন্য একটি অতিরিক্ত Extended System ID ব্যবহৃত হয়। Extended System ID এর মধ্যে সংশ্লিষ্ট VLAN এর VLAN ID থাকে।

যখন কোন Extended System ID ব্যবহৃত হয় না তখন Bridge Priority ভ্যালুটি হয় 16 বিটের। কিন্তু Extended System ID ব্যবহৃত হলে ভ্যালুটি হয় 4 বিটের বাকী 12 বিট হয় Extended System ID । এসময় Bridge Priority ভ্যালুটির ইনক্রিমেন্ট 1 করে হয় না, এর ইনক্রিমেন্ট হয় 4096 করে। অর্থাৎ 4096, 8192, 12288, 16384, …………, 65536 । একটি BPDU ম্যাসেজের Priority ও VLAN চিহ্নিত করার জন্য এই Extended System ID যোগ করা হয়। Per VLAN Spanning Tree (PVST) এর ক্ষেত্রে ইহা কাজে লাগে।

MAC Address: যখন সবগুলো সুইচে একই Bridge Priority ভ্যালু ও Extended System ID কনফিগার করা থাকে তখন Lowest Bridge ID নির্ধারণের জন্য টাই-ব্রেকার হিসেবে সুইচসমূহের MAC Address ব্যবহৃত হয়। এক্ষেত্রে যে সুইচের MAC Address এর হেক্সাডেসিমাল ভ্যালু সবচেয়ে কম সে সুইচটিই হবে Root Bridge ।

একটি নেটওয়ার্কের সবগুলো সুইচ যদি ডিফল্ট কনফিগারেশনে থাকে তাহলে কোন সুইচটি Root Bridge হিসেবে নির্বাচিত হবে তা আগে থেকে আনুমান করা যায় না। তাই এক্ষেত্রে নির্দিষ্ট কোন সুইচের Bridge Priority ভ্যালু কমিয়ে সুইচটিকে Root Bridge হিসেবে নির্বাচন করানো যায়। এক্ষেত্রে পরবর্তীতে নেটওয়ার্কে কোন Lower MAC Address বিশিষ্ট সুইচ যুক্ত করলে নতুন করে Root Bridge নির্বাচন করার ঝামেলা হয় না এবং নেটওয়ার্কের স্বাভাবিক কাজও বিঘ্নিত হওয়ার আশংকা থাকে না।


BPDU Process: BPDU ম্যাসেজ আদান-প্রদানের মাধ্যমে Root Bridge নির্বাচনের ক্ষেত্রে সমগ্র BPDU প্রসেসটি নিম্নে বর্ণনা করা হল।

STEP 1: প্রতিটি সুইচ যখন বুট হয় তখন প্রথমে এরা নিজেরা নিজেদের Root Bridge হিসেবে বিবেচনা করে। সুইচসমূহ প্রতি দুই সেকেন্ড পর পর নিজেদের মধ্যে Bridge Protocol Data Unit (BPDU) ম্যাসেজ আদান-প্রদান করে। BPDU ম্যাসেজের মধ্যে সুইচসমূহের Bridge ID ও Root ID থাকে। Bridge ID হলো একটি সুইচের নিজের Bridge Priority ভ্যালু এবং Root ID হলো এমন একটি Priority ভ্যালু যে ভ্যালুযুক্ত সুইচকে উক্ত সুইচ Root Bridge হিসেবে বিবেচনা করে। যেহেতু প্রতিটি সুইচ যখন বুট হয় তখন প্রথমে এরা নিজেরা নিজেদের Root Bridge হিসেবে বিবেচনা করে, তাই চিত্রে প্রদত্ত সুইচগুলোর Bridge ID ও Root ID হবে নিম্নরূপঃ

Switch     Bridge ID                Root ID
------        ---------                    -------
SW0        4097                       4097
SW1       8192                       8192
SW2       32769                    32769

চিত্রে SW0 এর Bridge Priority ভ্যালু সবচেয়ে কম তাই এটি একটি Root Bridge । (Priority ভ্যালু যত কম হবে, Priority তত বেশি হবে)

STEP 2: যখন সুইচ SW0 সুইচ SW 1 এর নিকট থেকে BPDU ম্যাসেজ পায় তখন এটি SW1 এর Root ID 8192 এর সাথে নিজের Root ID 4097 মিলিয়ে দেখে। যেহেতু SW 0 এর Root ID টি অপেক্ষাকৃত কম তাই সুইচ S0 তার Root ID টি আপডেট করে নেয় এবং নিজেকে Root Bridge হিসেবে বিবেচনা করে।

STEP 3: যখন সুইচ SW1 সুইচ SW0 এর নিকট থেকে BPDU ম্যাসেজ পায় তখন এটি SW0 এর Root ID 4097 এর সাথে নিজের Root ID 8192 মিলিয়ে দেখে। যেহেতু SW1 এর Root ID টি অপেক্ষাকৃত বেশি তাই সুইচ SW1 সুইচ SW0 থেকে প্রাপ্ত BPDU ম্যাসেজটি Accept করে এবং নিজের পারিবর্তে ‍SW0 কে Root Bridge হিসেবে বিবেচনা করে।

STEP 4: যখন সুইচ SW2 সুইচ SW0 এর নিকট থেকে BPDU ম্যাসেজ পায় তখন এটি SW0 এর Root ID 4097এর সাথে নিজের Root ID 8192 মিলিয়ে দেখে। যেহেতু SW0 এর Root ID টি অপেক্ষাকৃত কম তাই সুইচ SW2 তার Root ID টি আপডেট করে নেয় এবং নিজের পরিবর্তে সুইচ SW0 কে Root Bridge হিসেবে বিবেচনা করে।

STEP 5: সুইচ SW2 ও সুইচ SW1 নিজেদের মধ্যে BPDU ম্যাসেজ আদান-প্রদান করে। যেহেতু উভয়েরই Root ID এখন 4097 তাই উভয় সুইচই একে অপরের কাছ থেকে প্রাপ্ত BPDU ম্যাসেজ Discard করে দেয়। (কোন সুইচ শুধুমাত্র তখনই BPDU ম্যাসেজ গ্রহণ করবে যখন প্রাপ্ত BPDU ম্যাসেজের Root ID নিজের Root ID এর ছোট হবে।)

ধাপ-৬: সবশেষে সমগ্র ক্যালকুলেশনটি হবে নিম্নরূপঃ
Switch     Bridge ID                Root ID
------        ---------                    -------
SW0        4097                       4097
SW1       8192                       4097
SW2       32769                    4097

অর্থাৎ সবগুলো সুইচই সুইচ SW0  কে Root Bridge হিসেবে বিবেচনা করে।
                      
Root Bridge: কোন সুইচকে ফোর্সলি Root Bridge হিসেবে কাজ করানোর জন্য এর ডিফল্ট Bridge Priority ভ্যালু দুইভাবে কমানো যায়।

Method-1: ধরি আমরা সুইচ S1 কে Root Bridge হিসেবে নির্বাচন করতে চাচ্ছি, এজন্য আমরা সুইচ S1 এ নিচের কমান্ড দিব।

S1#configure terminal
S1(config)#spanning-tree vlan 1 root primary
S1(config)#

আমরা যদি নেটওয়ার্কের অন্য কোন সুইচকে ব্যাকআপ Root Bridge হিসেবে নির্বাচন করতে চাই তাহলে ঐ সুইচে নিচের কমান্ড দিতে হবে।

S2#configure terminal
S2(config)#spanning-tree vlan 1 root secondary
S2(config)#

Method-2: সরাসরি Bridge Priority ভ্যালু সেট করার মাধ্যমেও সুইচের Priority ভ্যালু কমানো যায়।

S1#configure terminal
S1(config)#spanning-tree vlan 1 priority 4096
S1(config)#


এই প্রাওরিটি ভালুটি প্রতিবার 4096 করে বাড়াতে বা কমাতে পারব । প্রতিবার আমরা যতই বাড়াই বা কমাই না কেন তা অবশ্যই 4096 দ্বারা নিঃশেষে বিভাজ্য হতে হবে।

কোন সুইচের Bridge Priority ভ্যালু দেখার জন্যঃ sh spanning-tree এই কমান্ডটি প্রয়োজ করতে হয়


Saturday, July 6, 2019

Ether Channel কি? Ether Channel কনফিগারেশন

Ether Channel

Ether Channel হল এমন একটি টেকনোলজি কোন সুইচ এর একাধিক পোর্টকে একটি লজিক্যাল পোর্টে রুপান্তর করে । ফিজিক্যালি সুইচ পোর্টগুলি আলাদা আলাদা হলেও লজিক্যালি তারা একটি পোর্ট এর মত কাজ করে ।

আপনারা যদি উপরের চিত্রের দিকে লক্ষ করেন তাহলে দেখতে পাবেন এখানে দুটি সুইচ Redundant Connection এর মাধ্যমে যুক্ত যেখানে দুটি ক্যাবল ব্যবহার করা হয়েছে। এখানে STP Protocol এর কারনে একটি পোর্ট Blocking State এ রয়েছে। এখানে দুটি ক্যাবল এজন্য ব্যবহার করা হয়েছে, যদি কোন কারণে কোন লিংক ডাউন হয়ে তাহলে যেন, আমাদের নেটওয়ার্কও ডাউন না হয়ে যায়। ‍STP Protocol এর কারণে আমাদের এখানে যতই Redundant Connection থাকুক না কেন শুধু মাত্র একটি পোর্ট অন থাকবে আর সকল পোর্ট Blocking State থকবে।

এই সমস্য সামাধান এর জন্য এখানে আমরা Ether Channel কনফিগার করব যার ফলে এখানে এই দুটি আলাদা আলাদা পোর্টি লজিক্যলি একটি পোর্ট হিসেবে কাজ করবে। কোন কারণে যদি একটি লিংক ডাউন হয়েও যায় তাহলে অন্য লিংক দিয়ে নেটওয়ার্ক এর ট্রাফিক যাতায়াত করবে। এখানে Ether Channel কনফিগার করলে এই দুটি আলাদা আলাদা চানেলকে একটি চানেলে রুপান্তর করে । ফলে সুইচ বুঝতে পারে এটি একটি সিঙ্গেল চানেল।

Ether Channel কনফিগার করার জন্য দুই ধরনের Protocol ব্যবহার করা হয়।
  1. PAGP (Port Aggregation Protocol)
  2. LSCP (Link Aggregation Control Protocol)

Port Aggregation Protocol (PAGP)

Port Aggregation Protocol (PAGP) এটি একটি Cisco Proprietary Protocol। সকল Cisco Device আমরা PAGP রান করতে পারব। Cisco ছাড়া অন্য কোন Device আমরা PAGP কে রান করাতে পারব না ।
PAGP কে Cisco Switch এ আমরা তিনটি ভিন্ন ভিন্ন মোডে কনফিগার করতে পারি। PAGP তে দুটি সুইচ পরস্পর এক আপরের সাথে Negotiation করার জন্য এই তিনটি মোড ব্যাবহার করা হয়। যথা:
  1. Auto
  2. Desirable
  3. On
Auto: যখন আমরা সুইচ এর কোন পোর্টকেAuto Mode এ কনফিগার করব তখন সেই পোর্টটি negotiation করার জন্য অপেক্ষা করতে থাকে । অন্য কোন পোর্ট যখন তার কাছে negotiation হওয়ার জন্য রিকোয়েষ্ট পাঠায় সাথে সাথে সে তারা এক অপরের সাথে negotiate হয়ে যায়। যদি আমরা সুইচের দুদিকে পোর্টকে Auto Mode এ কনফিগার করি তাহলে তারা কখোন negotiate করতে পারবে না ।

Desirable: যখন কোন সুইচ  এর একদিকে Desirable হিসেবে কনফিগার করা হয় তখন সে তার অপর পাশের সুইচ এর কাছে negotiate হওয়ার জন্য রিকোয়েষ্ট পাঠায়। অর্থাৎ সুইচ তাকে বলে যে আমি ইখার চানেল হিসেবে কনফিগার আছি তুমিও ইথার চানেল হিসেবে কনফিগার হও।

On: On mode হচ্ছে একটি Nonnegotiable Protocol । যখন আমরা সুইচে On Mode এ কনফিগার করব তাখন সুইচে PAGP বা LACP এর মধ্যমে Ether Channel কনফিগার হবে না তখন ম্যানুয়ালি ইথার চানেল কনফিগার করে দিতে হবে।

LSCP (Link Aggregation Control Protocol)

LSCP (Link Aggregation Control Protocol) এটি একটি Industry Standard Protocol (802.3 ad) । এই পোর্টকলটি যে কোন ভেন্ডর এর সুইচে রান করাতে পারি । এটি IEEE থেকে নির্ধারন করা হয়েছে। LACP কে Switch এ আমরা তিনটি ভিন্ন ভিন্ন মোডে কনফিগার করতে পারি। LACP তে দুটি সুইচ পরস্পর এক আপরের সাথে Negotiation করার জন্য এই তিনটি মোড ব্যাবহার করা হয়। যথা:
  1. Passive
  2. Active
  3. On
Passive: যখন আমরা সুইচ এর কোন পোর্টকে Passive Mode এ কনফিগার করব তখন সেই পোর্টটি negotiation করার জন্য অপেক্ষা করতে থাকে । অন্য কোন পোর্ট যখন তার কাছে negotiation হওয়ার জন্য রিকোয়েষ্ট পাঠায় সাথে সাথে সে তারা এক অপরের সাথে negotiate হয়ে যায়। যদি আমরা সুইচের দুদিকে পোর্টকে Passive Mode এ কনফিগার করি তাহলে তারা কখোন negotiate করতে পারবে না ।

Active: যখন কোন সুইচ  এর একদিকে Active হিসেবে কনফিগার করা হয় তখন সে তার অপর পাশের সুইচ এর কাছে negotiate হওয়ার জন্য রিকোয়েষ্ট পাঠায়। অর্থাৎ সুইচ তাকে বলে যে আমি ইখার চানেল হিসেবে কনফিগার আছি তুমিও ইথার চানেল হিসেবে কনফিগার হও।

On: On mode হচ্ছে একটি Nonnegotiable Protocol । যখন আমরা সুইচে On Mode এ কনফিগার করব তাখন সুইচে PAGP বা LACP এর মধ্যমে Ether Channel কনফিগার হবে না তখন ম্যানুয়ালি ইথার চানেল কনফিগার করে দিতে হবে।

Ether Channel Configuration Code for Switch 0:

Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int range fa 0/1-2
Switch(config-if-range)#channel-protocol pagp
Switch(config-if-range)#channel-group 1 mode desi
Switch(config-if-range)#channel-group 1 mode desirable
Switch(config-if-range)#

Ether Channel কনফিগার করার জন্য প্রথমে আমরা সুইচের কনফিগার মোডে গেলাম। এর পর যে যে ইন্টারফেসকে নিয়ে ইথার চানেল ক্রিয়েট করতে চাই সেই সেই ইন্টারফেসকে সিলেক্ট করলাম। তার জন্য এই কোডটি “int range fa 0/1-2” ব্যাবহার করা হয়েছে। তারপর Channel Protocol PAGP কে রান করালাম। এর পর একটি Channel Group ক্রিয়েট করালাম তার মোড হেচ্ছে Desirable। Switch 0 এর কনফিগার শেষ, এবার Switch1 কনফিগার করতে হবে।

Ether Channel Configuration Code for Switch 1:


Switch>
Switch>en
Switch#conf t
Switch(config)#int range fa 0/1-2
Switch(config-if-range)#channel-protocol pagp
Switch(config-if-range)#channel-group 1 mode auto
Switch(config-if-range)#

দুদিকে ইথার চানেল কনফিগার করার সাথে সাথে সুইচের যে পোর্টটি Blocking Sate এ ছিল সেটি আর Blocking State এ নাই সেটি এখন On হয়ে গেছে। দেখুন সবগুলি পোর্ট Green হয়ে গেছে।

দুটি সুইচের সকল কনফিগারেশন সমুহ একই শুধু মাত্র Channel Group এর যে মোডটি রয়েছে তা Switch0 তে হল Desirable এবং ‍Switch1 হল Auto । কারণ এর আগে বলেছিলাম যে দুদিকের Mode আলাদা আলাদা হতে হবে। তা না হলে তারা Negotiate হতে পারবে না ।

এবার আমরা দেখি যে ইথার চানেল কনফিগার হল কি না । তার জন্য আমরা sh ip interface brief এই কমান্ডটি ব্যবহার করি।



আপনারা দেখেতে পাচ্ছেন যে এখানে Port-channel 1 নামে একটি চানেল ক্রিয়েট হয়েছে। এখানে PAGP Protocol ব্যবহার করা হয়েছে, আপনারা চাইলে LACP Protocol ও ব্যবহার করতে পারেন। এই দুটি Protocol এর সমস্থ কনফিগার একই । শুধু মাত্র Port Mode এর ক্ষেত্রে যেখানে Desirable ইউজ করেছিলাম সেখানে ইউজ করব Passive এবং Auto এর জায়গায় Active । আর অন্য সকল কনফিগার একই।   

Friday, July 5, 2019

VLAN Trunking Protocol বা VTP কি? VTP কনফিগারেশন

একটি VLAN বেজড নেটওয়ার্কে  যখন আমরা VLAN কনফিগার করি তখন আমরা ঐ নেটওয়ার্করে সকল সুইচে Vlan কনফিগার করি। একটি ছোট আকারের নেটওয়ার্কের ক্ষেত্রে এটি সহজ হলেও বড় আকারের নেটওয়ার্কে এটি করা বেশ ঝামেলা ও কষ্টসাধ্য কাজ। ধরি, একটি নেটওয়ার্কে 2০টি সুইচ আছে এবং নেটওয়ার্কটিতে ১৫ টি VLAN তৈরি করাব। যদি আমরা ম্যানুয়ালি VLAN তৈরী করি তাহলে এই ২০টি সুইচের প্রতিটিতেই ১৫টি করে VLAN তৈরী করতে হবে যা খুব কষ্টসাধ্য ও সময়সাপেক্ষ ব্যাপার। আবার যখন নেটওয়ার্ক থেকে একটি VLAN ডিলিট করতে চাইল তখন এই  ২০টি সুইচের প্রতিটি থেকেই সেই VLAN টি ডিলিট করতে হবে। এই ধরণের সমস্যা সমাধানের জন্য, একটি বড় আকারের VLAN বেজড নেটওয়ার্কে VLAN Trunking Protocol (VTP) ব্যবহার করা হয়।

VTP হল একটি Cisco Proprietary Protocol। VTP হলো এমন এক ধরণের প্রটোকল যার মাধ্যমে একটি VLAN বেজড নেটওয়ার্কের যেকোন একটি সুইচকে VTP Server হিসেবে কনফিগার করা হয় এবং অন্যান্য সকল সুইচসকে VTP Client হিসেবে কনফিগার করা হয়। নেটওয়ার্কে যত ধরণের VLAN তৈরী, ডিলিট বা পরিবর্তন করতে হবে সেগুলো শুধুমাত্র VTP Server সুইচ এ কনফিগার করা হয়। VTP Server সুইচ অন্যান্য সকল VTP Client সুইচসমূহের কাছে তার নিজের VLAN ডাটাবেজ পাঠায় এবং VTP Client সুইচসমূহ সেই ডাটাবেজ গ্রহণ করে সেই অনুসারে নিজেদের ডাটাবেস Synchronize করে নেয়। অর্থাৎ VTP Server সুইচে যে সকল VLAN তৈরী, ডিলিট বা পরিবর্তন করা হয় তা সকল VTP Client সুইচসমূহে স্বয়ংক্রীয়ভাবে কনফিগার হয়ে যায়। এতে করে নেটওয়ার্কের সকল সুইচসমূহে আলাদাভাবে VLAN কনফিগার করার প্রয়োজন পরে না । এতে করে যেমন সময় বেচে যায় সেই সাথে কষ্টও কম হয়।

VTP শুধুমাত্র Normal Range VLAN ID (1 থেকে 1005) সাপোর্ট করে। VTP এর সকল কনফিগারেশন সুইচের Flash Memory তে সংরক্ষিত vlan.dat ফাইলের মধ্যে জমা থাকে।

VTP Domain

VTP Domain হলো কয়েকটি সুইচের সমন্বয়ে গড়ে উঠা একটি নির্দিষ্ট লজিক্যাল এলাকা যার মধ্যে থাকা সুইচসমূহ নিজেরা নিজেদের মধ্যে VLAN সংক্রান্ত তথ্য আদান-প্রদান করে। সুইচসমূহ যদি নিজেদের মধ্যে VLAN সংক্রান্ত তথ্য আদান-প্রদান করতে চায় তাহলে তার প্রধান শর্ত হলো, ঐ সকল সুইচসমূহকে অবশ্যই একই VTP Domain এর অধীনে থাকতে হবে। যেকোন একটি শব্দ/নাম ব্যবহার করে VTP Domain এর নাম ডিফাইন করা হয়। একটি Cisco সুইচে বাই ডিফল্ট কোন VTP Domain Name ডিফাইন করা থাকে না। #vtp domain কমান্ড দ্বারা ইহা ডিফাইন করতে হয়। একই VTP Domain এর অধীনে থাকা সকল সুইচসমূহের VTP Domain Name একই হওয়া অত্যাবশ্যক। নেটওয়ার্কের যে সুইচকে VTP Server হিসেবে কনফিগার করা হবে সেই সুইচটিতে প্রথমে VTP Domain Name ডিফাইন করতে হবে। VTP Server সুইচে VTP Domain Name ডিফাইন না করা পর্যন্ত ঐ সুইচের মধ্যে কোন VLAN কনফিগার করা যায় না। এখানে একটি কথা বিশেষভাবে উল্লেখযোগ্য যে, একটি সুইচ শুধুমাত্র একটি VTP Domain এর অধীনে থাকতে পারে।

VTP Mode

একটি সুইচকে সাধারণত নিম্নোক্ত তিনটি Mode এর যেকোন একটি Mode এ কনফিগার করতে পারি। অর্থাৎ কোন সুইচ নিন্মক্ত তিনটি মোডের যে কোন একটি মোডে থাকতে পারে। এই তিনটি মোড হল
  1. Server Mode
  2. Client Mode
  3. Transparent Mode

Server Mode

নেটওয়ার্কের যে সুইচটিকে VTP Server হিসেবে কাজ করে  সে সুইচটি Server Mode এ কনফিগার করা হয়। কোন সুইচ যদি Server Mode এ থাকে তাহলে কেবলমাত্র তাতেই VLAN কনফিগার করা যায়। Cisco সুইচসমূহ বাই ডিফল্ট Server Mode এ থাকে। একটি নির্দিষ্ট VTP Domain এর অধীনে থাকা VTP Server ঐ ডোমেইনের অন্যান্য VTP Client এর কাছে VTP Advertisement পাঠায়।

Client Mode

নেটওয়ার্কের যে সকল সুইচসমূহ Client Mode এ থাকে সেই সকল সুইচসমূহে ম্যানুয়ালভাবে কোন VLAN তৈরী, ডিলিট বা পরিবর্তন করা যায় না। এই সুইচসমূহ কেবলমাত্র VTP Server এর কাছ থেকে যে Advertisement পায় তাই গ্রহণ করে, VTP Server এর VLAN কনফিগারেশনসমুহ নিজের ডাটাবেজে Synchronize করে নেয়।

Transparent Mode

Server Mode ও Client Mode ছাড়াও আরেকটি VTP Mode রয়েছে সেটি হলো Transparent Mode । এই Mode এ থাকা সুইচসমূহ কখনো VTP Advertisement পাঠায় না এবং এরা VTP Server এর কাছ থেকে প্রাপ্ত Advertisement নিজেরা গ্রহণ করে না। এরা প্রাপ্ত Advertisement অন্যান্য সুইচসমূহের কাছে ফরোয়ার্ড করে দেয় মাত্র। Transparent Mode এ থাকা সুইচসমূহে ম্যানুয়ালভাবে VLAN কনফিগার করতে হয়।

VTP Version

VTP এর তিনটি ভার্সন রয়েছে। এগুলি হল VTP version 1, version 2 এবং version 3।

VTP Configuration

যখন আমরা VTP কনফিগার করব তখন একটি বিষয় খেয়াল রাখব। আমরা একটি সুইচ এর সাথে যে লিংক এর মাধ্যমে আর একটি সুইচ যুক্ত করব সেই লিংকটি অবশ্যই Trunk Link হবে। আমরা সেই লিংকটিকে Trunk Link হিসেবে কনফিগার করব।এখানে দুটি সুইচ নিয়েছি Switch0 কে আমরা Server হিসেবে কনফিগার করব এবং Switch1 কে Client হিসেবে কনফিগার করাব ।

আমরা প্রথমে যে সুইচকে VTP Server হিসেবে কনফিগার করব সেই সুইচে এর কনফিগার মোডে যাই। যদি সেই সুইচটিকে Server মোডে পরিবর্তন করি । যদিও প্রতিটি সুইচ বাই ডিফল্ট Server মোডেই থাকে। এর পর একটি Domain Name দিব, যে Domain এর আন্ডারে প্রতিটি Client Switch থাকবে।  এর পর Password দিব। নিচে কনফিগাররেশন কোড দেওয়া হল।

Switch0 configuration code:

Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vtp mode server
Device mode already VTP SERVER.
Switch(config)#vtp domain Dhaka
Changing VTP domain name from NULL to Dhaka
Switch(config)#vtp password dhaka
Setting device VLAN  database password to Dhaka
এবার Switch1 কে কনফিগার করব । Switch1কে Client Mode এ কনফিগার করাব  এবং vtp password হিসেবে সেই password টি ব্যবহার করাব যেটি Server Switch, Switch0 তে দিয়েছিলাম।

Switch1 configuration code:

Switch>
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vtp mode client
Setting device to VTP CLIENT mode.
Switch(config)#vtp password dhaka
Setting device VLAN database password to dhaka
Switch(config)#

Switch 0 ও ‍Switch 1 এ VTP কনফিগার করা শেষ হল । এবার আমরা ‍Server Switch এ কিছু Vlan ক্রিয়েট করি ।

Switch>
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#name IT
Switch(config-vlan)#exit
Switch(config)#vlan 12
Switch(config-vlan)#name Sell
Switch(config-vlan)#exit
Switch(config)#vlan 13
Switch(config-vlan)#name Tech
Switch(config-vlan)#exit
Switch(config)#vlan 14
Switch(config-vlan)#name Raihan
Switch(config-vlan)#exit
Switch(config)#vlan 15
Switch(config-vlan)#name roni
Switch(config-vlan)#do wr

Switch 0 আামি মোট ৫টি Vlan তৈরি করেছি । আমরা sh vlan brief এই কমান্ডটি দিয়ে দেখি যে কয়টি Vlan তৈরি হয়েছে।

আপনারা দেখতে পাচ্ছেন যে এখানে নতুন করে ৫টি Vlan তৈরি হয়েছে যেগুলি হল IT, Sell, Tech, Raihan এবং Roni। এবার যদি আমরা Client Switch, ‍Switch 1 এ গিয়ে sh vlan brief এই কমান্ডটি চালাই।

আপনারা দেখতে পাচ্ছেন Switch0 আমরা যে Vlan গুলি তৈরি করেছিলাম সেগুলি Switch1 অটোমেটিক চলে এসেছে। যদিও Switch1 আমরা কোন Vlan তৈরি করিনি। যেহেতু Switch0 ছিল Server Switch তাই সে তার সমস্থ Vlan ইনফরমেশন Client Switch, Switch1 এর কাছে Advertisement করেছে এবং ‍Client Switch সেই ভিলান ইনফরমেশন গুলিকে তার Vlan Database এ সিনক্রোনাইজ করে নিয়েছে। তবে ‍Switch 1 এ এই Vlan কে কোন রকম Edit , Delete বা নতুন করে কোন Vlan তৈরি করা যাবে না । কারণ Client Mode কোন সুইচে Vlan তৈরি, ইডিট বা ডিলিট করা যায় না। আশা করি আপনারা VTP সম্পর্কে খুব ভাল ধারণা পেয়েছেন।

আমরা যদি কোন সুইচে গিয়ে তার VTP Status চেক করি তাহলে আমরা কিছু ইনফরমেশন দেখতে পাই নিচে এগুলি নিয়ে আলোচনা করা হল


  1. VTP Version: VTP এর তিনটি ভার্সন রয়েছে Version 1, Version 2 ও Version 3।
  2. Configuration Revision: সুইচের বর্তমান Revision নম্বর।
  3. Maximum VLANs supported locally: সুইচটিতে সর্বোচ্চ কতটি VLAN সাপোর্ট করে তার সংখ্যা।
  4. Number of existing VLANs: সুইচটিতে বর্তমানে কতটি VLAN তৈরী করা আছে তার সংখ্যা।
  5. VTP Operating Mode: Switch টি Server অথবা Client অথবা Transparent কোন মোড এ অবস্থান করতেছে তা বুঝায়।
  6. VTP Domain Name: VTP Domain এর নাম। বাই ডিফল্ট সুইচসমূহে কোন Domain Name থাকে না এটি Null থাকে।
  7. VTP Pruning Mode: VTP Pruning বাই ডিফল্ট ডিসএ্যাবল থাকে।
  8. VTP Traps Generation: ইহা এনাবল থাকলে সুইচ তার VTP এর Log সমূহ রিমোট Log সার্ভারে পাঠায়।
  9. MD5 digest: ইহা VTP কনফিগারেশনের একটি 16 বাইটের Checksum ।
  10. Configuration last modified: সুইচটি সর্বশেষ কখন ও কোন সুইচের কাছ থেকে VTP আপডেট গ্রহণ করেছিল তা দেখায়।

Configuration Revision Number

Configuration Revision নম্বর হলো একটি 32 বিটের নম্বর যা একটি সুইচের VTP Frame এর Revision এর লেভেল নির্দেশ করে। একটি সুইচে VTP অপারেশনের শুরুতে Configuration Revision নম্বর থাকে 0 । VTP Server সুইচে প্রতিবার যখনই কোন VLAN সংযোজন বা ডিলিট করা হয় তখন এই Revision নম্বর এক এক করে বাড়তে থাকে। প্রতিটি সুইচ তার নিজের Revision নম্বর মেইনটেইন করে। একটি VTP Client সুইচ কেবলমাত্র VTP Server এর কাছ থেকে Advertisement গ্রহণ করবে যদি VTP Server এর Revision নম্বর তার নিজের Revision নম্বরের চেয়ে বড় হয়। কোন সুইচের VTP Domain Name পরিবর্তন করা হলে তার Revision নম্বর রিসেট হয়ে যায় অর্থাৎ 0 হয়ে যায়। একটি VTP এনাবলড নেটওয়ার্কে Server ও Client সমূহের মধ্যে VTP/VLAN সংক্রান্ত তথ্যসমূহ সিনক্রোনাইজ করার ক্ষেত্রে এই VTP Revision নম্বর গুরুত্বপূর্ণ ভূমিকা পালন করে।

VTP Advertisement

VTP Advertisement সমূহ সাধারণত তিন ধরণের হয়ে থাকে।
  1. Summary Advertisement: একটি VTP Server সুইচ তার VTP Client সুইচসমূহকে প্রতি ৫ মিনিট পর পর Summary Advertisement পাঠায়। এর মধ্যে VTP Domain এর নাম, বর্তমান Configuration Revision নম্বর ইত্যাদি থাকে। যদি VTP Server সুইচে কোন VTP কনফিগারেশন পরিবর্তন করা হয় তাহলে Summary Advertisement তৎক্ষনাৎ পাঠানো হয়।
  2. Subset Advertisement: VTP Server সুইচে কোন VLAN তৈরী বা ডিলিট, এ্যাক্টিভ বা ডিএ্যাক্টিভ, VLAN এর নাম পরিবর্তন বা VLAN এর MTU পরিবর্তন করা হলে তা Subset Advertisement এর মাধ্যমে VTP Client সমূহের কাছে পাঠানো হয়। যদি আপডেটের আকার বেশি বড় হয় তাহলে একাধিক Subset Advertisement পাঠানো হয়।
  3. Request Advertisement: যখন কোন VTP Client সুইচে VTP Domain এর নাম পরিবর্তন করা হয় বা VTP Server সুইচের কাছ থেকে কোন Subset Advertisement না পাওয়া যায় বা VTP Client সুইচটি রিবুট হয় তাহলে VTP Client সুইচ VTP Server সুইচের কাছে একটি Request Advertisement পাঠায়। Request Advertisement এর প্রতিউত্তরে VTP Server সুইচ Subset Advertisement পাঠায়।

VTP Pruning


VTP এনাবলড নেটওয়ার্কে VTP Pruning হলো এমন এক ধরণের মেকানিজম যা নেটওয়ার্কে Broadcast, Multicast ও Unicast ট্রাফিকসমূহের অপ্রয়োজনীয় Flooding প্রতিরোধ করে। Cisco সুইচসমূহে VTP Pruning ফিচারটি বাই ডিফল্ট ডিসএ্যাবল থাকে, ইহা এনাবল করার জন্য শুধুমাত্র VTP Server সুইচে #vtp pruning কমান্ডটি (Global Configuration মুডে) প্রয়োগ করতে হয়। এতে অন্যান্য VTP Client সুইচসমূহে VTP Pruning স্বযংক্রিয়ভাবে এনাবল হয়ে যায়।

Intervlan Routing Protocol কি? Intervlan Configuration

Inter Vlan Routing

সাধারণ VLAN বেজড নেটওয়ার্কে শুধুমাত্র একই VLAN এর কম্পিউটারসমূহ পরস্পর নিজেদের মধ্যে কমিউনিকেট করতে পারে। কিন্তু একটি প্রোডাকশন নেটওয়ার্কে বিভিন্ন কারণে এক VLAN এর কম্পিউটার থেকে অন্য VLAN এর কম্পিউটারসমূহের সাথে কমিউনিকেশন করার দরকার হতে পারে। আর এই বিভিন্ন VLAN এর কম্পিউটারসমূহের মধ্যে সঠিকভাবে কমিউনিকেশন করতে যে মেকানিজম ব্যবহৃত হয় সেটি হলো Inter VLAN Routing । Inter VLAN Routing হলো এমন এক ধরণের পদ্ধতি যার মাধ্যমে একটি VLAN এর ট্রাফিক অন্য আরেকটি VLAN এ ফরোয়ার্ড করা হয়। Inter VLAN Routing এর ক্ষেত্রে একটি অতিরিক্ত Layer 3 ডিভাইস যেমনঃ Cisco রাউটার, MikroTik রাউটার, Linux বেজড সার্ভার প্রভৃতি ব্যবহার করা হয়।

এখানে দুটি আলাদা আলাদা VLAN রয়েছে একটি হল Sell ও অপরটি হল Marketing. এখন আমাদের এই দুটি আলাদা আলাদা VLAN এর কম্পিউটার এর মধ্যে ডাটা আদান প্রদান এর প্রয়োজন। কিন্তু তারা আলাদা আলাদা Vlan  এর মধ্যে থাকার কারণে তারা পরস্পর নিজেদের মধ্যে কমিউনিকেট করতে পারবে না । এই আলাদা আলাদা Vlan এর মধ্যে ডাটা প্যাকেট ট্রান্সফার করার জন্য এখানে ব্যাবহার করব Inter-Vlan Routing Protocol. আর তার জন্য এখানে আমরা একটি আলাদা রাউটার ব্যবহার করেছি।

Router on a Stick

সাধারণ Inter-VLAN Routing এর ক্ষেত্রে প্রতিটি VLAN এর জন্য সুইচ ও রাউটারের মধ্যে আলাদা আলাদা ইন্টারফেস এর মাধ্যমে সংযোগ স্থাপন করতে হয়। কিন্তু নেটওয়ার্কে VLAN সংখ্যা যদি বেশি হয় তাহলে একটি সমস্যা দেখা দেয়। কারণ Cisco বা অন্যান্য রাউটারসমূহে সীমিত সংখ্যক ইন্টারফেস থাকে। কিন্তু নেটওয়ার্কে যদি 20টি বা 30টি VLAN থাকে তাহলে তো আর কথাই নেই। এই সমস্যা থেকে সমাধানের উপায় হিসেবে Inter-VLAN Routing এর ক্ষেত্রে Router on a stick মেকানিজম ব্যবহার করা হয়।

Router on a stick হলো এমন এক ধরণের মেকানিজম যার মাধ্যমে রাউটারের একটি মাত্র ফিজিক্যাল ইন্টারফেস ব্যবহার করেই একাধিক VLAN এর প্যাকেট ট্রান্সফার করা সম্ভব হয়, যেমন Trunk এর মাধ্যমে একটি ফিজিক্যাল ইন্টারফেসের মধ্য দিয়ে একাধিক VLAN পাস করা হয়। এখনে রাউটাটিকে আমরা যে কোন সুইচ এর সাথে সংযোগ করতে পারি। এই ক্ষেত্রে রাউটারের সংশ্লিষ্ট ইন্টারফেসের সাথে যুক্ত সুইচপোর্টটিকে Trunk পোর্ট হিসেবে কনফিগার করতে হয়। রাউটারের ফিজিক্যাল ইন্টারফেসকে লজিক্যালী একাধিক সাব-ইন্টারফেসে পরিণত করা হয় এবং প্রতিটি সাব-ইন্টারফেসকে একেকটি আলাদা VLAN এ এ্যাসাইন করা হয়। পরবর্তীতে রাউটার তার নিজস্ব রাউটিং মেকানিজমের মাধ্যমে একাধিক VLAN বা সাবনেটওয়ার্কের মধ্যে রাউটিং এর কাজটি করে থাকে।

Configuring Inter VLAN Routing (Router on a stick)

এখন আমরা দেখবো কিভাবে একটি VLAN বেজড নেটওয়ার্কে একটি রাউটার ব্যবহার করে, Inter-VLAN Routing কনফিগার করতে হয়। চিত্রের টপোলজিটি ভালভাবে লক্ষ্য করুন। এখানে রাউটার Router0 ব্যবহার করে দুটি VLAN, Vlan 2 ও Vlan 3 এর মধ্যে ট্রাফিক আদান-প্রদান করার জন্য Inter-VLAN Routing কনফিগার করব।

Inter-VLAN Routing কনফিগার করার জন্য Router0 এর ইথারনেট পোর্টটিকে নিম্নরূপভাবে কনফিগার করবো। রাউটারের Fast Ethernet Fa 0/0/0 ইন্টারফেসটিকে দুট সাব-ইন্টারফেসে বিভক্ত করে প্রতিটি সাব-ইন্টারফেসের মধ্যে সংশ্লিষ্ট VLAN/সাবনেটওয়ার্কের প্রথম আই.পি এ্যাড্রেস সেট করবো যে আই.পি সমূহ নিজ নিজ VLAN এর কম্পিউটারসমূহের জন্য Default Gateway হিসেবে কাজ করবে।

আমরা প্রথম সাবইন্টারফেসটিকে ব্যবহার করব Vlan 2 এর জন্য যার আইপি হবে 192.168.1.1 । এই আইপি অ্যাড্রেসটি Vlan 2 এর সকল কম্পিউটারের গেটওয়ে হিসেবে ব্যবহার করব। ‍দ্বিতীয় সাবইন্টারফেসটিকে আমরা ব্যবহার করব Vlan 3 এর জন্য যার আইপি অ্যাড্রেস হবে 192.168.2.1 এবং  এই আইপি অ্যাড্রেসটি Vlan 3 এর সকল কম্পিউটারের গেটওয়ে অ্যাড্রেস হিসেবে ব্যবহার করব। ত চলুন কিভাবে এই কনফিগার করতে হয় তা দেখি।

এখানে সুইচ এর Fa 0/23 ইন্টারফেস এর সাথে Router এর Fa 0/0 ইন্টারফেস এর সংযোগ স্থাপন করা হয়েছে। আমরা প্রথমে Switch এর Fa 0/23 ইন্টারফেসটিকে Trunk Port হিসেবে কনফিগার করে নিই। এর পর Router এর Fa 0/0 ইন্টারফেসটিকে no shut কমান্ড দিয়ে ইন্টারফেসটিকে আপ করে নিই।

Inter-VLAN Routing Configuration code:

Router>en
Router#conf t
Router(config)#int fa 0/0.1
Router(config-subif)#encapsulation dot1q 2
Router(config-subif)#ip add 192.168.1.1 255.255.255.0
Router(config-subif)#exit
Router(config)#int fa 0/0.2
Router(config-subif)#encapsulation dot1q 3
Router(config-subif)#ip add 192.168.2.1 255.255.255.0

এখানে আমরা  “Router(config)#int fa 0/0.1” এই কমান্ডটি দিয়ে একটি সাব ইন্টারফেস ক্রিয়েট করেছি। মূল ইন্টারফেসটি হলে fa 0/0 তার সাথে ডট ১ (.1) ব্যবহার করে একটি নতুন সাবইন্টারফেস ক্রিয়েট করা হয়েছে। এর পর ব্যবহার করা হয়েছে ”Router(config-subif)#encapsulation dot1q 2” এই কমান্ডটি । একানে যে সাবইন্টারফেসটি ক্রিয়েট করা হয়েছে তার এনক্যাপসুলেশন হল dot1q এবং এর পরের 2 হল Vlan id । অর্থাৎ আমরা এই সাবইন্টারফেটিকে কোন Vlan এর জন্য ব্যাবহার করতেছি সেই Vlan নাম্বার । এর পর এখানে Vlan ২ এর জন্য যে নেটওয়ার্কটি ব্যবহার করা হয়েছে তার প্রথম আইপি অ্যাড্রেস ও তার সাবনেটমাক্সটি দিয়ে অ্যাসাইন করে দেওয়া হয়েছে।

এভাবে আমরা প্রতিটি Vlan এর জন্য একটি আলাদা আলাদা সাবইন্টারফেস ক্রিয়েট করব এবং সেখানে সেই Vlan এর আইপি অ্যাড্রেস ব্যবহার করাব । এখানে যে আইপি অ্যাড্রেসটি ব্যবহার করব সেটিই ঐ Vlan এর সকল কম্পিউটাররের গেটওয়ে হিসেবে ব্যবহার করতে হবে ।

এবার যদি আমরা Pc2 থেকে Pc7 কে ping করি তাহলে দেখব যে ping হচ্ছে


Wednesday, July 3, 2019

VLAN কনফিগারেশন Step By Step

Configuring VLAN

এখন আমরা দেখব কিভাবে VLAN কনফিগার করতে হয় । আমরা নিচের চিত্রের মত একটি টপোলজি নিলাম।

এখানে আমরা চারটি PC একটি সুইচ এর মাধ্যমে কানেক্ট করেছি এবং প্রত্যেকটি PC আমি আইপি অ্যাড্রেস অ্যাসাইন করে দিয়েছি । কোন PC তে কি আইপি অ্যাড্রেস দিয়েছি তা প্রতিটি PC এর নিচে উল্লেখ করে দিয়েছি। এখন আমরা যে কোন কম্পিউটার থেকে যে কোন কম্পিউটার এর সাথে Ping হবে। কারণ এখন এই প্রতিটি কম্পিউটার একই VLAN এর অবস্থান করছে । আমরা ত এখোন কোন VLAN কনফিগার করি নাই। Default ভাবে সুইচের প্রতিটি পোর্ট Default VLAN এ অবস্থান করে । আমরা sh vlan brief  এই কোডটি ব্যবহার করে দেখতে পারি সুইচি কয়টি VLAN রয়েছে এবং সুইচের কোন পোর্টগুলি কোন VLAN এর অবস্তান করছে।


আপনারা দেখতে পাচ্ছেন সুইচের সবগুলি পোর্টই default VLAN এর অবস্থান করছে। এবার আমরা এখানে দুটি আলাদা আলাদা VLAN ক্রিয়েট করি।

Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 2
Switch(config-vlan)#name Sell
Switch(config-vlan)#vlan 3
Switch(config-vlan)#name Marketing
Switch(config-vlan)#

এখানে আমরা “Switch(config)#vlan 2” এই কমান্ডটির মাধ্যামে  vlan 2 আইডির একটি ভিলান তৈরি করলাম এবং যার নাম আমরা দিয়েছি “Switch(config-vlan)#name Sell” ‍Sell।
এবার যদি আমরা sh vlan brief দিয়ে দেখিযে কি কি VLAN তৈরি হয়েছে।


এবার দেখুন এখানে Sell ও Marketing নামে দুটি আলাদা VLAN তৈরি হয়েছে। VLAN কিভাবে তৈরি করতে হয় তা ত জানলাম, এবার দেখি কিভাবে সুইচের পোর্টগুলিকে আলাদা আলাদা VLAN এর মধ্যে নিতে হয়।

Switch#
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa 0/3
Switch(config-if)#switchport access vlan 2
Switch(config-if)#int fa 0/2
Switch(config-if)#switchport access vlan 2
Switch(config-if)#

এখানে আমরা Switch Port  Fa 0/3 ও Fa 0/2 কে vlan 2 এর মধ্যে রাখলাম যার নাম হল ‍Sell। এবার আমরা Switch Port Fa 0/4 ও  Fa 0/5 Vlan 3 এর মধ্যে রাখব যার নাম হল Marketing.

Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int range fa 0/4-5
Switch(config-if-range)#switchport access vlan 3
Switch(config-if-range)#

এখানে int range fa 0/4-5 এই কমান্ডটির মাধ্যমে Fa 0/4 ও Fa 0/5 দুটি পোর্ট এক সাথে সিলেক্ট করা হয়েছে। আমরা interface range কমান্ডটি ব্যবহার করে এক সাথে অনেকগুলি পোর্ট সিলেক্ট করতে পারি।

এবার যদি আমরা sh vlan brief এই কমান্ডটি ইউজ করি


এবার আপনারা দেখতে পাচ্ছেন Sell ও Marketing নামের যে আলাদা আলাদা দুটি VLAN তৈরি করেছিলাম সেই দুটি VLAN এ দুটি করে ইন্টারফেসও চলে এসেছে। এবার এই ইন্টারফেসে যে কম্পিউটারগুলি থাকবে তারা শুধু নিজেরা নিজেদের মধ্যে কমিউনিকেশন করতে পারবে অন্য কোন vlan এর কম্পিউটার এর সাথে কমিউনিকেশন করতে পারবে না ।

এখানে আমরা Sell ও Marketing দুটি আলাদা আলাদা VLAN এর মধ্যে অবস্থান করছে। এখন Sell এর কোন PC Marketing এর কোন PC এর সাথে যোগাযোগ করতে পারবে না । অথচ এখানে প্রতিটি কম্পিউটার একই Switch এর সাথে কানেক্টেড। এটাই হল VLAN এর সুবিধা।

Trunk Port Configuration: এবার আমরা দেখব কিভাবে Trunk Port কনফিগার করতে হয়।  আমরা নিচের চিত্রের মত দুটি সুইচ নিলাম এবং দুটি সুইচে একই কনফিগার করলাম । অর্থাৎ Switch0 Sell ও Marketing নামের দুটি VLAN এবং Switch1 ও Sell ও Marketing নামের VLAN তৈরি করলাম।  দুদিকের  একই নামের VLAN এর VLAN ID ও একই এবং তারা  একই Network এ অবস্থান করছে।
এখোন আমরা চাইতেছি Switch0 এর Sell ডিপার্টমেন্ট Switch1 এর Sell ডিপার্টমেন্ট এর সাথে কমিউনিকেশন করতে পারবে। তার জন্য Switch0 এর Vlan ইনফরমেশন Switch1 এ যাওয়া দরকার।

কিন্তু আমরা যতক্ষন না Switch0 ও Switch1 যে পোর্ট এর মাধ্যমে যুক্ত সেই পোর্টটিকে Trunk Port হিসেবে কনফিগার না করব ততক্ষন পর্যন্ত এই পোর্ট দিয়ে Vlan ইনফরমেশন যাতায়াত করতে পারবে না। কারণ Access Port দিয়ে কখোন Vlan ইনফরমেশন ট্রান্সমিট হতে পারে না । ত চলুন দেখি কিভাবে Switch0 ও Switch1 এর Fa 0/24 পোর্টটিকে Trunk Port হিসেবে কনফিগার করতে হয়।

Trunk Port Configuration Code:
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa 0/24
Switch(config-if)#switchport mode trunk

আমরা sh interfaces trunk এই কমান্ডটি ব্যবহার করে দেখতি পারি যে কোন কোন পোর্টটি Trunk Port হিসেবে কনফিগার করা হয়েছে।



আমরা যখন কোন পোর্টকে Trunk Port হিসেবে কনফিগার করবে তখন সেই পোর্টটি ছাড়া অন্য সকল পোর্ট গুলিকে Access Mode এ কনফিগার করতে হবে। কোন পোর্টকে Access Mode এ কনফিগার করার জন্য switchport mode access এই কমান্ডটি ব্যবহার করা হয়।  এভবে Trunk Port কনফিগার করা হয়।

Monday, July 1, 2019

VLAN কি? আমরা কেন VLAN ব্যবহার করি?

Virtual Local Area Network (VLAN)

আমরা জানি LAN এর পূর্ণরূপ হলো Local Area Network । LAN এর পূর্ণরূপ হলো Local Area Network । একটি নির্দিষ্ট ভৌগলিক এলাকার বা একই বিল্ডিং এর ভিতরে অবস্থিত  কিছু নেটওয়ার্কং ডিভাইসকে একত্রিত করে যে নেটওয়ার্ক গড়ে তোলা হয় তাকে বলা হয় LAN বা Local Area Network। আরো স্পষ্ট ভাবে বলতে গেলে একটি অফিসের একাধিক কম্পিউটারসমূহকে যদি আমরা এক বা একাধিক সুইচের সাহায্যে সংযুক্ত করে একটি নেটওয়ার্ক গড়ে তুলি তাহলে সেটা হবে LAN । এই সুইচের সাথে সংযুক্ত প্রতিটি কম্পিউটার একই Broadcast Domain এর অধীনে থাকে। অপরদিকে VLAN হলো এমন এক ধরণের টেকনোলজি যার সাহায্যে একটি সুইচের সাথে সংযুক্ত কম্পিউটারসমূহকে লজিক্যালী একাধিক গ্রুপে বিভক্ত করে আলাদা আলাদা LAN হিসেবে বিবেচনা করা হয়। অর্থাৎ ফিজিক্যালী একটি সুইচই থাকবে কিন্তু লজিক্যালী একাধিক সুইচ হিসেবে কাজ করে। এটিই হলো VLAN বা Virtual Local Area Network । এক্ষেত্রে লজিক্যালী বিভক্ত সাবনেটওয়ার্কগুলো একেকটি পৃথক Broadcast Domain হিসেবে কাজ করে।

VLAN এর সুবিধা সমুহ কি কি ? আমরা কি জন্য VLAN কনফিগার করব। নিচে VLAN এর সুবিধা সমুহ নিয়ে আলোচনা করা হল।

(1) Broadcast Storm Mitigation: VLAN এর সাহায্যে একটি সুইচের সাথে সংযুক্ত ডিভাইস সমূহকে একাধিক লজিক্যাল গ্রুপ বা সাবনেটওয়ার্ক এ বিভক্ত করলে Broadcast Domain টিও বিভক্ত হয়ে যায়। এর ফলে Broadcast Domain এর আকার ছোট হয় যায় এবং একটি ডোমেইনের Broadcast প্যাকেট  আরেকটি ডোমেইনে যেতে পারবে না। এতে করে নেটওয়ার্কের ইফিসিয়েন্সি বৃদ্ধি পায়।

(2) Cost Reduction: Non-VLAN নেটওয়ার্কে একাধিক LAN বা সাবনেটওয়ার্কের জন্য আলাদা সুইচের প্রয়োজন হয়। কিন্তু VLAN বেজড নেটওয়ার্কে একটি সুইচ ব্যবহার করে একাধিক VLAN বা সাবনেটওয়ার্ক গড়ে তোলা সম্ভব হয়। এতে করে নেটওয়ার্কের Cost উল্লেখযোগ্য হারে হ্রাস পায়।

(3) Network Management and Expansion: যদি একটি অফিসের একাধিক শাখা/বিল্ডিং থাকে তাহলে প্রতিটি বিল্ডিংয়েই কিছু কমন ডিপার্টমেন্ট যেমনঃ IT, Admin, Accounts থাকতে পারে। এই ধরণের কর্পোরেট নেটওয়ার্কে VLAN ব্যবহারের মাধ্যমে আলাদা আলাদা বিল্ডিংয়ের একই ধরণের ডিপার্টমেন্টগুলোকে লজিক্যালী একই LAN বা সাবনেটওয়ার্কে রাখা যায়। VLAN ব্যবহারের মাধ্যমে নেটওয়ার্কের ব্যবস্থাপনা সহজ হয় এবং প্রয়োজনে নেটওয়ার্কের আকার/পরিধি সহজেই বৃদ্ধি করা যায়।

(4) Security: VLAN এর ব্যবহার নেটওয়ার্কের নিরাপত্তা বৃদ্ধিতেও সহায়ক ভূমিকা পালন করে। VLAN বেজড নেটওয়ার্কে বিভিন্ন ডিপার্টমেন্টের কম্পিউটারসমূহ যেহেতু লজিক্যালী আলাদা সাবনেটওয়ার্কে থাকে তাই সেগুলো একটি ফিজিক্যাল সুইচের মাধ্যমে সংযুক্ত থাকা সত্ত্বেও এক ডিপার্টমেন্টের কম্পিউটার থেকে সাধারণত অন্য ডিপার্টমেন্টের কম্পিউটারে এ্যাকসেস করা যায় না। এতে ডাটার নিরাপত্তা বৃদ্ধি পায়।

VLAN ID

একটি সুইচে যখন আমরা একাধিক VLAN কনফিগার করি তখন একটি বিশেষ সংখ্যা বা নাম্বার ব্যবহার করি প্রতিটি VLAN কে আলাদা আলাদা ভাবে চিহ্নিত করার জন্য। এই বিশেষ সংখ্যাটিকে বলা হয় VLAN ID । VLAN ID এর জন্য আমরা যে নাম্বার সমুহ ব্যাবহার করি তকে দুটি রেঞ্জে বিভক্ত করা হয়। (1) Normal Range VLAN, (2) Extended Range VLAN।

Normal Range VLAN

Normal Range VLAN এর ক্ষেত্রে VLAN ID হিসেবে 1 থেকে 1005 পর্যন্ত সংখ্যাগুলো ব্যবহার করা হয় থকে। এর মধ্যে 1 হলো Default VLAN যা সুইচের মধ্যে বাই ডিফল্ট কনফিগার করা থাকে এবং এটি আমরা চাইলেই ডিলিট/পরিবর্তন করতে পারি না। আর 1002 থেতে 1005 এই VLAN ID গুলো Token Ring ও FDDI VLAN হিসেবে ব্যবহৃত হয়। Normal Range VLAN এর ক্ষেত্রে VLAN কনফিগারেশন সমূহ vlan.dat নামের একটি VLAN Database এ থাকে এবং এই Database টি Flash Memory তে জমা থাকে। সাধারণত ছোট বা মাঝারি আকারের নেটওয়ার্ক এর জন্য Normal Range VLAN ব্যবহার করা হয়ে থাকে।

Extended Range VLAN

Extended Range VLAN এর ক্ষেত্রে VLAN ID হিসেবে 1006 থেকে 4094 পর্যন্ত সংখ্যাগুলো ব্যবহার করা হয়। সাধারণত একটি বড় আকারের নেটওয়ার্কের জন্য Extended Range VLAN ব্যবহার করা হয়ে থাকে। Extended Range VLAN এর ক্ষেত্রে VLAN কনফিগারেশন সমূহ সুইচের Running Configuration ফাইলে জমা থাকে।

VLAN এর প্রকারভেদ, VLAN কে সাধারণত পাঁচ ভাগে ভাগ করা হয়। যথা:
  1. Default VLAN
  2. Data VLAN
  3. Management VLAN
  4. Native VLAN
  5. Voice VLAN

Default VLAN

প্রতিটি Cisco সুইচে VLAN ID 1 ব্যবহার করে বাই ডিফল্ট একটি VLAN আগে থেকে তৈরী করা থাকে, একেই Default VLAN বল হয়ে থাকে। এই Default VLAN টি ডিলিট/পরিবর্তন করা যায় না।

Data VLAN

যে সকল VLAN ইউজারদের ডাটা আদান-প্রদান করার জন্য ব্যবহার করা হয় তাদেরকে Data VLAN বলে। Normal Range VLAN এর ক্ষেত্রে 2 থেকে 1001 পর্যন্ত VLAN গুলো Data VLAN হিসেবে ব্যবহার করা হয় থাকে।

Management VLAN

Management VLAN হলো ঐ সকল VLAN যার মাধ্যমে নেটওয়ার্কের ম্যানেজমেন্ট ট্রাফিকসমূহ যেমনঃ CDP, Telnet, SSH, SNMP ইত্যাদি আদান-প্রদান করা হয়ে থাকে। সাধারণ ইউজারদের ট্রাফিকসমূহ থেকে ম্যানেজমেন্ট ট্রাফিকসমূহ পৃথক ও নিরাপদ রাখার জন্যই এই Management VLAN ব্যবহার করা হয়।

Native VLAN

একটি বড় আকারের VLAN বেজড নেটওয়ার্কে দুইটি সুইচের মধ্যবর্তী লিংকের মধ্য দিয়ে একাধিক VLAN এর ট্রাফিক যাতায়াত করে যেগুলোকে Tagged ট্রাফিক হিসেবে চিহ্নিত করা হয়। এছাড়াও উক্ত লিংকের মধ্য দিয়ে কিছু VLAN বিহীন ট্রাফিকও যাতায়াত করে। এজন্য দুইটি সুইচের পরষ্পর সংযুক্ত দুইটি পোর্ট Trunk পোর্ট হিসেবে কনফিগার করা হয়। এদের এ্যানক্যাপসুলেশন সাধারণত 802.1Q হয়ে থাকে। 802.1Q Trunk পোর্টসমূহ Untagged ট্রাফিকসমূহকে একটি Native VLAN এর মাধ্যমে আদান-প্রদান করে। প্রোডাকশন নেটওয়ার্কে VLAN 1 ব্যতীত অন্য যেকোন একটি VLAN কে Native VLAN হিসেবে ব্যবহার করা উচিত।

Voice VLAN

যেহেতু VoIP ট্রাফিকসমূহ কিছুটা সেনসিটিভ তাই এই ট্রাফিকসমূহের মান অক্ষুন্ন রাখার জন্য একটি প্রোডাকশন নেটওয়ার্কে অন্যান্য সাধারণ ট্রাফিকসমূহ থেকে VoIP ট্রাফিকসমূহকে আলাদা করার জন্য Voice VLAN ব্যবহার করা হয়।

Switchport Mode

একটি VLAN বেজড নেটওয়ার্কের সুইচপোর্টস মূহকে দুইভাবে কনফিগার করা যায়। সুইচের প্রতিটি পোর্ট এই দুটির মধ্যে যেকোন একটি মোডে থাকে। এই মোড দুটি হল।
  • Access Port
  • Trunk Port

Access Port

Access পোর্ট হলো এমন এক ধরণের পোর্ট যার মধ্য দিয়ে শুধু মাত্র যেকোন একটি VLAN এর ট্রাফিক যাতায়াত করতে পারে অন্য কোন VLAN এর ট্রফিক যাতায়াত করতে পারে না। সাধারণত End User দেরকে এই Access পোর্টের মাধ্যমেই নেটওয়ার্কে সংযুক্ত করা হয় থাকে।

Trunk Port

Trunk পোর্ট হলো এমন এক ধরণের পোর্ট যার মধ্য দিয়ে দুই বা ততোধিক VLAN এর ট্রাফিক যাতায়াত করতে পারে। VLAN বেজড নেটওয়ার্কে দুইটি সুইচের মধ্যে সংযোগ স্থাপনকারী পোর্ট দুইটি সাধারণত Trunk পোর্ট হিসেবে কনফিগার করা হয় থাকে। যাতে করে যে কোন VLAN এর ট্রাফিক এই পথ দিয়ে যাতায়াত করতে পারে ।


উপরের চিত্রে Switch 1 Switch 2 যে পোর্ট এর মাধ্যমে সংযুক্ত সেই পোর্টটি হল Trunk Port এবং PC সমুহ যে সুইচ এর Port এর মাধ্যমে সংযুক্ত সেই Port সমুহ হল Access Port।

Trunks

একটি Trunk হলো দুইটি সুইচের মধ্যবর্তী Point-to-Point লিংক যার মধ্য দিয়ে একাধিক VLAN এর ট্রাফিক যাতায়াত করতে পারে। এই VLAN Trunk এর মাধ্যমে একটি নেটওয়ার্ককে প্রয়োজন অনুসারে বিস্তৃত (Expand) করা যায়। Cisco ডিভাইসসমূহ এর FastEthernet ও GigabitEthernet পোর্টসমূহে IEEE 802.1Q এনক্যাপসুলেশন সাপোর্ট করে।

802.1Q এনক্যাপসুলেশন কেন দরকার হয়?

আমরা জানি, সুইচ একটি Layer 2 ডিভাইস। সুইচসমূহ সাধারণত Data Link লেয়ারের Frame Header এর Source MAC Address ও Destination MAC Address এর উপর ভিত্তি করে ডাটা ট্রান্সফার করে থাকে। কিন্তু এ কথাটি শুধুমাত্র Non-VLAN নেটওয়ার্কের ক্ষেত্রে প্রযোজ্য। একটি VLAN বেজড নেটওয়ার্কে যেহেতু একাধিক VLAN থাকতে পারে তাই কোন ডাটা Frame কোন VLAN এর তা নির্ণয় করতে Frame এর মধ্যে একটি অতিরিক্ত VLAN Tag এর তথ্য যুক্ত করা হয়।
ধরি, একটি সুইচ পোর্টে VLAN 10 কনফিগার করা আছে। যখন ইউজার কম্পিউটার থেকে কোন ডাটা Frame ঐ সুইচপোর্টে আসে তখন সুইচটি সেই Frame এর মধ্যে Tag Control Information যুক্ত করে।

VLAN Tag Frame Details

EtherType Field: এর মধ্যে একটি Hexadecimal ভ্যালু 0X8100 সেট করা থাকে। এই ভ্যালুটিকে Tag Protocol ID বা TPID বলে। যখন কোন ডাটা Frame এর EtherType Field এর মধ্যে TPID ভ্যালু সেট করা থাকে তখন সুইচ বুঝতে পারে যে, উক্ত Frame এর মধ্যে Tag Control Information আছে অর্থাৎ Frame টি কোন VLAN থেকে এসেছে।

Tag Control Information এর Field সমূহ হলোঃ
  1. 3 bits of user priority
  2. 1 bit of Canonical Format Identifier (CFI): Ethernet লিংকের মধ্য দিয়ে Token Ring এর Frame পাস করার জন্য ব্যবহৃত হয়।
  3. 12 bits of VLAN ID (VID): VLAN আইডেন্টিফিকেশন নম্বর।
Trunking Mode: Dynamic Trunking Protocol (DTP) হলো Cisco এর একটি নিজস্ব প্রটোকল যার সাহায্যে Trunk লিংকের মাধ্যমে পরষ্পর সংযুক্ত দুইটি Cisco সুইচ Trunk Negotiation করে থাকে। Cisco সুইচসমূহের মধ্যে এই DTP ফিচারটি বাই ডিফল্ট অন (On) করা থাকে। একটি Cisco সুইচপোর্ট নিচের Trunking Mode গুলো সাপোর্ট করে।

On: যখন কোন সুইচপোর্টে #switchport mode trunk কমান্ড প্রয়োগ করা হয় তখন উক্ত পোর্টটি Trunk পোর্ট হিসেবে কাজ করে (ফোর্সলী)। এসময় লোকাল সুইচপোর্টটি তার রিমোট সুইচপোর্টের কাছে পিরিয়ডিক্যালী DTP frame পাঠায়।

Dynamic Auto: যখন কোন সুইচপোর্টে #switchport mode dynamic auto কমান্ড প্রয়োগ করা হয় তখন লোকাল পোর্ট তার রিমোট পোর্টকে বার্তা পাঠায় যে, “আমি Trunk হতে পারবো”। যখন রিমোট সুইচপোর্টটি On বা Dynamic desirable হিসেবে কনফিগার করা হয় শুধুমাত্র তখনই উভয় সুইটপোর্ট Trunking State এ গমন করে। কিন্তু যদি উভয় সুইচপোর্টই (লোকাল ও রিমোট) dynamic auto হিসেবে থাকে তাহলে উভয় পোর্টই Non Trunking State এ থাকবে অর্থাৎ Access পোর্ট হিসেবে কাজ করবে।

Dynamic Desirable: যখন কোন সুইচপোর্টে #switchport mode dynamic desirable কমান্ড প্রয়োগ করা হয় তখন উক্ত লোকাল পোর্ট তার রিমোট পোর্টকে বার্তা পাঠায় যে, “আমি Trunk হতে পারবো, তুমিও Trunk হও”। যখন রিমোট সুইচপোর্টটি On বা Dynamic desirable বা Dynamic auto হিসেবে কনফিগার করা হয় তখন উভয় পোর্টই Trunking State এ গমন করে।


কোন সুইচপোর্টে #switchport nonegotiate কমান্ডটি প্রয়োগ করলে উক্ত সুইচপোর্ট তার রিমোট সুইচপোর্টের কাছে কোন DTP frame পাঠায় না। এতে করে দুইটি সুইচপোর্টের মধ্যে অটোমেটিক Trunk Negotiation হয় না।

Sunday, June 30, 2019

Static NAT এবং Dynamic NAT কনফিগারেশন

এই পর্বে আমরা NAT কিভাবে কনফিগার করেত হয় সেই বিষয়টিই দেখব। আমরা নিচের চিত্রের মত একটি টপোলজি নিলাম। যেখানে আমাদের একটি SERVER ২টি Router এবং কিছু Computer রয়েছে যা সুইচ এর মাধ্যমে Router1 এর সাথে যুক্ত। আর সার্ভারটি ইথারনেট ক্যাবল এর মাধ্যমে Router0 এর সাথে যুক্ত। এখানে আমাদের টোটাল তিনটি নেটওয়ার্ক চলতেছে। লোকাল নেটওয়ার্কে চলতেছে 192.168.1.0/24 এই নেটওয়ার্কটি এবং SERVER এর পাশে চলতেছে 170.1.1.0/24 এই নেটওয়াকটি এবং আমাদের ‍দুই রাউটারের মাঝে যে নেটওয়ার্কটি চলতেছে তা হল 200.10.10.0/29।  আমাদের লোকাল নেটওয়ার্কে যে নেটওয়ার্কটি চলতেছে (192.168.1.0/24) তা একটি প্রাইভেট আইপ নেটওয়ার্ক। কাজেই এই নেটওয়ার্কটি ইন্টারনেট অ্যাকসেস করতে পারবে না । এই জন্য আমরা Route1 192.168.1.0/24 এই নেটওয়ার্ক এর সাথে একটি পাবলিক নেটওয়ার্ক এর নাটিং করব। যাতে করে সে সর্ভার এর সাথে কানেক্ট হতে পারে ।
Nat Configuration Bangla tutorial

আমরা এই টপোলজির কোথায় কোন আইপি অ্যাড্রেস রান করতেছে তা কিন্তু আমরা মেনশন করে দিয়েছি। এখানে Router1 ও Router0 এর মাঝে যে নেটওয়ার্কটি চলতেছে (200.10.10.0/29) তকে আমরা /29 এ নিয়েছি । আমরা জারি যে /29 এ আমাদের মোট ৬টি হোস্ট থাকে অর্থাৎ আমরা ৬টি হোস্টকে আইপি অ্যাড্রেস দিতে পারব। তার মধ্যে আমার দুটি আইাপি ব্যবহার করে ফেলেছি । একটি ইউজ করেছি Router1 এর সিরিয়াল ইন্টারফেস Se 0/0/0 তে 200.10.10.1 এবং আর একটি ইউজ করেছি Route0 এর সিরিয়াল ইন্টারফেস Se 0/0/0 তে 200.10.10.2 । আর যে আইপি সমুহ বাাঁকি আছে আমরা সেই আইপি সমুহকে 192.168.1.0/24 এই নেটওয়ার্ক এর সাথে Nating করব। আমরা প্রথমে সমস্থ রাউটার, সার্ভার ও কম্পিউটার সমুহে আইপি অ্যাড্রেস সমুহ অ্যাসাইন করে নিই।
আপনারা চাইলে নিচের ভিডিওটি প্লে করে দেখতে পারেন কিভাবে রাউটার এর ইন্টারফেসে আইপি দিতে হয় এবং প্যাকেট ট্রেচার এ কিভাবে কম্পিউটার ও সার্ভার এ আইপ দিতে হয়।

STATIC NAT

প্রথমে আমরা Static NAT কনফিগারেশন দেখব। NAT এর ক্ষেত্রে আমাদের একটি বিষয় জানার দরকার যা আমরা এর আগে বলি নাই সেটা হল Inside Network ও Outside Network। আপনারা নিচের চিত্রের ‍দিকে লক্ষ করুন তাহলে খুব সহজেই বিষয়টি বুঝতে পারবেন। আমাদের যে লোকাল নেটওয়ার্কটি রয়েছে সেটি হল INSIDE NETWORK এবং এর বাহিরে যে নেটওয়ার্কটি রয়েছে সেটি হল Outside Network।


আমরা Router1 ও Router0 এর মাঝে যে নেটওয়ার্কটি ইউজ করেছি সেটি /29 এ রয়েছে আমরা জানিযে /29 এর হোস্ট সাইজ হল 6। এখানে আমরা প্রতিটি নেটওয়ার্কে 6 টি আইপি হোস্ট এর জন্য ব্যাবহার করতে পারব। এখানে ইউজেবল আইপি অ্যাড্রেস হল
  1. 10.10.1
  2. 10.10.2
  3. 10.10.3
  4. 10.10.4
  5. 10.10.5
  6. 10.10.6
এখানে এই ৬টি আইপি আমরা ব্যাবহার করতে পারব হোস্ট এর জন্য। তার মধ্যে আমরা প্রথম দুটি ব্যবহার করে ফেলেছি । 200.10.10.1 ইউজ করেছি Router 1 এর সিরিয়াল Se 0/0/0 তে এবং 200.10.10.2 ইউজ করেছি Router0 এর সিরিয়াল Se 0/0/0 তে।  আর বাঁকী আছে ৪টি । আমরা এই ৪টি আইপির মধ্যে 200.10.10.3 ও 200.10.10.4 কে আমরা NAT এর জন্য ইউজ করব।

আমাদের Inside Network এ মোট তিনটি PC রয়েছে । তদের আইপি অ্যাড্রেস হল PC0 এর 192.168.1.2, PC1 এর 192.168.1.3 এবং PC2 এর 192.168.1.4। এর মধ্যে আমরা PC1 ও PC2 কে NATING করব। PC1 এর প্রাইভেট আইপি 192.168.1.3 এর সাথে  পাবলিক আইপি 200.10.10.3 এবং PC2 এর প্রাইভেট আইপি 192.168.1.4 এর সাথে পাবলিক আইপি 200.10.10.4 এর NATING করব। যার ফলে PC1 ও PC2 SERVER কে অ্যাকসেস করতে পারবে কিন্তু PC0 SERVER কে অ্যাকসেস করতে পারবেনা।

আমরা নাটিং করার আগে Router 1 একটি Default Static Router ক্রিয়েট করব। আপনারা যদি Default Static Router সর্ম্পকে না জানেন তাহলে আমার আগের Static Router Configuration লেকচারটি  দেখতে পারেন ।

Static NAT Configuration Code:
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat inside source static 192.168.1.2 200.10.10.3
Router(config)#ip nat inside source static 192.168.1.4 200.10.10.4

এবার আমরা যদি PC1 ও PC2 থেকে ‍SERVER এর ওয়েব পেজটিকে ওপেন করি তাহলে দেখব যে তা ওপেন হচ্ছে । কিন্তু PC0 থেকে আমরা SERVER কে অ্যাকসেস করতে পারব না । কারণ Static NAT এর আমরা যার সাথে যার নাটিং করে রাখব শুধু মাত্র সেই ইন্টানেট অ্যাকসেস করতে পারবে।

Dynamic NAT

এবার আমরা দেখব Dynamic NAT কিভাবে কনফিগার করতে হয়। এখানে আমরা একটি NAT এর জন্য একটি Pool ক্রিয়েট করব এবং একটি অ্যাকসেস লিষ্ট ক্রিয়েট করব । এর পর এই অ্যাকসেস লিষ্ট এর সাথে Pool এর নাটিং করব। ত চলুন দেখি কিভাবে এটি করতে হয়।

Dynamic NAT Configuration Code:

Router>en
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat pool public 200.10.10.3 200.10.10.4 netmask 255.255.255.248
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 pool public
Router(config)#

এবার যদি আমরা যে কোন PC থেকে SERVER কে অ্যাকসেস কারতে চাই তাহলে করতে পারব। তবে এক সাথে একই সময়ে দুটি মাত্র PC SERVER কে অ্যাকসেস করতে পারবে। তবে সেটা যে কোন দুটি PC হতে পারে । এটা কোন নির্দিষ্ট করা নেই। আমরা Router#sh ip nat translations
এই কমান্ডটি ব্যাবহার করে দেখতে পারি যে কোন প্রাইভেট আইপির আন্ডারে কোন পাবলিক আইপি এর নাটিং হচ্ছে।

Router#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 200.10.10.3:1025 192.168.1.3:1025 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.4:1025 192.168.1.2:1025 170.1.1.2:80 170.1.1.2:80

PAT (Port Address Translation)

Static NAT and Dynamic উভয়ের ক্ষেত্রেই আমরা দেখেছি যে আমাদের যে কয়টি Public IP থকবে শুধুমাত্র সে কয়টি PC ইন্টারনেট অ্যাকসেস করতে পারতেছে। ফলে একই সময়ে অন্য কোন কম্পিউটার চাইলেও ইন্টারনেট অ্যাকসেস করতে পারতেছিল না । আমরা PAT এর মাধ্যমে খুব সহজেই এই সমস্যাকে সমাধান করতে পারি । PAT সর্ম্পকে এর আগের পর্বে বিস্তারিত আলোচনা করা হয়েছে । এবার আমরা দেখব কিভাবে PAT কনফিগার করতে হয়। Dynamic NAT ও PAT কনফিগারেশন প্রাই একই রকম ।

PAT Configuration Code:
Router>en
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat pool public 200.10.10.3 200.10.10.3 netmask 255.255.255.248
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 pool public overload
Router(config)#

এবার যদি আমরা দেখি তাহলে প্রতিটি কম্পিউটার থেকে একই সাথে SERVER কে অ্যাকসেস করতে পরবে। এখানে কিন্তু আমরা একটি মাত্র পাবলিক আইপি অ্যাড্রেস ব্যাবহার করেছি আর তা হল 200.10.10.3 এবং এই একটি পাবলিক আইপি দিয়ে একই সাথে সবগুলি কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারতেছে। আর এটা হচ্ছে Port Address এর কারনে । আমরা যদি Router#sh ip nat translations এখানে আমরা দেখতে পাচ্ছি যে Inside Global এ প্রত্যেক এর Public IP একই কিন্তু প্রত্যেকের Port Number আলাদা আলাদা ।

Router#sh ip nat translations

Pro Inside global Inside local Outside local Outside global
tcp 200.10.10.3:1024 192.168.1.4:1026 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.3:1025 192.168.1.2:1025 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.3:1026 192.168.1.3:1026 170.1.1.2:80 170.1.1.2:80

এখানে যদি আমরা নেটওয়ার্কে আরো অনেক গুলি কম্পিউটার সংযুক্ত করি তাহলেও কোন সমস্য হবে না তারা সবাই ইন্টারনেট অ্যাকসেস করতে পারবে।

Friday, June 28, 2019

NAT কি? আমরা NAT কেন ব্যবহার করি?

Nat (Network Address Translation)

Nat কি? Nat হল Network Address Translation. নেটওয়ার্ক অ্যাড্রেস বলতে আমরা কিন্তু আইপি অ্যাড্রেসকে বুঝি। NAT হল এমন একটি পদ্ধতি যার মাধ্যমে কোন আইপির্ অ্যাড্রেসকে একটি আলাদা আইপি অ্যড্রেসে রুপান্তুর করা যায়।

Nat আমরা কি জন্য ব্যবহার করব?

আমরা যে সকল কারণে নাটকে ব্যাবহার করে থাকি তা হল- নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন। উদাহরণ সরুপ-
  • Convert Private IP to Public IP
  • Convert IPv4 to IPv6
  • Convert One Private IP to another Private IP
Example Number 1: মনে করি, আমাদের একটি লোকাল নেটওয়ার্ক রয়েছে। যেখানে কিছু কম্পিউটার রয়েছে যেগুলিতে প্রাইভেট আইপি অ্যাসাইন করা আছে। লোকাল নেটওয়ার্ক প্রাইভেট আইপি দ্বারা গঠিত হয়। এখন আমরা চাইতেছি এই লোকাল নেটওয়ার্কে যুক্ত কম্পিউটার সমুহ দ্বারা ইন্টারনেট অ্যাকসেস করতে । কিন্তু আমরা জানি প্রাইভেট আইপি রাউটেবল না ফলে আমরা ইন্টারনেট অ্যাকসেস করতে পারব না । কিন্তু আমরা NAT এর মাধ্যমে এই প্রাইভেট আইপিগুলিকে পাবলিক আইপিতে রুপান্তর করতে পারি । যখন এই প্রাইভেট আইপি গুলিকে পাবলিক আইপিতে কনর্ভাট করা হবে তখন লোকাল নেটওয়ার্কে যুক্ত কম্পিউটার সমুহ ইন্টারনেট অ্যাকসেস করতে পারবে। NAT এর মাধ্যমে আমরা এই Private আইপিকে Public আইপিতে কনর্ভাট করে থাকি।

 Example Number 2: মনে করি, আমাদের একটি নেটওয়ার্ক আছে যেখানে IPv4 রান করছে এবং অপর সাইটে আর একটি নেটওয়ার্ক রয়েছে যেখানে IPv6 রান কারছে । এখন আমাদের এই দুইটি নেটওয়ার্ক এর মধ্যে কমিউনিকেশন এর প্রয়োজন। কিন্তু তারা কমিউনিকেশন করতে পারবে না । কারণ দুদিকের নেটওয়ার্ক আলাদা আলাদা। আমরা NAT এর মাধ্যমে এই সমস্যা সমাধান করতে পারি। NATING এর মাধ্যমে IPv4 কে IPv6 এ এবং IPv6 কে IPv4 কনর্ভাট করে দুদিকের নেটওয়ার্ক সহজে তাদের মধ্যে যোগাযোগ করতে পারে । IPv4 এর নেটওয়ার্ক যখন IPv6 এর সাথে যোগাযোগ করতে যাবে তখন এই আইপি অ্যাড্রেসটি IPv6 এ রুপান্তর হয়ে যাবে এবং IPv6 যখন IPv4 এর নেটওয়ার্ক এর সাথে যোগাযোগ করতে যাবে তখন এই IPv6 আইপি অ্যাড্রেসটি IPv4 এ কনর্ভাট হয়ে যাবে । ফলে দুদিকের নেটওয়ার্ক দেখতে পাবে দুদিকে একই নেটওয়ার্ক রান করতেছে।

Example Number 3: মনে করি আমাদের দুটি লোকাল নেটওয়ার্ক রয়েছে। যেখানে দুদিকে একই নেটওয়ার্ক রান করতেছে এবং তাদের আইপি অ্যাড্রেস একই। ফলে যখন এই দুদিকে নেটওয়ার্ক একে অপরের সাথে যোগাযোগ করতে যাবে তখন তারা এক অপরের সাথে যোগাযোগ করতে পারবে না, সেখানে IP Conflict দেখাবে । এই সমস্যা সমাধানের জন্য Nating করা হয় । যখন এই নেটওয়ার্ক এক অপরের সাথে যোগাযোগ করতে যাবে তখন তাদের এই নেটওয়ার্কটিকে অন্য একটি নেটওয়ার্কে কনর্ভাট করে দিবে ফলে তাদের মধ্যে আর IP Conflict দেখাবে না ।

NAT Bangla Tutorial

আমরা উপরের চিত্রের মাধ্যমে ভলভাবে বুঝার চেষ্ট করব নাট কিভাবে কাজ করে । এখানে আমাদের একটি Client Computer রয়েছে যার আইপ অ্যাড্রেস হল 10.10.10.10 যা একটি প্রাইভেট  আইপি অ্যাড্রেস । এবং একটি সার্ভার Computer রয়েছে যার আইপি অ্যাড্রেস হল 170.10.10.10 যা একটি পাবলিক আইপি অ্যাড্রেস । এখন যদি এই Client কম্পিউটার টি Server কম্পিউটার এর সাথে কমিউনিকেট করতে চায় তাহলে সে কমিউনিকেট করতে পারবে না! কারণ আমরা জানি যে Private IP রাউটেবল না অর্থাৎ Private IP দ্বারা ইন্টারনেট অ্যাকসেস করা যায় না । এই সমস্যা সমাধানের জন্য মাঝখানে একটি NAT Router ব্যাবহার করা হয়েছে। NAT Router কি করবে? সে এই Private IP টি কে Public IP তে কনর্ভাট করে দিবে ।

এটা সে কিভাবে করে থাকে এটিই এখন বুঝার চেষ্টা করি। Client Computer টি যখন প্যাকেট Server Computer এর কাছে পাঠাবে তখন তার Source Address হবে 10.10.10.10 এবং Destination Address হবে 170.10.10.10 । যখন এই প্যাকেটটি NAT Router এর কাছে যাবে তখন সে সোর্স হিসেবে যে প্রাইভেট আইপি অ্যাড্রেস 10.10.10.10 রয়েছে তা কনর্ভাট করে একটি পাবলিক আইপি 200.10.10.10 (এখানে আমরা যে আইপি অ্যাড্রেসটি Nating করে রাখব সে অ্যাড্রেসটি পাবে) দিয়ে দিবে । এখন সোর্স হবে 200.10.10.10 এবং ডেসটিনেশন আগের টা 170.10.10.10 ই থাকবে । এবার সার্ভার কমপিউটারটি যখন আবার Reply পাঠাবে তখন সেই Reply প্যাকেটটির Source হবে 170.10.10.10 এবং Destination হবে 200.10.10.10। এই প্যাকেটটি যখন NAT Router এর কাছে যাবে তখন সে আবার সেই পাবলিক আইপি 200.10.10.10 কে প্রাইভেট আইপি 10.10.10.10 এ কনর্ভাট করে দিবে। ফলে আবার তার Source হবে 170.10.10.10 এবং Destination হবে 10.10.10.10। এভাবে NAT কাজ করে থাকে ।

Types of NAT

NAT কে সাধারণত তিন ভাবে ইমপ্লিমেন্ট করা যায় । যথা:-
  1. Static NAT
  2. Dynamic NAT
  3. PAT (Port Address Translation) কেউ কেউ একে নেটওয়ার্ক ওভারলোডিং ও বলে থাকে।

Static NAT

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


আমরা যদি উপরের চিত্রের দিকে খেয়াল করি তাহলে এখানে দুটি Client PC এবং একটি SERVER Pc রয়েছে। Client দুটি হল আইপি হল 10.10.10.10 এবং আর একটি হল 10.10.10.20। আপনারা চিত্রে দেখতে পাচ্ছেন এখানে প্রাইভেট আইপি 10.10.10.10 এর সাথে পাবালিক আইপি হিসেবে 200.10.10.10 এবং 10.10.10.20 এর সাথে 200.10.10.11 কে নাটিং করা হয়েছে । এবার যখন 10.10.10.10 Server এর কাছে কোন প্যাকেট পাঠাবে তখন সে NAT Router এর কাছে থেকে 200.10.10.10 এই পাবলিক আইপিটি পাবে । সে কোন ভাবেই 200.10.10.11 এই আইপিটি পাবে না । কারণ আমরা তার জন্য 200.10.10.10 কে ডিফাইন করে রেখেছি। এখানে একটি পাবলিক আইপ দিয়ে একটি মাত্র প্রাইভেট আইপিকে ইন্টারনেট সুবিধা প্রদান করা যায়।

Dynamic NAT

Dynamic NAT হল এমন একটি সিস্টেম যেখানে একটি পাবলিক আইপি অনেকগুলি প্রাইভেট আইপিকে ইন্টারনেটও সবিধা প্রদান করে । তবে একক সময়ে একটি মাত্র কমপিউটার ইন্টারনেট সুবিধা পাবে। স্টাটিক NAT এর ক্ষেত্রে আমরা দেখেছিলাম একটি পাবলিক আইপ দিয়ে একটি মাত্র প্রাইভেট আইপিকে ইন্টারনেট সুবিধা প্রদান করা যায়। কিন্তু Dynamic NAT একটি মাত্র পাবলিক আইপি দিয়ে অনেকগুলি কম্পিউটারকে ইন্টারনেট সেবা প্রদান করা যায়। এখানে কোন প্রাইভেট আইপি এর জন্য একক ভাবে কোন পাবলিক আইপিকে মেনশন করা থাকে না । যে কোন প্রইভেট আইপি যে কোন পাবলিক আইপিকে নিয়ে ইন্টানেটে প্রবেশ করতে পারবে।

NAT Bangla Tutorial

Static NAT এর ক্ষেত্রে আমরা দেখেছিলাম প্রতিটি প্রাইভেট আইপি এর জন্য একটি করে পাবলিক আইপি আসাইন করা থাকে  এবং যতটি পাবলিক আইপি থাকে ততটিই প্রাইভেট আইপি ইন্টারনেট অ্যাকসেস করতে পারে । এর বেশি কোন কম্পিউটার থাকেলে তারা ইন্টারনেট অ্যাকসেস করতে পারে না । কিন্তু Dynamic NAT এর ক্ষেত্রে এই রকম সমস্যা সমাধান করা যায় । Dynamic NAT এর ক্ষেত্রে যতটিই পাবলিক আইপি থাকুক না কেন সকল কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারে। যখন যে কম্পিউটার ইন্টারনেট অ্যাকসেস করতে চাইবে তখন সে যে পাবলিক আইপিটি ফাঁকা পাবে সেই আইপিটি নিয়ে ইন্টারনেটে প্রবেশ করবে। তবে একটি সমস্যা আছে তা হল যতটি পাবলিক আইপি থাকবে একই সাথে সেই কয়টি কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারবে। আমরা যদি উপরের চিত্রের দিকে খেয়াল করি তাহলে এখানে 10.10.10.10 এর জন্য 200.10.10.10 এবং 10.10.10.20 এর জন্য 200.10.10.11 স্টাটিকালি নাটিং করে দেওয়াছিল । 10.10.10.10 কখোন 200.10.10.10 এর পরিবর্তে 200.10.10.11 আইপি পেত না । Dynamic NAT এর  কারো জন্য কোন পাবলিক আইপি নির্দিষ্ট করা থাকে না এখানে 10.10.10.10 কখোন 200.10.10.10 আবার কখোন 200.10.10.11 আইপি পাবে।

PAT (Port Address Translation) / Network Overloading

PAT হলো Port Address Translation.  PAT এর মাধ্যমে আমরা অনেকগুলি প্রাইভেট আইপি এড্রেসকে একটিমাত্র পাবলিক আইপি এড্রেস এর সাথে ম্যাপিং করতে পারি। অর্থাৎ আমরা একটি মাত্র পাবলিক আইপি দিয়ে অনেকগুলি প্রাইভেট আইপিকে ইন্টারনেট সেবা দিতে পারি ।

আমরা যখন আমাদের কম্পিউটার থেকে কোন ওয়েব ব্রাউজারের মাধ্যামে এক সাথে অনেকগুলি ওয়েবসাইজ ভিজিট করি তখন কিন্তু আমরা একসাথে অনেকগুলি সার্ভারকে অ্যাকসেস করি । যেমন ধরুন YouTube, Facebook, Twitter, LinkedIn, Instagram, Gmail etc..। আমরা কিভাবে একসাথে এতগুলি সার্ভার এর সাথে কানেক্ট হতে পারি যখন কিনা আমাদের আইপি অ্যাড্রেস থাকে মাত্র একটি! অর্থাৎ আমরা একটি মাত্র আইপি অ্যাড্রেস দিয়ে এক সাথে এত গুলি সার্ভার এর সাথে কিভাবে যোগাযোগ করতে পারি? এটি হয়ে থাকে PAT এর মাধ্যমে । আমরা যখন আমাদের কম্পিউটার থেকে সবগুলি সার্ভারকে একসাথে কানেক্ট হই, তখন আমাদের সকগুলি প্যাকেট এর সোর্স আইপি অ্যাড্রেস একই থাকে কিন্তু পোর্ট অ্যাড্রেস থাকে আলাদা আলাদা ।  আর এই কাজটি করে থাকে PAT। আমরা যখন কোন সার্ভার এর সাথে কানেক্ট হয় তখন কিন্তু শুধু আইপি অ্যাড্রেই লাগে না সাথে একটি পোর্ট নাম্বারও লাগে।

প্রত্যেকটি প্রোটকল এর নিদিষ্ট কিছু পোর্ট নাম্বার রয়েছে । আমরা যখন কোন সার্ভার এর সাথে কানেক্ট হই তখন কিন্তু প্রত্যকটি Server বা Destination এর র্পোাট নাম্বার কিন্তু একই থাকে Source Port নাম্বারটি Random হয়ে থাকে । এই Random নাম্বারটির রেঞ্জ হলে 1024-65535 পযন্তু যে কোন নাম্বার। যখন কোন সোর্স কম্পিউটার এই Random পোর্ট নাম্বারটি জেনারেট করে তখন অনেক সময় দুটি কম্পিউটার এর এই Source Port Address টি একই হতে পারে । ফলে তখন তারা কমিউনিকেট করতে পারবে না । আমরা নিচের চিত্রের মাধ্যমে PAT কে একটু বুঝার চেষ্টা করি।

NAT Bangla Tutorial

উপরের চিত্রতে একটি Client PC এক সাথে তিনটি কানেকশন বিল্ডাপ করেছে। এখানে প্রতিটি কানেকশনের IP Address একই কিন্তু তাদের Port Number আলাদা আলাদা। ফলে কোন সমস্যা নেই তারা পরস্পর এর মধ্যে যোগাযোগ করতে পারবে। শুধু মাত্র সে তার নাট রাউটারের কাছে থেকে একটি পাবলিক আইপি নিবে।

কিন্তু যখন তিনটি আলাদা আলাদ PC হবে তখন তারা যে সোর্স নাম্বারটি জেনারেট করবে তা একই হতে পারে! যদি আইপি অ্যাড্রেস আলাদা আলাদা হয় তাহলে সোর্স পোর্ট অ্যাড্রেস এক হল কোন সমস্যা নাই। কিন্তু আইপি ও পোর্ট অ্যাড্রেস যদি একই হয় তাহলে তা কমি্উনিকেট করতে পারবে না ।আমরা যদি নিচের চিত্রের দিকে খেয়াল করি।

NAT Bangla Tutorial

এখানে আমরা তিনটি Client PC দেখতে পাচ্ছি । যার প্রথম দুটির Port Address একই এবং শেষেরটির আলাদা। এখন যখন তারা কোন সার্ভার এর সাথে কমিউনিকেট করতে যাবে তাদের পাবলিক আইপ দরকার । যেহেতু আমাদের একটি মাত্র পাবলিক আইপি থাকবে, তখন তিনটি কম্পিউটার একই পাবলিক আইপি পাবে । ফলে প্রথম দুটি কম্পিউটারের IP Address ও Port Number একই হবে।  নিচেরটার পোর্ট নাম্বার যেহেতু আলাদা সে সার্ভার এর সাথে যোগাযোগ করতে পারবে। কিন্তু উপরের দুটি PC Server এর সাথে যোগাযোগ করতে পারবে না । PAT এর মাধ্যমে আমরা খুব সহজেই এই সমস্য সমাধান করতে পারি।

NAT Bangla Tutorial

PAT এর ক্ষেত্রে আমরা কিন্তু একটিই পাবলিক আইপি ব্যাবহার করি । আমরা একটি পাবলিক আইপ ব্যাবহার করে এক সাথে অনেকগুলি Client কে ইন্টারনেট সেবা প্রদান করি ।

উপরের চিত্রে আপনারা দেখতে পাচ্ছেন এখানে তিনটি Client PC রয়েছে যারা একই সাথে একটি সর্ভার এর সাথে কানেক্ট হওয়ার চেষ্টার করতেছে। এখানে Client PC প্রাইভেট আইপি অ্যাড্রেস দেওয়া আছে। আমাদের কাছে একটি মাত্র পাবলিক আইপি অ্যাড্রেস আছে আর তা হল 200.10.10.1। এখানে এই তিনটি কম্পিউটার এই একটি আইপি অ্যাড্রেস ব্যবহার করে সার্ভার এর সাথে কানেক্ট হবে ।  আমরা  জানি যখন কোন Client PC অন্য কোন হোস্ট এর সাথে কানেক্ট হতে যায় তখন সে তার সোর্স আইপি অ্যাড্রেস এর সাথে একটি পোর্ট নাম্বার যুক্ত করে । এবং এই পোর্ট নাম্বারটি সে Random জেনারেট করে আর সেই রেঞ্জ হল 1024-65535 পর্যন্ত। এখানে আমরা দেখতে পাচ্ছি প্রথম দুটি Client এর সোর্স পোর্ট নাম্বার একই তা হল 1024। এখন যখন এই Client কম্পিউটার সমুহ তাদের প্রাইভেট আইপি অ্যড্রেস ও পোর্ট নাম্বার নিয়ে NAT Router এর কাছে যাবে তখন NAT Router তাদের সোর্স প্রাইভেট আইপিটাবে ট্রান্সলেট করে সকলকে  এই পাবলিক “200.10.10.1”  আইপিটি দিবে  এবং সেই সাথে প্রথম  দুটি Client এর পোর্ট নাম্বার যেহেতু একই তাই NAT রাউটার তাদের পোর্ট অ্যাড্রেসটিও ট্রান্সলেট করে দিবে। সেই সাথে NAT Router দেখবে যাতে করে যে কোন Client এর সোর্স পোর্ট অ্যাড্রেস একই না হয় । উল্লেখযে প্রত্যেকটি Client এর কাছে কিন্তু তাদের Destination Port Address একই থাকবে । এবং আমাদের প্রতকটি প্রোটকল এর কিছু নির্দিষ্ট পোর্ট নাম্বার রয়েছে ।
 নিচে জনপ্রিয় কিছু পোটকল এর পোর্ট অ্যাড্রেস দেওয়া হল।
  1. ftp–21–File Transfer Protocol
  2. ssh–22–SSH Remote Login Protocol
  3. telnet–23–Telnet
  4. smtp–25–Simple Mail Transfer Protocol
  5. tftp–69–Trivial File Transfer Protocol
  6. gopher–70–Gopher
  7. http–80–World Wide Web HTTP
  8. pop2–109–Post Office Protocol-V2
  9. pop3–110–Post Office Protocol-V3
  10. nntp–119–Network News Transfer Protocol
  11. imap–143–Internet Message Access Protocol
  12. irc–194–Internet Relay Chat Protocol
  13. imap3–220–Interactive Mail Access Protocol V3
  14. https–443–http protocol over TLS/SSL
  15. printer–515–spooler
  16. imap4-ssl–585–IMAP4+SSL (use 993 instead)
  17. ftps–990–ftp protocol, control, over TLS/SSL
  18. telnets–992–telnet protocol over TLS/SSL
  19. imaps–993–imap4 protocol over TLS/SSL
  20. ircs–994–irc protocol over TLS/SSL
  21. pop3s–995–pop3 protocol over TLS/SSL (was spop3)

Saturday, June 22, 2019

Standard ACL এবং Extended ACL কনফিগারেশন

এবার আমরা দেখব কিভাবে ACL কে কনফিগারেশন করতে হয় আমরা এর আগে ACL সম্পর্কে বিস্তারিত আলোচনা করেছি । এবার কি ভাবে তা কনফিগার করতে হয় সেই সম্পর্কে আলোচনা করব। প্রথমে আমরা Standard ACL কিভাবে করফিগার করতে হয় তা দেখব । আমরা নিচের চিত্রের মত একটি টপোলজি নিলাম ।

আপনারা উপরের চিত্রে দেখতে পাচ্ছেন এখানে কিছু কম্পিউটার, সার্ভার রয়েছে । আমরা চাচ্ছি যে এখানে যে PC-7 রয়েছে তা ‍Server2 এর সাথে যোগায়োগ করতে পারবে না । প্রথমে আমরা Standard ACL এর মাধ্যমে এই কনফিগারেশনটি দেখবে এবং তার পরে Extended ACL এর মাধ্যমে এই কনফিগার দেখব।

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

Standard ACL

আমরা PC-7 কে Server2 এর জন্য ব্লক করব । PC-7 সকল হোস্ট এর সাথে যোগাযোগ করতে পারবে কিন্তু Server2 এর সাথে যোগাযোগ করতে পারবে না । আমরা যদি ACL কে কনফিগার করার আগে PC-7 থেকে Server2 কে Ping করি তাহলে দেখতে পাব যে Ping হচ্ছে ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা PC-7 থেকে Server2 কে ping করলে Ping হচ্ছে এবং TTL ভালু পাওয়া যাচ্ছে। আমরা যদি PC-7 এর সমস্থ প্যাকেটকে Server2 এর জন্য ব্লক করতে চাই তাহলে Standard ACL এর ক্ষেত্রে আমরা জানি যে Standard ACL কে যতটা সম্ভব হোস্ট এর নিকটে Apply করতে হয়। সুতরাং আমরা Standard ACL কে Router 4 এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করতে পারি। চলুন তাহলে দেখে নিই কিভাবে এই কনফিগার করতে হয়।

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255

এখানে উপরের যে কমান্ডটি দেখতে পাচ্ছেন এর মাধ্যমে আমরা একটি access list ক্রিয়েট করলাম। এখানে access-list 1 এর 1 হচ্ছে ACL এর যে রেঞ্জ রয়েছে সেই রেঞ্জ নাম্বার । আমরা জনি যে Standard ACL এর ক্ষেত্রে এই রেঞ্জ হল 1-99 এবং 1300-1999 পর্যন্ত। এই রেঞ্জ এর যেকোন নাম্বার ব্যাবহার করলে রাউটার বুঝতে পারে যে এটা Standard ACL। #access-list 1 deny 192.168.4.2 0.0.0.0 এখানে access-list 1 মানে ত বুঝলাম এর পর deny মানে হচ্ছে এই যে access-list 1টা রয়েছে তার পারমিশন হল deny এবং কার জন্য deny করা হল তার ‍Source Address কি? সেটা হল 192.168.1.2, এবং তার Wildcard mask হল 0.0.0.0 । আমরা জানি ACL কে রাউটারের ইন্টারফেসে ইমপ্লিমেন্ট করতে হয় । আমরা Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0 এই কমান্ডটি ব্যবহার করলাম প্যাকেটকে ব্লক করার জন্য এবং যে সকল প্যাকেটকে ব্লক করতে চাইনা তাদের জন্য ত একটি পারমিট কমান্ড দিতে হবে । তার জন্য আমরা এই কমান্ডটি ইউজ করেছি Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255 এখানে access-list 1 কে আমরা পামিট করলাম কোন নেটওয়ার্ক এর জন্য? যে কোন নেটওয়ার্ক এর জন্য এবং যে কোন সাবনেট মাক্স এর জন্য শুধু মাত্র 192.168.1.2 এই Address টি ছাড়া।
  1. Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
  2. Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255
এখানে আমরা উপরের এই দুটি কমান্ড এর মাধ্যমে একটি ‍অ্যাকেসেস লিষ্ট ক্রিয়েট করলাম যার মাধ্যমে 192.168.4.2 এর সমস্থ প্যাকেটকে block করলাম এবং অন্য সকল এর জন্য allow করলাম।

আমরা এখানে একটি access-list 1 যেটা  ক্রিয়েট করলাম এবার এটাকে Router 4 এর এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করব।

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip access-group 1 out

এখানে আমরা acces-list 1 কে ip access-group 1 এর মাধ্যমে Apply করলাম যার ডাইরেকশন হবে out। অর্থাৎ প্যাকেটটি যখন Route 4 এর FastEthernet 0/0 ইন্টারফেস দিয়ে বের হতে চাইবে তখন Router 4 তাকে ব্লক করে দিবে। এখন যদি আমরা PC-7 থেকে Server2 কে ping করি।

ACL BANGLA TUTORIAl

আপনারা দেখতে পাচ্ছেন যে PC-7 Server 2 কে Ping করতে পাতেছে না । আমাদের Replay আসতেছে Destination host unreachable. একই সাথে আমাদের যে PC 5 টি রয়েছে তাও কিন্তু ব্লক হয়ে গেছে। PC-5 এর ক্ষেত্রেও Replay আসতেছে Destination host unreachable. যেহেতু Standard ACL শুধুমাত্র Source Address নিয়ে কাজ করে তাই আমরা চাইলেও এর মাধ্যমে কোন Specific কোন হোস্ট কে ব্লক করতে পারি না । এটা আমরা Standard ACL এর একটি সিমাবদ্ধাও বলতে পারি।

Extended ACL

Extended ACL যেহেতেু শুধুমাত্র সোর্স অ্যাড্রেস নিয়ে কাজ করে না, সে একই সাথে Source Address, Destination Address, Port Address এবং Protocol স্পেসিফিক কাজ করতে পারে তাই আমরা যে কোন স্পেসিফিক হোস্ট এর জন্য প্যাকেটকে ফিল্টারিং করতে পারি। আর আমরা জানি যে Extended ACL কে যতটা সম্ভব Source এর নিকটে Apply করতে হয় ।

আমরা যদি আগের মতই PC-7 কে Server2 এর জন্য ব্লক করতে চাই তাহলে Extended ACL কে Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করতে পারি কারণ এই হল Source PC-7 এর সবচেয়ে নিকটের ইন্টারফেস। আমরা যদি চায় তাহলে Router 4 এর FastEthernet Fa0/0 তেও ইমপ্লিমেন্ট করতে পারি তাতে নেটওয়ার্কে ট্রাফক বাড়বে এবং নেটওয়ার্ক স্লো হয়ে যাবে। আর যদি Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করি তাহলে সেই প্যাকেটটিকে আর সামনে যেতে দিবে না ফলে নেটওয়ার্ক এর ট্রাফিক কমে যাবে। আমরা নিচে Router 3 তে কিভাবে Extended ACL কে ইমপ্লিমেন্ট করতে হয় তা দেখি

Extended ACL Configuration Code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2
Router(config)#access-list 100 permit ip any any

এখানে আমরা একটি Extended ACL এর Access List ক্রিয়েট করলাম । আমরা যদি এখানে এই “Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2” কোডটি নিয়ে বিস্তারিত আলোচনা করি তাহল প্রথমে আসে access-list 100, এখানে এটি হল Access list এর নাম্বার য 100, কারণ যেহেতু এটি Extended ACL আর Extended ACL  এর ক্ষেত্রে আমরা জানি যে তার রেঞ্জ হল 100-199 এবং 2000-2699 পর্যন্ত যে কোন নাম্বার আমরা ব্যবহার করতে পারব। এর পর আছে deny, এখানে deny মানে হচ্ছে তার পারমিশন হচ্ছে ব্লক । এর পর আছে ip host এখানে আমরা ip any, ip source address ও ব্যবহার করতে পারি । যেহেতু আমরা একটি সিঙ্গেল হোস্ট এর জন্য কাজ ACL কে ইমপ্লিমেন্ট করতেছি তাই এখানে ip host ব্যাবহার করা হয়েছে। এরপর আছে সোর্স আড্রেস । আমাদের সোর্স হল 192.168.4.2 এবং তার পর host destination Address, আমাদের destination address  হল 192.168.1.2।

এখানে আমরা একটি Access List ক্রিয়েট করলাম এবার এটিকে আমাদের Apply করতে হবে । নিচে তার কোড দেওয়া হল । আমরা গ্লোবাল কনফিগারেশন মোডে গিয়ে যে ইন্টারফেসে ACL কে ইমপ্লিমেন্ট করতে চাই সেই ইন্টারফেসটিকে সিলেক্ট করি।
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

এখানে আমরা Router 3 এর FastEthernet Fa0/1 এ ACL কে ইমপ্লিমেন্ট করব। তা এখানে আমরা Router(config)#int fa 0/1

এই কোডটি ব্যবহার করেছি । এর পরRouter(config-if)#ip access-group 100 in” এখানে ip access-group 100 এই কমান্ডটির মাধ্যমে আমরা কোন রেঞ্জ এর ACL কে ইমপ্লিমেন্ট করব তা সিলেক্ট করলাম এবং তার Direction কি হবে সেটা এখানে দেওয়া হয়েছে in। অর্থাৎ প্যাকেটগুলি এই ইন্টারফেসে প্রবেশ করবে। যদি এই ইন্টারফেস দিয়ে বের হয়ে যেত তাহলে তার direction হত out.
এবার যদি আমরা PC-7 থেকে Server 2 কে ping করি তাহলে দেখতে পাব যে ping হবে না কিন্তু PC-5 এর সাথে ping হবে। যেটা Standard ACL এর ক্ষেত্রে হত না ।


এবার আমরা যদি চাই যে এই Access list টি রাখব না, খুব সহজ রাউটারের গ্লোবাল কনফিগারেশন মোডে গিয়ে টাইপ করুন “no access-list 100” এখানে 100 এর জয়গায় আপনার ACL এর যে রেঞ্জ হবে তা দিতে হবে।

আমরা দেখলাম যে কোন হোস্টকে কিভাবে অন্য কোন হোস্ট এর জন্য ব্লক করতে হয় । এবার আমরা যদি চাই যে PC-5 Server-2 কে ping করবে, কিন্তু তার ওয়েবপেজ ওপেন করতে পারবে না। অর্থাৎ তার ওয়েব পেজ অ্যাকসেস করতে পারবে না। চলুন দেখি কিভাবে এটা করতে হয়। তার আগে অবশ্যই আমরা আগের Access list টিকে Remove করে দিব। আমরা একটু দেখে নিই PC-5 থেকে আমরা তার ওয়েব পেজটিকে ওপেন করতে পারি কিনা ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা Server-2 ওয়েবপেজটিকে ওপেন করতে পারতেছি । এবার আমরা PC-5 এর http প্রোটকলটিকে Server-2 এর জন্য বন্ধ করে দিব। যতে করে সে আর Server 2 এর ওয়েব পেজটিকে ওপেন করতে না পারে।

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny tcp host 192.168.4.2 host 192.168.1.2 eq 80
Router(config)#access-list 100 permit ip any any
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

আমরা যদি উপরের কোড এর দিকে ভাল ভাবে খেয়াল করি তাহলে এখানে সবকিছু আগরে মত্ই, ভিন্ন দুটি জিনিস দেখতে পাচ্ছি তা হল tcp এবং eq 80। চলু আমরা একটু বিষয়টি সম্পর্কে ভালভাবে জানি। আমাদের এখনে মূল কাজ কি? http প্রোটকলকে ব্লক করা, http প্রোটকল যেহেতু TCP মোড এ থাকে তাই আমরা এখানে tcp ব্যবহার করেছি। এর পর eq 80 এখানে eq একটি অপারেটর যার মানে হচ্ছে equal. এখানে আমরা আরো কিছু অপারেটর ব্যবহার করতে পারি যেমন neq = not equal, lt = less then, gt = greater then. যেহেতু আমাদের http protocol এর port number 80 তাই এখানে আমরা 80 ব্যবহার করেছি। আমরা যে প্রোটকলকে ব্লক করতে চাই এখানে আমরা সেই প্রোটকল এর পোর্ট নাম্বার ব্যবহার করব ।

এবা চলুন দেখি যে আমরা Server-2 এর ওয়েব পেজ ওপেন করতে পারি কিনা।


দেখতে পাচ্ছেন আমরা তার ওয়েব পেজটিকে ওপেন হচ্ছেনা। কিন্তু আমরা যদি Server 2 কে ping করি তাহলে দেখব ping হবে।


এভাবে আমরা যে কোন প্রোটকলকেও ব্লক করতে পারি । আশা করি আপনারা ACL সম্পর্কে খুব ভাল একটি ধারণা পেয়েছেন।