ذكري المظهر

كيفية تثبيت وتكوين خادم nfs على centos 8

إنشاء سيرفر استضافة على الكمبيوتر | الدرس 1: عمل جهاز وهمي Virtualbox

إنشاء سيرفر استضافة على الكمبيوتر | الدرس 1: عمل جهاز وهمي Virtualbox

جدول المحتويات:

Anonim

نظام ملفات الشبكة (NFS) هو بروتوكول نظام ملفات موزع يسمح لك بمشاركة الأدلة عن بعد عبر شبكة. مع NFS ، يمكنك تحميل الدلائل عن بعد على نظامك والعمل مع الملفات الموجودة على الجهاز البعيد كما لو كانت ملفات محلية.

لا يتم تشفير بروتوكول NFS افتراضيًا ، وعلى عكس Samba ، لا يوفر مصادقة المستخدم. الوصول إلى الخادم مقيد بعناوين IP أو أسماء المضيفين.

في هذا البرنامج التعليمي ، سوف تتعرف على الخطوات اللازمة لإعداد خادم NFSv4 على CentOS 8. سنعرض لك أيضًا كيفية تثبيت نظام ملفات NFS على العميل.

المتطلبات الأساسية

نحن نفترض أن لديك خادمًا يقوم بتشغيل CentOS 8 ، حيث سنقوم بإعداد خادم NFS والأجهزة الأخرى التي ستعمل كعملاء NFS. يجب أن يكون الخادم والعملاء قادرين على التواصل مع بعضهم البعض عبر شبكة خاصة. إذا كان موفر الاستضافة لا يقدم عناوين IP خاصة ، فيمكنك استخدام عناوين IP العامة وتكوين جدار حماية الخادم للسماح بحركة المرور على المنفذ 2049 فقط من مصادر موثوقة.

الأجهزة في هذا المثال لديها عناوين IP التالية:

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

إعداد خادم NFS

يشرح هذا القسم كيفية تثبيت الحزم اللازمة ، وإنشاء وتصدير أدلة NFS ، وتكوين جدار الحماية.

تثبيت خادم NFS

توفر حزمة "nfs-utils" الأدوات المساعدة والشياطين NFS لخادم NFS. لتثبيته ، قم بتشغيل الأمر التالي:

sudo dnf install nfs-utils

بمجرد اكتمال التثبيت ، قم بتمكين وبدء خدمة NFS بكتابة:

sudo systemctl enable --now nfs-server

بشكل افتراضي ، في إصدارات CentOS 8 NFS 3 و 4.x ممكّنة ، يتم تعطيل الإصدار 2. NFSv2 قديم جدًا الآن ، ولا يوجد سبب لتمكينه. للتحقق من ذلك ، قم بتشغيل الأمر cat التالي:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

يتم تعيين خيارات تكوين خادم NFS في /etc/nfsmount.conf و /etc/nfs.conf الملفات. الإعدادات الافتراضية كافية لبرنامجنا التعليمي.

إنشاء أنظمة الملفات

عند تكوين خادم NFSv4 ، من الممارسات الجيدة استخدام دليل جذر NFS عالمي وربط الدلائل الفعلية بنقطة تحميل المشاركة. في هذا المثال ، سوف نستخدم مدير /srv/nfs4 كجذر NFS.

لشرح كيفية تكوين حوامل NFS بشكل أفضل ، سنشارك دليلين ( /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 / الخ / fstab

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

تصدير أنظمة الملفات

والخطوة التالية هي تحديد أنظمة الملفات التي سيتم تصديرها من قبل خادم NFS وخيارات المشاركات والعملاء المسموح لهم بالوصول إلى أنظمة الملفات هذه. للقيام بذلك ، افتح الملف /etc/exports :

sudo nano /etc/exports

تصدير الدلائل backups www backups بالوصول فقط من العملاء على شبكة 192.168.33.0/24 :

/ الخ / الصادرات

/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 . يُسمح بالوصول إلى وحدة تخزين NFS هذه فقط للعملاء من الشبكة الفرعية 192.168.33.0/24 . crossmnt الخيار crossmnt لمشاركة الدلائل التي هي الدلائل الفرعية للدليل الذي تم تصديره.

يوضح السطر الثاني كيفية تحديد قواعد تصدير متعددة لنظام ملفات واحد. يصدر دليل /srv/nfs4/backups ويسمح فقط بالوصول للقراءة إلى نطاق 192.168.33.0/24 بأكمله ، وكلاهما لهما حق الوصول للقراءة والكتابة إلى 192.168.33.3 . يخبر خيار sync NFS بكتابة التغييرات على القرص قبل الرد.

يجب أن يكون السطر الأخير واضحاً. لمزيد من المعلومات حول جميع الخيارات المتاحة ، اكتب 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 أحد أهم الخيارات المتعلقة بأمان NFS. يمنع المستخدمين الجذر المتصلين من العملاء من الحصول على امتيازات الجذر على المشاركات المحمّلة. سيتم تعيين الجذر UID و GID إلى nobody / nogroup UID / GID .

لكي يتمكن المستخدمون على أجهزة العميل من الوصول ، تتوقع NFS أن يتطابق مع معرف المستخدم والمجموعة مع المستخدم على الخادم. خيار آخر هو استخدام ميزة idmapping NFSv4 التي تترجم معرفات المستخدم والمجموعة إلى أسماء والعكس.

هذا هو. في هذه المرحلة ، قمت بإعداد خادم NFS على خادم CentOS. يمكنك الآن الانتقال إلى الخطوة التالية وتكوين العملاء والاتصال بخادم NFS.

تكوين جدار الحماية

FirewallD هو الحل الافتراضي لجدار الحماية في Centos 8.

تتضمن خدمة NFS قواعد محددة مسبقًا للسماح بالوصول إلى خادم NFS.

ستسمح الأوامر التالية بالوصول الدائم من الشبكة الفرعية 192.168.33.0/24 :

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

الآن بعد أن تم إعداد خادم NFS ويتم تصدير المشاركات ، تقوم الخطوة التالية بتكوين العملاء وتحميل أنظمة الملفات عن بُعد.

يمكنك أيضًا تثبيت مشاركة NFS على أجهزة macOS و Windows ، لكننا سنركز على أنظمة Linux.

تثبيت عميل NFS

على أجهزة العميل ، قم بتثبيت الأدوات اللازمة لتثبيت أنظمة ملفات NFS عن بعد.

  • قم بتثبيت عميل NFS على دبيان وأوبونتو

    اسم الحزمة التي تتضمن برامج لتركيب أنظمة ملفات NFS على التوزيعات المستندة إلى دبيان هو أمر nfs-common . لتثبيته تشغيل:

    sudo apt update sudo apt install nfs-common

    تثبيت عميل NFS على CentOS و Fedora

    على ريد هات ومشتقاته تثبيت حزمة nfs-utils :

    sudo yum install nfs-utils

تركيب أنظمة الملفات

سنعمل على الجهاز العميل باستخدام IP 192.168.33.110 ، الذي يتمتع /srv/nfs4/www الوصول للقراءة والكتابة إلى نظام الملفات /srv/nfs4/www والوصول للقراءة فقط إلى نظام الملفات /srv/nfs4/backups .

قم بإنشاء دليلين جديدين لنقاط التحميل. يمكنك إنشاء هذه الدلائل في أي مكان تريده.

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

قم بتثبيت أنظمة الملفات التي تم تصديرها باستخدام الأمر 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 هو IP لملقم NFS. يمكنك أيضًا استخدام اسم المضيف بدلاً من عنوان IP ، ولكن يجب أن يكون قابلاً للحل بواسطة جهاز العميل. يتم ذلك عادةً عن طريق تعيين اسم المضيف إلى IP في ملف /etc/hosts .

عند تثبيت نظام ملفات NFSv4 ، تحتاج إلى حذف الدليل الجذر NFS ، لذلك بدلاً من /srv/nfs4/backups تحتاج إلى استخدام /backups .

تحقق من تثبيت أنظمة الملفات عن بُعد بنجاح باستخدام الأمر mount أو 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

وأضف الأسطر التالية:

/ الخ / 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

للعثور على مزيد من المعلومات حول الخيارات المتاحة عند تثبيت نظام ملفات NFS ، اكتب man nfs في جهازك الطرفي.

هناك خيار آخر لتحميل أنظمة الملفات البعيدة وهو استخدام أداة autofs أو لإنشاء وحدة systemd.

اختبار وصول NFS

دعنا نختبر الوصول إلى المشاركات عن طريق إنشاء ملف جديد في كل منها.

أولاً ، حاول إنشاء ملف اختبار إلى دليل /backups باستخدام الأمر touch :

sudo touch /backups/test.txt

يتم تصدير /backup ملف نظام /backup للقراءة فقط ، وكما هو متوقع سترى رسالة خطأ تم Permission denied :

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

بعد ذلك ، حاول إنشاء ملف اختبار إلى دليل /srv/www كجذر باستخدام الأمر sudo :

sudo touch /srv/www/test.txt

مرة أخرى ، سترى Permission denied الرسالة.

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

إن الدليل /var/www مملوك من قبل مستخدم apache ، وتحتوي هذه المشاركة على مجموعة خيارات root_squash ، والتي تعيّن المستخدم الجذر لمجموعة لا nobody المستخدمين ومجموعة nogroup التي ليس لديها أذونات الكتابة إلى المشاركة عن بُعد.

على افتراض وجود مستخدم apache على جهاز العميل بنفس UID و GID كما هو الحال على الخادم البعيد (الذي يجب أن يكون عليه الحال ، على سبيل المثال ، إذا قمت بتثبيت أباتشي على كلا الجهازين) ، يمكنك اختبار إنشاء ملف باسم المستخدم apache مع:

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

لن يعرض الأمر أي إخراج ، مما يعني أنه تم إنشاء الملف بنجاح.

للتحقق من ذلك ، قم /srv/www الملفات في دليل /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

إلغاء تحميل نظام الملفات NFS

sudo umount /backups

إذا تم تعريف نقطة التحميل في ملف /etc/fstab ، فتأكد من إزالة الخط أو التعليق عليه بإضافة # في بداية السطر.

استنتاج

في هذا البرنامج التعليمي ، أظهرنا لك كيفية إعداد خادم NFS وكيفية تركيب أنظمة الملفات عن بعد على الأجهزة العميلة. إذا كنت تنفذ NFS في إنتاج ومشاركة بيانات معقولة ، فمن المستحسن تمكين مصادقة kerberos.

كبديل لـ NFS ، يمكنك استخدام SSHFS لتركيب الدلائل عن بعد عبر اتصال SSH. يتم تشفير SSHFS بشكل افتراضي وأسهل بكثير في التكوين والاستخدام.

لا تتردد في ترك تعليق إذا كان لديك أي أسئلة.

Centos nfs جبل محطة