Network File System (NFS) یک سیستم اشتراک گذاری فایل است که امکان دسترسی به فایل از راه دور از چندین مکان در یک شبکه را فراهم می کند. برای این دسترسی، NFS از معماری کلاینت/میزبان استاندارد استفاده می کند و از اشتراک گذاری بین ماشین های لینوکس، صرف نظر از توزیع آنها، پشتیبانی می کند.
پیکربندی سمت میزبان سرویس NFS
مراحل این آموزش شامل نصب و راه اندازی NFS در اوبونتو و سایر توزیع های مبتنی بر دبیان است. سایر توزیعهای لینوکس، مانند فدورا و CentOS/RHEL، دارای دستورات کمی متفاوت هستند. با این حال، روند از همان الگو پیروی می کند.
نصب کرنل NFS
در مرحله ی اول پکیج ریپازیتوری را اپدیت نمایید:
sudo apt update
سپس با دستور زیر کرنل NFS را روی سرور نصب کنید:
sudo apt install nfs-kernel-server
“y” را تایپ کرده و ENTER را فشار دهید تا نصب شروع شود.
تنظیم دایرکتوری مشترک
در سرور میزبان، دایرکتوری را که می خواهید با سیستم مشتری به اشتراک بگذارید ایجاد کنید. هر اسمی که میخوای انتخاب کنید به صورت دلخواه.
sudo mkdir -p /mnt/nfsdir
کاربر و گروه فولدر را به nobody و nogroup تغییر دهید. این تنظیمات پوشه را عمومی می کند:
sudo chown nobody:nogroup /mnt/nfsdir
پرمیژن ها را روی 777 تنظیم کنید تا همه بتوانند فایلهای این پوشه را بخوانند، بنویسند و اجرا کنند:
sudo chmod 777 /mnt/nfsdir
ویرایش فایل کانفیگ NFS برای دسترسی دادن به کاربران
در مسیر زیر که مربوط به فایل تنظیمات دسترسی سرور کاربران به سرور میزبان NFS می باشد لازم است به منظور ایجاد دسترسی به کاربران تغییراتی ایجاد نمایید:
sudo vi /etc/exports
برای هر کاربر که می خواهید به آن دسترسی بدهید، این خط را به فایل اضافه کنید:
/mnt/nfsdir clientIP(rw,sync,no_subtree_check)
تغییرات را ذخیره نمایید و از فایل خارج گردید.
اگر میخواهید کاربران بیشتری را در همان زیرشبکه اضافه کنید، از دستور زیر استفاده نمایید:
/mnt/nfsdir subnetIP/24(rw,sync,no_subtree_check)
گزینه های داخل پرانتز عملکردهای زیر را دارند:
گزینه “rw” دسترسی خواندن و نوشتن به دایرکتوری های روی سرور را برای مشتریان فراهم می کند.
“sync”سرویس NFS را مجبور می کند تا تغییرات را قبل از پاسخ دادن به کاربر بنویسد. این گزینه تضمین می کند که وضعیت هاست به طور دقیق به کاربران ارائه می شود.
“no_subtree_check” بررسی زیردرخت را غیرفعال می کند. فرآیند زیردرخت ممکن است در هنگام تغییر نام فایل ها باعث ایجاد مشکل شود.
پس از اینکه تغییرات لازم را در /etc/exports انجام دادید، از دستور exportfs برای خروجی گرفتن از همه دایرکتوری های مشترکی که در آن فایل ثبت کرده اید استفاده کنید:
sudo exportfs -a
سپس، سرور NFS Kernel را ریستارت کنید تا تغییرات در پیکربندی اعمال گردد:
sudo systemctl restart nfs-kernel-server
اگر از UFW استفاده می کنید، باید به کاربران اجازه دسترسی به سرور را بدهید:
sudo ufw allow from [clientIP or
clientSubnetIP] to any port nfs
خروجی آیپی وارد شده را به شکل زیر نمایش میدهد:
پیکربندی NFS سمت کاربر
برای فعال کردن NFS سمت کلاینت در ابتدا بعد از آپدیت ریپازیتوری سرور لازم است بسته NFS-Common را نصب کنید:
sudo apt update
sudo apt install nfs-common
مانت کردن Share Directory
سرور کاربر به یک نقطه اتصال (Mount Point) برای دایرکتوری مشترک پابلیش شده توسط سرور میزبان نیاز دارد. از طریق دستور زیر یک دایرکتوری به این منظور ایجاد کنید:
sudo mkdir -p /mnt/nfsdir_client
و به منظور مانت کردن دستور زیر را وارد نمایید:
sudo mount host_IP:/mnt/nfsdir /mnt/nfsdir_client
از دستور df -h برای بررسی اینکه آیا پوشه را با موفقیت مانت کرده اید یا خیر استفاده کنید:
برای unmount کردن مسیرم ورد نظر از دستور زیر میتوانید استفاده نمایید:
sudo umount /mnt/nfsdir_client
مانت کردن Share Directory در بوت سیستم عامل
اگر میخواهید پوشهها حتی پس از راهاندازی مجدد دستگاه ثابت بمانند، باید آنها را به فایل /etc/fstab اضافه کنید.
به این منظور فایل fstab را با ویرایشگر متن مورد نظر خود را باز نمایید:
sudo vim /etc/fstab
خط زیر را در انتهای فایل کپی کنید و آدرس IP واقعی میزبان را جایگزین “host_IP” کنید:
host_IP:/mnt/nfsdir /mnt/nsfdir_client nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
سپاس از همراهی شما کاربران گرامی در صورت وجود ابهام از طریق بخش نظرات با ما در ارتباط باشید.