অ্যান্ড্রয়েড

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

কারাতে ফিটনেস (Haya jumaa) | কারাতে প্রশিক্ষণ | কারাতে শ্রেষ্ঠ | প্রশিক্ষণ শ্রেষ্ঠ

কারাতে ফিটনেস (Haya jumaa) | কারাতে প্রশিক্ষণ | কারাতে শ্রেষ্ঠ | প্রশিক্ষণ শ্রেষ্ঠ

সুচিপত্র:

Anonim

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

এনএফএস প্রোটোকলটি ডিফল্টরূপে এনক্রিপ্ট করা হয় না এবং সাম্বার বিপরীতে এটি ব্যবহারকারীর অনুমোদন সরবরাহ করে না। ক্লায়েন্টের আইপি ঠিকানা বা হোস্ট-নেম দ্বারা সার্ভারে অ্যাক্সেস সীমাবদ্ধ।

এই টিউটোরিয়ালে, আপনি CentOS 8 এ একটি এনএফএসভি 4 সার্ভার সেটআপ করার জন্য প্রয়োজনীয় পদক্ষেপগুলি অতিক্রম করবেন the আমরা আপনাকে ক্লায়েন্টে এনএফএস ফাইল সিস্টেমটি কীভাবে মাউন্ট করবেন তাও আপনাকে দেখাব।

পূর্বশর্ত

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

এই উদাহরণে মেশিনগুলির নিম্নলিখিত আইপি রয়েছে:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

এনএফএস সার্ভার সেট আপ করুন

এই বিভাগে কীভাবে প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করা যায়, এনএফএস ডিরেক্টরিগুলি তৈরি ও রফতানি করা যায় এবং ফায়ারওয়াল কনফিগার করা যায়।

এনএফএস সার্ভার ইনস্টল করা হচ্ছে

"Nfs-utils" প্যাকেজটি এনএফএস সার্ভারের জন্য এনএফএস ইউটিলিটি এবং ডেমন সরবরাহ করে। এটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

sudo dnf install nfs-utils

ইনস্টলেশনটি সম্পূর্ণ হয়ে গেলে, টাইপ করে এনএফএস পরিষেবাটি সক্ষম করুন এবং শুরু করুন:

sudo systemctl enable --now nfs-server

ডিফল্টরূপে, CentOS 8 এনএফএস সংস্করণ 3 এবং 4.x সক্ষম করা আছে, সংস্করণ 2 অক্ষম করা আছে। এনএফএসভি 2 এখন বেশ পুরানো, এবং এটি সক্ষম করার কোনও কারণ নেই। এটি যাচাই করতে নিম্নলিখিত cat কমান্ডটি চালান:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

এনএফএস সার্ভার কনফিগারেশন বিকল্পগুলি /etc/nfsmount.conf এবং /etc/nfs.conf ফাইলগুলিতে সেট করা আছে। আমাদের টিউটোরিয়ালের জন্য ডিফল্ট সেটিংস যথেষ্ট।

ফাইল সিস্টেম তৈরি করা হচ্ছে

একটি এনএফএসভি 4 সার্ভার কনফিগার করার সময়, বিশ্বব্যাপী এনএফএস রুট ডিরেক্টরি ব্যবহার করা এবং আসল ডিরেক্টরিগুলি মাউন্ট পয়েন্টে আবদ্ধ করা একটি ভাল অনুশীলন। এই উদাহরণে, আমরা /srv/nfs4 পরিচালককে এনএফএস রুট হিসাবে ব্যবহার করব।

এনএফএস মাউন্টগুলি কীভাবে কনফিগার করা যায় তা আরও ভালভাবে ব্যাখ্যা করার জন্য, আমরা দুটি কনফিগারেশন ( /var/www এবং /opt/backups ) বিভিন্ন কনফিগারেশন সেটিংসের সাথে ভাগ করতে যাচ্ছি।

/var/www/ এর মালিকানা ব্যবহারকারী এবং গ্রুপ apache এবং /opt/backups root মালিকানাধীন।

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

sudo mkdir -p /srv/nfs4/{backups, www}

আসল ডিরেক্টরিগুলি মাউন্ট করুন:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

বাইন্ড মাউন্টগুলি স্থায়ী করতে, /etc/fstab ফাইলে নিম্নলিখিত এন্ট্রি যুক্ত করুন:

sudo nano /etc/fstab / Etc / fstab ফাইলের

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

ফাইল সিস্টেম রফতানি করা হচ্ছে

পরবর্তী পদক্ষেপটি হ'ল এনএফএস সার্ভারের মাধ্যমে রফতানি করা ফাইল সিস্টেমগুলি, শেয়ার বিকল্পগুলি এবং সেই ফাইল সিস্টেমগুলিতে অ্যাক্সেসের অনুমতিপ্রাপ্ত ক্লায়েন্টদের দ্বারা সংশোধন করা হবে। এটি করতে /etc/exports ফাইলটি খুলুন:

sudo nano /etc/exports

www এবং backups ডিরেক্টরিগুলি রফতানি করুন এবং কেবলমাত্র 192.168.33.0/24 নেটওয়ার্কে ক্লায়েন্টদের অ্যাক্সেসের অনুমতি দিন:

/ Etc / exports-

/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)

প্রথম লাইনে fsid=0 রয়েছে যা এনএফএস মূল ডিরেক্টরি /srv/nfs সংজ্ঞায়িত করে। এই এনএফএস ভলিউমে অ্যাক্সেস কেবলমাত্র 192.168.33.0/24 সাবনেট থেকে ক্লায়েন্টদেরই অনুমোদিত। crossmnt ডিরেক্টরিগুলির সাব ডিরেক্টরি ডিরেক্টরিগুলি ভাগ করার জন্য crossmnt বিকল্পের প্রয়োজন।

দ্বিতীয় লাইনটি দেখায় যে কীভাবে একটি ফাইল সিস্টেমের জন্য একাধিক রফতানি বিধি নির্দিষ্ট করতে হবে। এটি /srv/nfs4/backups ডিরেক্টরিগুলি রফতানি করে এবং কেবলমাত্র 192.168.33.0/24 পরিসীমাটিতে কেবল পঠনের অ্যাক্সেসের অনুমতি দেয় এবং 192.168.33.0/24 উভয়ই পড়তে এবং লেখার অ্যাক্সেসের অনুমতি দেয়। sync বিকল্পটি এনএফএসকে উত্তর দেওয়ার আগে ডিস্কে পরিবর্তনগুলি লিখতে বলে tells

শেষ লাইনটি স্ব-ব্যাখ্যামূলক হওয়া উচিত। সমস্ত উপলভ্য বিকল্প সম্পর্কে আরও তথ্যের জন্য আপনার টার্মিনালে man exports টাইপ করুন।

ফাইলটি সংরক্ষণ করুন এবং শেয়ারগুলি রফতানি করুন:

sudo exportfs -ra

প্রতিবার আপনি /etc/exports ফাইলটি সংশোধন করার সময় আপনাকে উপরে কমান্ডটি চালানো দরকার। যদি কোনও ত্রুটি বা সতর্কতা থাকে তবে সেগুলি টার্মিনালে প্রদর্শিত হবে।

বর্তমান সক্রিয় রফতানি এবং তাদের অবস্থা দেখতে, ব্যবহার করুন:

sudo exportfs -v

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

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash এনএফএস সুরক্ষা সম্পর্কিত একটি গুরুত্বপূর্ণ বিকল্প। এটি ক্লায়েন্টদের সাথে সংযুক্ত রুট ব্যবহারকারীদের মাউন্ট করা শেয়ারগুলিতে মূল সুবিধা পেতে বাধা দেয়। এটি রুট UID এবং GID ম্যাপ করবে nobody / nogroup UID / GID

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

এটাই. এই মুহুর্তে, আপনি আপনার সেন্টস সার্ভারে একটি এনএফএস সার্ভার সেট আপ করেছেন। আপনি এখন পরবর্তী পদক্ষেপে যেতে পারেন এবং ক্লায়েন্টদের কনফিগার করতে পারেন এবং এনএফএস সার্ভারে সংযোগ করতে পারেন।

ফায়ারওয়াল কনফিগারেশন

ফায়ারওয়ালডি হ'ল সেন্টোস 8-এ ডিফল্ট ফায়ারওয়াল সমাধান।

এনএফএস সার্ভিসে এনএফএস সার্ভারে অ্যাক্সেসের অনুমতি দেওয়ার জন্য পূর্বনির্ধারিত নিয়ম রয়েছে।

নিম্নলিখিত কমান্ডগুলি স্থায়ীভাবে 192.168.33.0/24 সাবনেট থেকে অ্যাক্সেসের অনুমতি দেবে:

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

এনএফএস ক্লায়েন্ট সেট আপ করুন

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

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

এনএফএস ক্লায়েন্ট ইনস্টল করা হচ্ছে

ক্লায়েন্টের মেশিনে, দূরবর্তী এনএফএস ফাইল সিস্টেমগুলি মাউন্ট করার জন্য প্রয়োজনীয় সরঞ্জামগুলি ইনস্টল করুন।

  • দেবিয়ান এবং উবুন্টুতে এনএফএস ক্লায়েন্ট ইনস্টল করুন

    ডাবিয়ান ভিত্তিক বিতরণগুলিতে এনএফএস ফাইল সিস্টেম মাউন্ট করার জন্য যে প্যাকেজের নাম অন্তর্ভুক্ত রয়েছে সেটির নাম এনএফএস nfs-common । এটি ইনস্টল করতে চালান:

    sudo apt update sudo apt install nfs-common

    CentOS এবং ফেডোরায় এনএফএস ক্লায়েন্ট ইনস্টল করুন

    রেড হ্যাট এবং এর ডেরাইভেটিভগুলিতে nfs-utils প্যাকেজ ইনস্টল করুন:

    sudo yum install nfs-utils

মাউন্টিং ফাইল সিস্টেমগুলি

আমরা আইপি 192.168.33.110 সাথে ক্লায়েন্ট মেশিনে কাজ করব, যা /srv/nfs4/www ফাইল সিস্টেমে পড়ার এবং লেখার অ্যাক্সেস এবং /srv/nfs4/backups ফাইল সিস্টেমে /srv/nfs4/backups অ্যাক্সেস করে।

মাউন্ট পয়েন্টগুলির জন্য দুটি নতুন ডিরেক্টরি তৈরি করুন। আপনি যে কোনও জায়গায় এই ডিরেক্টরিগুলি তৈরি করতে পারেন।

sudo mkdir -p /backups sudo mkdir -p /srv/www

mount কমান্ডের সাহায্যে রফতানি হওয়া ফাইল সিস্টেমগুলি mount :

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

যেখানে 192.168.33.148 হ'ল এনএফএস সার্ভারের আইপি। আপনি আইপি ঠিকানার পরিবর্তে হোস্টনামটিও ব্যবহার করতে পারেন তবে ক্লায়েন্ট মেশিনের দ্বারা এটি সমাধানযোগ্য হওয়া দরকার। এটি সাধারণত /etc/hosts ফাইলে আইপিতে হোস্টনামটি ম্যাপিংয়ের মাধ্যমে করা হয়।

একটি এনএফএসভি 4 ফাইল সিস্টেম মাউন্ট করার সময়, আপনাকে এনএফএস রুট ডিরেক্টরি বাদ দিতে হবে, সুতরাং /srv/nfs4/backups আপনাকে /backups ব্যবহার করতে হবে।

মাউন্ট বা df কমান্ডটি ব্যবহার করে দূরবর্তী ফাইল সিস্টেমগুলি সফলভাবে মাউন্ট হয়েছে কিনা তা যাচাই করুন:

df -h

কমান্ডটি সমস্ত মাউন্ট করা ফাইল সিস্টেম মুদ্রণ করবে। শেষ দুটি লাইন মাউন্ট শেয়ারগুলি:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www

মাউন্টগুলি পুনরায় বুটে স্থায়ী করতে, /etc/fstab ফাইলটি খুলুন:

sudo nano /etc/fstab

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

/ Etc / fstab ফাইলের

192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

এনএফএস ফাইল সিস্টেম মাউন্ট করার সময় উপলভ্য বিকল্পগুলি সম্পর্কে আরও তথ্য সন্ধান করতে আপনার টার্মিনালে man nfs টাইপ করুন।

রিমোট ফাইল সিস্টেমগুলি মাউন্ট করার জন্য অন্য বিকল্পটি হয় autofs সরঞ্জামটি ব্যবহার করা বা সিস্টেমড ইউনিট তৈরি করা।

এনএফএস অ্যাক্সেস পরীক্ষা করা

আসুন সেগুলির প্রত্যেকটিতে একটি নতুন ফাইল তৈরি করে শেয়ারগুলির অ্যাক্সেসটি পরীক্ষা করি।

প্রথমে touch কমান্ডটি ব্যবহার করে /backups ডিরেক্টরিতে একটি পরীক্ষা ফাইল তৈরি করার চেষ্টা করুন:

sudo touch /backups/test.txt

/backup ফাইল সিস্টেমটি কেবল পঠন হিসাবে রফতানি করা হয় এবং প্রত্যাশার হিসাবে আপনি Permission denied ত্রুটি বার্তাটি দেখতে পাবেন:

touch: cannot touch '/backups/test': Permission denied

এর পরে, sudo কমান্ডটি ব্যবহার করে রুট হিসাবে /srv/www ডিরেক্টরিতে একটি পরীক্ষা ফাইল তৈরি করার চেষ্টা করুন:

sudo touch /srv/www/test.txt

আবার, আপনি Permission denied বার্তা দেখতে পাবেন।

touch: cannot touch '/srv/www': Permission denied

/var/www ডিরেক্টরিটি root_squash ব্যবহারকারীর মালিকানাধীন, এবং এই root_squash বিকল্প সেট রয়েছে, যা রুট ব্যবহারকারীকে কারও সাথে ব্যবহার করে না এবং nogroup গোষ্ঠীতে ম্যাপ করে যার দূরবর্তী অংশে লেখার অনুমতি নেই।

ধরে নিই যে রিমোট সার্ভারের মতো একই UID এবং GID সহ কোনও ব্যবহারকারী apache ক্লায়েন্ট মেশিনে বিদ্যমান রয়েছে (উদাহরণস্বরূপ, আপনি উভয় মেশিনে অ্যাপাচি ইনস্টল করেছেন), আপনি ব্যবহারকারী apache হিসাবে একটি ফাইল তৈরি করতে পরীক্ষা করতে পারেন সঙ্গে:

sudo -u apache touch /srv/www/test.txt

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

এটি যাচাই করতে /srv/www ডিরেক্টরিতে ফাইলগুলি তালিকাভুক্ত করুন:

ls -la /srv/www

আউটপুটটি নতুন নির্মিত ফাইলটি দেখানো উচিত:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt

এনএফএস ফাইল সিস্টেম আনমাউন্ট করা হচ্ছে

sudo umount /backups

মাউন্ট পয়েন্টটি যদি /etc/fstab ফাইলে সংজ্ঞায়িত করা হয় তবে নিশ্চিত হয়ে নিন যে আপনি লাইনটি সরিয়ে দিয়েছেন বা লাইনের শুরুতে # যোগ করে মন্তব্য করেছেন।

উপসংহার

এই টিউটোরিয়ালে, আমরা আপনাকে এনএফএস সার্ভার সেট আপ করতে এবং ক্লায়েন্ট মেশিনে রিমোট ফাইল সিস্টেমগুলি কীভাবে মাউন্ট করবেন তা আপনাকে দেখিয়েছি। আপনি যদি এনএফএস উত্পাদন এবং বুদ্ধিমান ডেটা ভাগ করে নিচ্ছেন তবে কার্বেরোস প্রমাণীকরণ সক্ষম করা ভাল ধারণা।

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

আপনার কোনও প্রশ্ন থাকলে নির্দ্বিধায় কোনও মন্তব্য করুন leave

Centos nfs মাউন্ট টার্মিনাল