কম্পিউটার

Linux CentOS/RHEL-এ NFS সার্ভার এবং ক্লায়েন্ট কনফিগার করা হচ্ছে

নেটওয়ার্ক ফাইল সিস্টেম (NFS) ফাইল এবং ফোল্ডার শেয়ার করার জন্য একটি বিতরণ করা ফাইল সিস্টেম প্রোটোকল। NFS রিমোট প্রসিডিউর প্রোটোকল (ONC RPC) এর উপর ভিত্তি করে। NFS নেটওয়ার্কে দূরবর্তী ফাইল সিস্টেম মাউন্ট করার অনুমতি দেয়। মনে রাখবেন যে NFS ব্যবহার করার সময় ডিফল্ট ডেটা এনক্রিপ্ট করা হয় না এবং ক্লায়েন্টদের প্রমাণীকৃত হয় না (আইপি দ্বারা অ্যাক্সেস সীমিত হতে পারে)।

NFS সার্ভার এবং ক্লায়েন্ট-সাইড উভয় ক্ষেত্রেই কনফিগার করা সহজ। এই নিবন্ধে, আমরা কীভাবে একটি NFS সার্ভার ইনস্টল এবং কনফিগার করতে হবে তা দেখাব এবং তারপরে আমরা একটি ক্লায়েন্টে একটি NFS শেয়ার সংযুক্ত করব। এই নিবন্ধটি RPM-ভিত্তিক লিনাক্স বিতরণের উপর ভিত্তি করে (CentOS, RHEL, Fedora, ইত্যাদি)।

লিনাক্স সেন্টোসে একটি এনএফএস সার্ভার কীভাবে ইনস্টল এবং কনফিগার করবেন

ডিফল্টরূপে, এনএফএস ইতিমধ্যেই স্ট্যান্ডার্ড প্যাকেজের সাথে CentOS-এ ইনস্টল করা আছে। আপনি যদি NFS উপাদানগুলি সরিয়ে ফেলে থাকেন বা আপনার সার্ভারের জন্য ন্যূনতম ইনস্টল মোড ব্যবহার করেন, আপনি yum (বা dnf) প্যাকেজ ম্যানেজার ব্যবহার করে NFS প্যাকেজ ইনস্টল করতে পারেন:

CentOS 8 এ:

# dnf install nfs-utils -y

আমি প্যাকেজ ইনস্টল করেছি:

Linux CentOS/RHEL-এ NFS সার্ভার এবং ক্লায়েন্ট কনফিগার করা হচ্ছে

বর্তমান NFS সার্ভার সংস্করণ NFSv3 এবং NFSv4 প্রোটোকল সংস্করণ সমর্থন করে। NFSv2 ডিফল্টরূপে নিষ্ক্রিয়। আপনি এই কমান্ডটি ব্যবহার করে সমর্থিত NFS সংস্করণগুলির একটি তালিকা পেতে পারেন:

cat /proc/fs/nfsd/versions

আপনার প্রয়োজনীয় সমস্ত প্যাকেজ ইনস্টল করার পরে, nfs-server এবং rpcbind পরিষেবাগুলি শুরু করুন এবং সেগুলিকে স্টার্টআপে যুক্ত করুন:

# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server

আপনি যদি শুধুমাত্র NFSv4.1/4.2 ব্যবহার করতে চান, তাহলে আপনাকে rpcbind চালানোর দরকার নেই।

আপনি যদি আপনার লিনাক্স হোস্টে ফায়ারওয়ালড ব্যবহার করেন তবে নিম্নলিখিত পোর্টগুলি খুলুন:

# firewall-cmd --permanent --add-port=111/tcp
# firewall-cmd --permanent --add-port=20048/tcp
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=mountd
# firewall-cmd --permanent --zone=public --add-service=rpc-bind
# firewall-cmd --reload

Linux CentOS/RHEL-এ NFS সার্ভার এবং ক্লায়েন্ট কনফিগার করা হচ্ছে

যারা iptables ব্যবহার করছেন তাদের জন্য:

# iptables -t filter -A INPUT -p tcp --dport 111 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 2049 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 20048 -j ACCEPT
# service iptables save
# service iptables restart

তারপর একটি ডিরেক্টরি তৈরি করুন আপনার NFS সার্ভার ভাগ করবে:

# mkdir -p /backup/nfs
# chmod -R 777 /backup/nfs

NFS শেয়ার প্রকাশ করুন এবং NFS সার্ভার সেটিংস (/etc/exports) ধারণকারী কনফিগারেশন ফাইলে অ্যাক্সেস অনুমতি বরাদ্দ করুন।

# nano /etc/exports

নির্দিষ্ট আইপি সাবনেটের সমস্ত হোস্টে NFS অ্যাক্সেস দেওয়ার জন্য কনফিগারে নিম্নলিখিত লাইনটি যুক্ত করুন:

/backup/nfs 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash)

অথবা আপনি শুধুমাত্র একটি আইপি ঠিকানায় অ্যাক্সেস সীমিত করতে পারেন:

/backup/nfs 192.168.2.24(rw,sync,no_root_squash,no_all_squash, anonuid=1000,anongid=1000) 192.168.3.100 (ro,async,no_subtree_check) 

আসুন দেখি NFS ডিরেক্টরিতে বিশেষাধিকার প্রদানের জন্য কোন প্যারামিটার ব্যবহার করা হয়:

  • rw - লেখার অনুমতি দিন, ro - শুধুমাত্র-পঠন অ্যাক্সেস প্রদান করে
  • সিঙ্ক – সিঙ্ক্রোনাস অ্যাক্সেস মোড, অসিঙ্ক মানে ডিস্কে লেখার নিশ্চিতকরণের জন্য আপনাকে অপেক্ষা করতে হবে না (এটি NFS কর্মক্ষমতা উন্নত করে, কিন্তু নির্ভরযোগ্যতা হ্রাস করে)
  • no_root_squash – রুট ব্যবহারকারীকে একটি ক্লায়েন্ট থেকে NFS ডিরেক্টরিতে অ্যাক্সেস পেতে দেয় (সাধারণত সুপারিশ করা হয় না)
  • no_all_squash – ব্যবহারকারীর প্রমাণীকরণ সক্ষম করে, all_squash - একটি বেনামী ব্যবহারকারীর অধীনে NFS শেয়ার অ্যাক্সেস করার অনুমতি দেয়
  • no_subtree_check - একটি চেক নিষ্ক্রিয় করে যে একজন ব্যবহারকারী ডিরেক্টরিতে একটি ফাইল অ্যাক্সেস করেছেন (সাবট্রি_চেক ডিফল্টরূপে ব্যবহৃত হয়)
  • অনুইড, অ্যানজিড - নির্দিষ্ট স্থানীয় ব্যবহারকারী/গ্রুপে NFS ব্যবহারকারী/গ্রুপ ম্যাপ করুন (UID অথবা GID )

নতুন NFS শেয়ার সেটিংস প্রয়োগ করতে, নিম্নলিখিত কমান্ডটি চালান:

# exportfs -a

এবং NFS সার্ভার পুনরায় চালু করুন:

# systemctl restart nfs-server

এইভাবে, আমরা আমাদের NFS সার্ভারের কনফিগারেশন শেষ করেছি এবং একটি ক্লায়েন্ট কনফিগারেশন নিয়ে এগিয়ে যেতে পারি।

CentOS-এ NFS ক্লায়েন্ট কনফিগার করা হচ্ছে

একটি NFS ক্লায়েন্ট কনফিগার করতে, আপনাকে অবশ্যই nfs-utils প্যাকেজ ইনস্টল করতে হবে।

# yum install nfs-utils -y

স্টার্টআপে পরিষেবা যোগ করুন এবং সেগুলি শুরু করুন:

# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server

তারপর একটি ক্লায়েন্টে একটি ডিরেক্টরি তৈরি করুন NFS ডিরেক্টরিতে মাউন্ট করা হবে:

# mkdir /backup

তারপর আপনি এই কমান্ডটি ব্যবহার করে দূরবর্তী NFS শেয়ার মাউন্ট করতে পারেন:

# mount -t nfs 192.168.0.100:/backup/nfs/ /backup

আপনি NFS প্রোটোকলের সংস্করণটি ব্যবহার করতে বাধ্য করতে পারেন:

# mount -t nfs -o vers=4 192.168.0.100:/backup/nfs/ /backup

যেখানে IP হল NFS সার্ভারের ঠিকানা যা আপনি আগে কনফিগার করেছেন।

Linux CentOS/RHEL-এ NFS সার্ভার এবং ক্লায়েন্ট কনফিগার করা হচ্ছে

তারপর সংযুক্ত NFS শেয়ার মাউন্ট করা ড্রাইভের তালিকায় প্রদর্শিত হবে। আপনি ডিরেক্টরিতে ডেটা পড়তে পারেন বা এটিতে লিখতে পারেন (NFS সার্ভারে আপনার IP ঠিকানার জন্য নির্ধারিত অনুমতিগুলির উপর নির্ভর করে)। রিবুটে স্বয়ংক্রিয়ভাবে NFS ডিরেক্টরি মাউন্ট করতে, আপনাকে fstab খুলতে হবে ফাইল:

# nano /etc/fstab

এবং এতে নিম্নলিখিত লাইন যোগ করুন:

192.168.0.100:/backup/nfs/ /backup/ nfs rw,sync,hard,intr 0 0

fstab সংরক্ষণ করার পরে, আপনি এই কমান্ডের সাথে এটি প্রয়োগ করতে পারেন:

# mount -a

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


  1. রকি লিনাক্স কি এবং আপনার এটি বিবেচনা করা উচিত?

  2. রেড হ্যাট লিনাক্সের জন্য অর্থ প্রদান করতে চান না? পরিবর্তে CentOS চেষ্টা করুন

  3. RHEL, CentOS এবং Fedora এর মধ্যে পার্থক্য

  4. ম্যালওয়্যার এবং রুটকিটের জন্য কীভাবে একটি লিনাক্স সার্ভার স্ক্যান করবেন