কম্পিউটার টিউটোরিয়াল

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

এই লেখায় আমরা দেখাব কিভাবে লিনাক্সে ip কমান্ড ব্যবহার করে রাউটিং কনফিগার এবং নেটওয়ার্ক রুট পরিচালনা করবেন CentOS-এ (রাউটিং টেবিল দেখুন, স্ট্যাটিক রুট যোগ/সরানো, ইত্যাদি)। এই লেখা ip টুলসহ যেকোনো অন্যান্য লিনাক্স ডিস্ট্রো (Red Hat, Fedora, ইত্যাদি) માટે প্রযোজ্য।

লিনাক্সে রাউটিং ম্যানেজ করতে route কমান্ডের পরিবর্তে ip কমান্ড ব্যবহার করার পরামর্শ দেওয়া হয়। route কমান্ড এডভান্সড রাউটিং ফিচার (রাউটিং পলিসির মতো) কনফিগার করার অনুমতি দেয় না এবং ip টুল ব্যবহার করে সেট করা স্পেশাল রাউটিং সেটিংস দেখাতে পারে না।

লিনাক্সে নেটওয়ার্ক রাউটিং টেবিল কীভাবে দেখবেন?

লিনাক্সে বর্তমান রাউটিং টেবিল দেখতে এই কমান্ড চালান:

# ip route

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

  • default via 192.168.1.1 dev enp0s3 এই উদাহরণে enp0s3 ইন্টারফেস ব্যবহার করে ডিফল্ট গেটওয়ে। যদি টার্গেট IP ঠিকানার জন্য রাউটিং টেবিলে কোনো স্ট্যাটিক রুট না থাকে, তবে প্যাকেটটি সেই গেটওয়ের মাধ্যমে পাঠানো হয় (ডিফল্ট রুট);
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 হল 192.168.1.0/24 নেটওয়ার্কের জন্য 192.168.1.201 ইন্টারফেস দিয়ে একটি স্ট্যাটিক রুট;
  • proto kernel হল কার্নেল দ্বারা তৈরি একটি রুট (proto static – অ্যাডমিনিস্ট্রেটর দ্বারা যোগ করা রুট);
  • metric হল রুটের প্রায়োরিটি (metric মান যত কম, প্রায়োরিটি তত বেশি)। দুটি রুটের একই metric থাকলে (কখনো করবেন না!), কার্নেল র‍্যান্ডমলি রুট বেছে নেবে।

নির্দিষ্ট IP ঠিকানার জন্য কোন ইন্টারফেস (গেটওয়ে) ব্যবহার হচ্ছে তা জানতে নিচের কমান্ড ব্যবহার করা হয়:
# ip route get 192.168.2.45

192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201

আপনি আপনার লিনাক্স সার্ভারকে দুটি বা অধিক ইন্টারফেসের সাথে একটি রাউটার বা ইন্টারনেট গেটওয়ে হিসেবে ব্যবহার করতে পারেন। একাধিক ইন্টারফেসের মধ্যে প্যাকেট রাউটিং সক্ষম করতে, net.ipv4.ip_forward = 1 কার্নেল প্যারামিটার সক্ষম করুন।

লিনাক্সে স্ট্যাটিক রুট যোগ ও সরানো

লিনাক্স রাউটিং টেবিলে একটি নির্দিষ্ট IP নেটওয়ার্কের জন্য একটি নতুন রুট যোগ করতে এই কমান্ড চালান:

# ip route add 192.168.0.0/24 via 192.168.1.1

এভাবে, আমরা 192.168.0.0/24 IP নেটওয়ার্কের জন্য 192.168.1.1 গেটওয়ে দিয়ে রুট যোগ করলাম।

ip route কমান্ডের ফরম্যাট খুব.somewhat Cisco IOS সিনট্যাক্সের মতো। এখানে সংক্ষিপ্ত রূপও ব্যবহার করা যায়, উদাহরণস্বরূপ, ip route add এর পরিবর্তে ip pro ad ব্যবহার করা যায়।

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

আপনি একটি একক IP ঠিকানা (হোস্ট) জন্য আলাদা একটি স্ট্যাটিক রুটও যোগ করতে পারেন:

# ip route add 192.168.1.0 via 192.168.1.1

আপনি Cisco-র মতো (ip route null0) একটি নাল রুট তৈরি করতে পারেন। এই নেটওয়ার্কে পাঠানো প্যাকেট No route to host এর কারণে ড্রপ হয়:

# ip route add blackhole 10.1.20.0/24

এই পদ্ধতিতে যোগ করা রুটগুলো مؤقت এবং নেটওয়ার্ক সার্ভিস বা সার্ভার রিস্টার্ট করার পর্যন্ত কাজ করে।

ম্যানুয়ালি তৈরি করা একটি স্ট্যাটিক রুট সরাতে নিচের কমান্ড চালান:

# ip route del 192.168.0.0/24

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

আপনি দেখতে পাচ্ছেন, লিনাক্স রাউটিং টেবিল থেকে রুটটি সরিয়ে দেওয়া হয়েছে।

একটি পার্মানেন্ট রুট যোগ করতে, আপনাকে রুটের জন্য একটি ফাইল তৈরি করতে হবে, অথবা rc.local ফাইলে একটি রুল যোগ করতে হবে (হোস্ট স্টার্টআপে রান হয়)।

একটি পার্মানেন্ট স্ট্যাটিক রুট যোগ করতে, আপনাকে রাউটিংয়ে ব্যবহার করা নেটওয়ার্ক ইন্টারফেসের নাম জানতে হবে। নিচের কমান্ড ব্যবহার করে নেটওয়ার্ক ইন্টারফেসের নাম পেতে পারেন:

# ip a

আমার কেসে, এটি enp0s3।

RHEL/CentOS লিনাক্সে নেটওয়ার্ক ইন্টারফেস কনফিগারেশনের বিস্তারিত লেখা এখানে।

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

তারপর নিচের ফাইলটি খুলুন:

# nano /etc/sysconfig/network-scripts/route-enp0s3

এবং এখানে রুট ধারণকারী লাইনটি যোগ করুন:

192.168.0.0/24 via 192.168.1.1

ফাইলে রুট যোগ করার পর, network সার্ভিস রিস্টার্ট করুন:

# service network restart

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

নেটওয়ার্ক রিস্টার্ট করার পর, রাউটিং টেবিলে একটি স্ট্যাটিক রুট দেখা যাচ্ছে।

আপনি সার্ভার বুট হলে স্বয়ংক্রিয়ভাবে স্ট্যাটিক রুট যোগ করার জন্য rc.local ফাইলে একটি কমান্ডও যোগ করতে পারেন। ফাইলটি খুলুন:

# nano /etc/rc.local

এবং স্ট্যাটিক রুট যোগ করার কমান্ডটি লিখুন:

# ip route add 192.168.0.0/24 via 192.168.1.1

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

তবে আপনার সার্ভার রিস্টার্ট হলে, সিস্টেম বুটের সময় রুটটি স্বয়ংক্রিয়ভাবে যোগ হবে।

লিনাক্সে বিদ্যমান একটি রুট এন্ট্রি মডিফাই করা

একটি বিদ্যমান রুট পরিবর্তন করতে, আপনি ip route replace কমান্ড ব্যবহার করতে পারেন:

# ip route replace 192.168.0.0/24 via 192.168.1.1

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

রাউটিং টেবিলের সব مؤقت রুট রিসেট করতে, শুধু নেটওয়ার্ক সার্ভিস রিস্টার্ট করুন:

# service network restart

Restarting network (via systemctl): [ OK ]

# ip route

default via 192.168.1.1 dev enp0s3 proto static metric 100 192.168.0.0/24 via 192.168.1.1 dev enp0s3 proto static metric 100 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 metric 100

লিনাক্সে ডিফল্ট রুট বা ডিফল্ট গেটওয়ে পরিবর্তন কীভাবে করবেন?

আপনি ip route del কমান্ড ব্যবহার করে একটি ডিফল্ট রুট সরাতে পারেন:

# ip route del default via 192.168.1.1 dev enp0s3

CentOS/RHEL লিনাক্সে একটি নতুন ডিফল্ট রুট সেট করতে নিচের কমান্ড ব্যবহার করা হয়:

# ip route add default via 192.168.1.2 (গেটওয়ে IP ঠিকানা দিয়ে রুট)

# ip route add default via enp0s3 (ডিভাইস নাম দিয়ে রুট)

ডিফল্ট রুট সেটিংস পরিবর্তন করতে এই কমান্ড ব্যবহার করা হয়:

# ip route replace default via 192.168.1.2

লিনাক্সে রাউটিং কনফিগারেশন (RHEL/CentOS)

  1. Rocky Linux কী এবং আপনি কি এটিকে বিবেচনা করা উচিত?

  2. কি রেড হ্যাট এন্টারপ্রাইজ লিনাক্স ৭ একটি ভালো কর্পোরেট ডেস্কটপ?

  3. রেড হ্যাট লিনাক্সের টাকা দিতে চান না? সেন্টওএস ট্রাই করুন

  4. RHEL, CentOS এবং Fedora-এর পার্থক্য