ডেবিয়ান লিনাক্সে আইপি নেটওয়ার্কিং এর সাধারন বিষয়সমূহ

একটি ডেবিয়ান হোস্ট বা মেশিন এর ভিন্ন ভিন্ন ইন্টারনেট প্রটোকল (আইপি) এড্রেস সম্বলিত কয়েকটি ইন্টারফেস থাকতে পারে। ইন্টারফেসগুলিকে বেশ কয়েকভাগে বিভক্ত করা যায় যেমনঃ

• Loopback: lo
• Ethernet: eth0, eth1
• Wi-Fi: wlan0, wlan1, wifi0,
• Token Ring: tr0, tr1
• PPP: ppp0, ppp1

এছাড়াও আরো বেশ কয়েকধরনের নেটওয়ার্ক ডিভাইস রয়েছে যেমন SLIP, PLIP (serial and parallel line IP), নির্দিষ্ট ইন্টারফেসে ট্রাফিক কন্ট্রোলিং এর জন্য"shaper" ডিভাইস, frame relay, AX.25, X.25, ARCnet, এবং LocalTalk.

ইন্টারনেট অথবা আইপি নির্ভর নেটওয়ার্কে যুক্ত প্রত্যেকটি নেটওয়ার্ক ইন্টারফেসকে/কম্পিউটারকে একটি ৩২ বিটের আইপি এড্রেস দ্বারা চিহ্নিত করা হয়ে থাকে। আইপি এড্রেটি মূলত দুটি অংশে বিভক্ত-প্রথম অংশটি সরাসরি নেটওয়ার্ক এর সাথে যুক্ত এবং দ্বিতীয় অংশটি হোস্ট পার্ট হিসেবে কাজ করে থাকে। এবার আপনি একটি নেটওয়ার্ক এড্রেসকে নিয়ে এর নেটওয়ার্ক এড্রেস এর জন্য ১ এবং হোস্ট এর জন্য ০ বরাদ্দ করুন তাহলে আপনি এ ইন্টারফেসের netmask পেয়ে যাবেন।

প্রথাগতভাবে আইপি নেটওয়ার্কসমূহ কে বিভিন্ন গ্রুপভিত্তিক ক্লাসে বিভক্ত করা হয়ে থাকে যাদের নেটওয়ার্ক এড্রেস অংশ সাধারনতঃ ৮, ১৬ অথবা ২৪ বিট দৈর্ঘ্যের হয়ে থাকে। এ সিস্টেমটি যথেষ্ট সুবিধা দিতে পারেনি এবং অনেক আইপি এড্রেস এখানে অব্যবহৃত থাকত তাই বর্তমানে বিভিন্ন লেন্থের নেটওয়ার্ক পার্ট হিসেবে IPv4 টাইপের নেটওয়ার্ক বন্টন করা হয়ে থাকে।

IP addresses net mask length
Class A 1.0.0.0 - 126.255.255.255 255.0.0.0 = /8
Class B 128.0.0.0 - 191.255.255.255 255.255.0.0 = /16
Class C 192.0.0.0 - 223.255.255.255 255.255.255.0 = /24

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

network addresses length how many
Class A 10.x.x.x /8 1
Class B 172.16.x.x - 172.31.x.x /16 16
Class C 192.168.0.x - 192.168.255.x /24 256

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

রাউটিং টেবিল এ একটি আইপি প্যাকেটকে কিভাবে তার গন্তব্যস্থলে পাঠানো হবে কার্নেলের সেই সংক্রান্ত তথ্যগুলি থাকে। এখানে লোকাল এরিয়া নেটওয়ার্ক এ অবস্থিত একটি ডেবিয়ান হোস্ট এর রাউটিং টেবিল এর স্যাম্পল প্রিন্ট আউটপুট দেয়া হল যার এড্রেস 192.168.50.x/24। কর্পোরেট নেটওয়ার্ক এর জন্য হোস্ট ১৯২.১৬৮.৫০.১ (যেটি একই সাথে ল্যানে অবস্থিত) হচ্ছে একটি রাউটার এবং অপেক্ষাকৃত বড় নেটওয়ার্ক ইন্টারনেট এর জন্য রাউটার হচ্ছে ১৯২.১৬৮.৫০.২৫৪ হোস্টটি।

# route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
192.168.50.0 * 255.255.255.0 U 0 0 137 eth0
172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0
default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0

• হেডিং এর পর প্রথম লাইনটিতে বলা হয়েছে যে নেটওয়ার্কটি 127.x.x.x সম্বলিত সেটি লুপব্যাক ইন্টারফেস এর মাধ্যমে রাউটেড/নির্দেশিত হবে।
• দ্বিতীয় লাইনে বলা হয়েছে ল্যান এ অবস্থিত হোস্টসমূহের ট্রাফিকগুলি eth0 এর মাধ্যমে রাউটেড হবে।
• তৃতীয় লাইনে বলা হচ্ছে কর্পোরেট নেটওয়ার্ক এর ট্রাফিকগুলি eth0 এর মাধ্যমে 192.168.50.1 গেটওয়ে ব্যবহার করে রাউটেড হবে।
• চতুর্থ লাইন বলছে বৃহৎ ইন্টারনেট নেটওয়ার্ক এর জন্য ট্রাফিকটি 192.168.50.254 এড্রেস এর মাধ্যমে রাউটেড হবে যেটি আসলে eth0।

টেবিলে আইপি এড্রেস সমূহকে তাদের নাম অনুযায়ী ও দেয়া হয় অনেকসময় যেটি সাধারন /etc/networks এ অবস্থিত এড্রেসগুলি থেকে নেয়া হয় অথবা সি লাইব্রেরী পরিবর্তক ব্যবহার করেও পাওয়া যায়।

রাউটিং এর কাজ ছাড়াও কার্নেল এ সংক্রান্ত আরো বেশ কিছু কাজ যেমন নেটওয়ার্ক এড্রেস পরিবর্তক, ট্রাফিক সিস্টেম এর আকার তৈরী এবং ফিল্টারিং এর কাজ করে থাকে।

  • কিভাবে হোস্ট নেম সেট করবেন
ডেবিয়ান ইনস্টলেশনের সময় হোস্টনেম সেট করার জন্য খুব সহজ পথ রয়েছে। আপনি hostname কমান্ড এর সাহায্যে এটি সরাসরি খুজতে পারেন ও সেট করতে পারেন।
একজন ব্যবহারকারী হিসেবে বর্তমান হোস্টনেম দেখার কমান্ড হচ্ছেঃ
$ /bin/hostname

উদাহরন

সরাসরি হোস্টনেম সেট করতে হলে রুট হিসেবে লগইন করে কমান্ড দিনঃ
/bin/hostname newname

যখন আপনার সিস্টেম নতুন করে বুট হবে তখন /etc/hostname থেকে এটি স্বয়ংক্রিয়ভাবে হোস্টনেমগুলি রিড করবে।

  • কিভাবে DNS সেট করবেন
ডেবিয়ান DNS সেট করার প্রক্রিয়াটি অন্যান্য ডিস্ট্রিবিউশনের থেকে ভিন্ন নয়। আপনি হোস্টনেম এবং আইপি এড্রেসগুলি /etc/hosts ফাইলে যোগ করতে পারেন স্ট্যাটিক ভাবে শো করার জন্য।
আপনার মেশিনকে কোন একটি নির্দিষ্ট সার্ভারে নাম খোজার জন্য আপনি তার এড্রেস /etc/resolv.conf ফাইলে সেট করে দিতে পারেন।
উদাহরনস্বরূপ একটি মেশিনকে 192.168.1.1 এড্রেসে DNS সার্ভার খুজে পেতে হলে তার resolv.conf ফাইল এর অপশনগুলি মোটামুটি এরকম হবেঃ
search test.com
nameserver 192.168.3.2

  • আইপি এড্রেস সেট করার প্রক্রিয়া
যেকোন নেটওয়ার্ক কার্ড এর সাথে সংশ্লিষ্ট আইপি এড্রেসগুলিকে /etc/network/interfaces ফাইল হতে দেখে নেয়া যেতে পারে।

একটি স্ট্যাটিক এড্রেস সম্বলিত মেশিনের স্যাম্পল মোটামুটি নিচের মত হয়ে থাকেঃ

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

এখানে আমরা আইপি এড্রেস হিসেবে 192.168.3.90 সেট করেছি, ডিফল্ট গেটওয়ে হচ্ছে 192.168.3.1, এবং সবশেষে নেটমাস্ক।

যে মেশিন DHCP দ্বারা পরিচালিত তার কনফিগারেশন আরো সহজঃ

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp

(যদি আপনি DHCP নির্ভর সেটআপ ব্যবহার করেন তবে আপনাকে অবশ্যই DHCP ক্লায়েন্ট প্যাকেজ ইনস্টল করে নিতে হবে যেমন - pump,dhcpcd অথবা dhcp3-client এর যেকোন একটি। যদি আপনি এ ফাইলে কোন পরির্বতন করেন/নেটওয়ার্ক সেটআপে কোন পরিবর্তন করেন তবে সেটি কার্যকর করার জন্য নিচের কমান্ডটি দিতে হবেঃ

/etc/init.d/networking restart

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

auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x

আপনাকে পরিপূর্ন বিবরন যথা এড্রেস, নেটমাস্ক, নেটওয়ার্ক ব্রডকাস্ট এবং গেটওয়ের মান বসিয়ে ফাইলটি সংরক্ষন করতে হবে এবং নেটওয়ার্ক সার্ভিসটি নতুন করে চালু করতে হবে নতুন আইপি এড্রেসটি কার্যকর করার জন্য নিচের কমান্ডটি প্রয়োগের মাধ্যমেঃ

#/etc/init.d/networking restart
নতুন আইপি এড্রেস ঠিকমত বসানো হয়েছে কিনা তা দেখার জন্য নিচের কমান্ডটি দিনঃ

#/sbin/ifconfig

  • ডিফল্ট গেটওয়ে বসানো
যদি আপনি আগের সেকশন পড়ে থাকেন তাহলে আপনি দেখবেন /etc/network/interfaces ফাইলে একটি হোস্টের জন্য একটি স্ট্যাটিক আইপি এড্রেসকে ডিফল্ট রুট হিসেবে সেট করা যায়। যদি আপনি আপনার বর্তমান ডিফল্ট রুট/গেটওয়ে দেখতে চান তাহলে নিচের কমান্ডটি দিনঃ

# netstat -nr

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.3.1 0.0.0.0 UG 0 0 0 eth0

অথবা আপনি route কমান্ডটি ও ব্যবহার করতে পারেনঃ

# /sbin/route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
default router 0.0.0.0 UG 0 0 0 eth0

(এখানে আইপি এড্রেস 192.168.3.1 এর বদলে হোস্ট নেম দিয়ে রাউটারকে দেখানো হয়েছে- এটি করতে না চাইলে "/sbin/route -n" কমান্ড দিন).

আপনি ডিফল্ট রুট পরিবর্তন করতে চাইলে প্রথমে অবশ্যই আগেরটিকে মুছে ফেলতে হবেঃ

/sbin/route del default gw 192.168.3.1

এটি মুছে দেবার পর আপনার আর কোন গেটওয়ে থাকবে না এবং মেশিন লোকাল নেটওয়ার্কের বাইরে কোন হোস্ট এর সাথে যোগাযোগ করতে পারবে না। নতুন গেটওয়ে সেট করার জন্য কমান্ড দিনঃ

/sbin/route add default gw 192.168.3.100
  • নেটওয়ার্ক পরীক্ষার মৌলিক কিছু কমান্ড
netkit-ping, traceroute, dnsutils, ipchains (for 2.2 kernel), iptables (for 2.4 kernel)এবং net-tools প্যাকেজগুলি ইনস্টল করে নিন এবং নিচের কমান্ডগুলি দিন

$ ping google.com # ইন্টারনেট কানেকশন চেক করুন

$ traceroute google.com # আইপি প্যাকেট ট্রেস করার জন্য

$ ifconfig # হোস্ট এর কনফিগারেশন চেক করার জন্য

$ route -n # রাউটিং ইনফরমেশন চেক করার জন্য

$ dig [@dns-server.com] host.dom [{a|mx|any}] |less # host.dom এর জন্য
dns-server.com এর DNS records চেক করুন[{a|mx|any}]রেকর্ডের জন্য

$ ipchains -L -n |less # প্যাকেট ফিল্টার চেক করার জন্য (2.2 kernel)

$ iptables -L -n |less # প্যাকেট ফিল্টার চেক করার জন্য(2.4 kernel)

$ netstat -a # সকল খোলা পোর্ট খুজে বের করে

$ netstat -l --inet # যে সকল পোর্ট কাজ করছে সেগুলো খুজে বের করে

$ netstat -ln --tcp # কার্যকর টিসিপি পোর্ট খুজে বের করে

1 comments:

Polash Mahmud said...

খুবই কাজের একটা টপিক! আমার খুবই কাজে এসেছে। ধন্যবাদ ভাইয়া।

Post a Comment