خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه راه اندازی و پیکربندی یک سرور NFS در لینوکس

یک سرور NFS به چندین سیستم اجازه می دهد تا یک سیستم فایل مستقر شده روی یک شبکه را به اشتراک بگذارند. در اینجا نحوه نصب و راه اندازی سرور NFS در لینوکس آورده شده است.

NFS (سیستم فایل شبکه) Sun Microsystems یک ساختار سیستم فایل توزیع شده مبتنی بر RPC است که به دستگاه های شبکه اجازه می دهد تا از سرورهایی که NFS را روی شبکه اجرا می کنند به عنوان درایوهای محلی خود استفاده کنند.

در اینجا یک راهنمای گام به گام برای راه اندازی و پیکربندی یک سرور NFS در یک ماشین لینوکس آورده شده است.

سیستم فایل شبکه چیست؟

فایل سیستم NFS دارای چهار پروتکل است. هنگامی که سرور آماده است، پورت مپ (سروری که پروتکل را به شماره پورت تبدیل می کند) را از پورت برای استفاده مطلع می کند و شماره برنامه RPC کنترل شده را ارائه می دهد.

هنگام استفاده از یک سیستم لینوکس تعبیه شده، به جای راه اندازی مستقیم از دستگاه ذخیره سازی (NAND flash، eMMC، MMC، و غیره) بسیار راحت است که دستگاه خود را از طریق اشتراک فایل NFS از طریق شبکه راه اندازی کنید.

اگرچه نادرتر است، اما ممکن است بخواهید پس از راه‌اندازی سیستم، اشتراک‌گذاری NFS را نیز با استفاده از آن به اشتراک بگذارید، حتی اگر سیستم خود را مستقیماً از اشتراک NFS بوت نکنید. برای اینکه هر دو سناریو کار کنند، ابتدا باید یک سرور NFS را روی رایانه ای که در حال توسعه آن هستید نصب کنید.

نحوه نصب NFS در لینوکس

اگر از یک سیستم مبتنی بر دبیان مانند اوبونتو یا لینوکس مینت استفاده می کنید، باید بسته nfs-kernel-server را به صورت زیر نصب کنید:

sudo apt install nfs-kernel-server

در آرچ لینوکس:

sudo pacman -S nfs-utils

در فدورا، CentOS و RHEL:

sudo dnf -y install nfs-utils

در پایان فرآیند، سرور NFS شما به طور خودکار اجرا می شود. با این حال، در این مرحله، هنوز نمی‌داند کدام دایرکتوری‌ها را در رایانه خود می‌خواهید از طریق شبکه به اشتراک بگذارید. بنابراین، به طور پیش فرض هیچ اشتراک گذاری را ارائه نمی دهد.

مطلب مرتبط:   4 بهترین جایگزین Google Photos خود میزبانی شده

شما می توانید چندین دایرکتوری را در یک سرور باز کنید تا امکان اشتراک گذاری شبکه با مجوزها و محدودیت های مختلف فراهم شود.

پیکربندی سرور NFS در لینوکس

برای به اشتراک گذاشتن هر دایرکتوری روی سرور NFS، لازم است تنظیمات مربوط به دایرکتوری را در فایل /etc/exports پیکربندی کنید. فایل را با هر ویرایشگر متنی دلخواه باز کنید. حتما پیشوند sudo را به دستور اضافه کنید.

sudo vim /etc/exports

add-some-configuration-exports-file-for-nfs

ممکن است تعجب کنید که گزینه های نقشه برداری که در اینجا می بینید به چه معناست:

  • root_squash: کاربران مشتری مجاز sudo را به عنوان کاربر و گروه هیچکس در NFS علامت گذاری می کند
  • no_root_squash: له کردن ریشه را غیرفعال می کند
  • all_squash: برخلاف root_squash، به همه کاربران اجازه می دهد تا به عنوان کاربر و گروه nobody نگاشت شوند. به طور کلی برای دسترسی عمومی استفاده می شود.
  • no_all_squash: متضاد all_squash; این مورد پیش فرض است

هنگامی که سیستمی خارج از محدوده IP که در فایل /etc/exports روی سرور NFS اجازه می دهید، سعی کند به منبع مربوطه دسترسی پیدا کند، سرور NFS درخواست را رد می کند.

هنگام نصب بر روی سیستم تعبیه شده خود، ممکن است پیام های “دسترسی توسط سرور ممنوع شده” دریافت کنید. پیام های خطایی شبیه به زیر در انتهای فایل /var/log/syslog در رایانه ای که سرور NFS در آن اجرا می شود ظاهر می شود:

rpc.mountd[1041]: refused mount request from192.168.2.2for /home/example/casper/target (/home/example/casper/target): unmatched host

هنگامی که یک پیام ثبت نام مشابه در میزبان مشاهده می کنید، باید بخش IP/Netmask قانون مربوطه را در فایل /etc/exports گسترش دهید یا اگر می خواهید به همه IP دسترسی بدهید، از کاراکتر ویژه ستاره (*) استفاده کنید. آدرس ها.

مطلب مرتبط:   5 دلیل برای امتحان Zorin OS (و اینکه کدام نسخه را انتخاب کنید)

پس از انجام تغییرات در فایل /etc/exports باید سرویس NFS را مجددا راه اندازی کنید:

sudo service nfs-kernel-server restart

یا اگر توزیع شما با systemctl ارسال می شود، دستور زیر را اجرا کنید:

sudosystemctlrestartnfs-server.service

همچنین می توانید پارامتر -r را به دستور exportfs بدهید تا دایرکتوری هایی را که تنظیمات مربوط به اشتراک را تغییر داده اند دوباره به اشتراک بگذارد:

sudo exportfs -r

رفع مشکل تاخیر کوه

هنگامی که از پروتکل NFS نسخه 4 و بالاتر در سرور خود استفاده می کنید، ممکن است در سناریوهای عملیاتی سنتی با پیکربندی های پیش فرض سرور NFS، تا 15 ثانیه در طول فرآیند نصب سمت سرویس گیرنده تاخیر ایجاد شود. این مشکل ممکن است در برخی از نسخه‌های دبیان، فدورا و اوبونتو ظاهر شود.

اگر با تاخیر mount مشابهی مواجه هستید، می‌توانید فایل‌های گزارش سمت سرور (/var/log/syslog، /var/log/messages) را برای پیام گزارش مشابه زیر بررسی کنید:

... RPC: AUTH_GSS upcall timed out

این پیام نشان می دهد که احراز هویت Kerberos ناموفق بوده و زمان آن تمام شده است. احتمالاً برای احراز هویت امنیتی در شبکه در محیط خود نیازی به پروتکل Kerberos ندارید. حتی اگر در شبکه ای هستید که به این روش پیکربندی شده است، حداقل با سیستم های لینوکس تعبیه شده خود، نیازی به فعال کردن احراز هویت Kerberos ندارید.

اگرچه جایگزین‌هایی برای اجرای سرویس GSSD با NFS برای رفع مشکل ارائه شده است، اما این رویکردها در همه توزیع‌ها و نسخه‌های بسته تأثیر یکسانی ندارند، و بنابراین، منطقی‌تر است که با این مشکل از ریشه مقابله کنیم.

شما باید ماژول هسته rpcsec_gss_krb5 را از بارگیری در سیستم لینوکس که در آن سرور NFS در حال اجرا است مسدود کنید (یا در لیست سیاه قرار دهید).

مطلب مرتبط:   نحوه فهرست کردن تمام پورت های فیزیکی اترنت در سرور لینوکس

برای اینکه هر بار که کامپیوتر خود را مجددا راه اندازی می کنید این گزینه اعمال شود، یک فایل جدید به نام /etc/modprobe.d/nfs-gss-blacklist.conf ایجاد کنید و خطوط زیر را به آن اضافه کنید:

blacklist rpcsec_gss_krb5

پس از ذخیره فایل و راه اندازی مجدد سیستم، مشکل تأخیر نصب برطرف خواهد شد.

چرا از سرور NFS استفاده کنیم؟

راه اندازی NFS ساده و مقرون به صرفه است. این امکان مدیریت متمرکز را فراهم می کند، که نیاز به نرم افزار اضافی و فضای ذخیره سازی را در رایانه شخصی کاربر کاهش می دهد. در یک دستگاه، چندین کاربر می توانند فضای دیسک مشابهی را به اشتراک بگذارند. آنها می توانند این دیسک ها را در بالای سیستم فایل خود قرار دهند تا فضای ذخیره سازی را افزایش دهند.

اشتراک‌گذاری NFS به برنامه‌هایی که به فضای ذخیره‌سازی زیادی نیاز دارند، اجازه می‌دهد تا در یک سرور واحد گروه‌بندی شوند. این می تواند باعث صرفه جویی زیادی در فضای دیسک شود. در حالی که نسخه‌های قبلی NFS آسیب‌پذیر هستند، نسخه‌های جدیدتر سطوح حفاظتی بیشتری از جمله احراز هویت Kerberos را معرفی کرده‌اند.

با این حال، برخی از معایب نیز وجود دارد. NFS در برخی موارد در هنگام ترافیک سنگین شبکه کند می شود. اشتراک گذاری با ویندوز امکان پذیر است، اما ممکن است به برخی از برنامه های شخص ثالث نیاز داشته باشد. اما از نظر امنیتی این عمل چندان معقولی نیست. اگر پیکربندی درست نباشد، ممکن است دسترسی غیرمجاز رخ دهد.

به اشتراک گذاری سیستم فایل در لینوکس با استفاده از NFS آسان شد

دانستن مشکلات امنیتی و یافتن راه حل یکی از حیاتی ترین وظایف یک مدیر سیستم است. دانستن رویه های امنیتی برای همه سیستم های اشتراک گذاری فایل و ابزارهای مدیریتی و نه فقط NFS ضروری است.