نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

سرویس فایل شبکه چگونه همه چیز شروع شد

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

علاوه بر ارائه ذخیره سازی متمرکز، NFS ثابت کرده است که برای برنامه های کاربردی دیگر، از جمله کلاینت های بدون دیسک و نازک، خوشه بندی شبکه و میان افزارهای مشترک بسیار مفید است.

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

از جایی که همه چیز شروع شد...

پروتکل NFS توسط Sun Microsystems توسعه داده شد و در سال 1989 تحت عنوان RFC 1094 در اینترنت ظاهر شد: Network File System Protocol Specification (NFS). جالب است بدانید که استراتژی Novell در آن زمان بهبود بیشتر خدمات فایل بود. تا همین اواخر، در حالی که جنبش برای کدهای بازهنوز قدرتی به دست نیاورده بود، خورشید به دنبال افشای اسرار آن نبود راه حل های شبکهبا این حال، حتی در آن زمان، شرکت اهمیت اطمینان از قابلیت همکاری با سایر سیستم ها را درک کرد.

RFC 1094 شامل دو مشخصات اصلی بود. در زمان انتشار، Sun در حال توسعه نسخه سوم و بعدی مشخصات بود که در RFC 1813 "مشخصات پروتکل NFS، نسخه 3" (مشخصات پروتکل نسخه 3 NFS) آمده است. نسخه 4 این پروتکل در RFC 3010 NFS Protocol Specification نسخه 4 (NFS Version 4 Protocol) تعریف شده است.

NFS به طور گسترده در انواع هاست های یونیکس از جمله استفاده می شود شبکه های مایکروسافتو Novell، و همچنین در راه حل های IBM مانند AS400 و OS/390. ناشناخته در خارج از "پادشاهی" شبکه، NFS مسلما رایج ترین سیستم فایل شبکه مستقل از پلت فرم است.

یونیکس ژنراتور بود

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

NFS

سیستم NFS برای استفاده در معماری مشتری-سرور. کلاینت به فایل سیستم صادر شده توسط سرور NFS از طریق یک نقطه اتصال روی کلاینت دسترسی پیدا می کند. چنین دسترسی معمولاً برای برنامه مشتری شفاف است.

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

به عنوان مثال، فرض کنید یک کلاینت دایرکتوری usr2 را روی سیستم فایل ریشه محلی نصب کرده است:

/root/usr2/ -> remote:/root/usr/

اگر یک برنامه مشتری به منابع این دایرکتوری نیاز داشته باشد، به سادگی درخواستی را برای آن و نام فایل به سیستم عامل ارسال می کند که دسترسی از طریق سرویس گیرنده NFS را فراهم می کند. به عنوان مثال، دستور ساده یونیکس cd را در نظر بگیرید که در مورد پروتکل های شبکه "هیچ چیز نمی داند". تیم

سی دی /root/usr2/

دایرکتوری کار را روی سیستم فایل راه دور قرار می دهد بدون اینکه "حتی بداند" (کاربر نیز نیازی به دانستن آن ندارد) که سیستم فایل از راه دور است.

با دریافت درخواست، سرور NFSدر دسترس بودن را بررسی می کند این کاربرحق انجام عمل خواسته شده و در صورت پاسخ مثبت آن را انجام خواهد داد.

بیایید بهتر بدانیم

از دیدگاه مشتری، فرآیند نصب فایل سیستم راه دور به صورت محلی با استفاده از NFS شامل چندین مرحله است. همانطور که قبلا ذکر شد، کلاینت NFS یک فراخوان رویه راه دور برای اجرای آن در سرور ارسال می کند. توجه داشته باشید که در یونیکس کلاینت یک برنامه واحد است (فرمان mount)، در حالی که سرور در واقع به صورت چندین برنامه با حداقل مجموعه زیر پیاده سازی می شود: سرویس نگاشت پورت (نقشه نگار پورت)، mount daemon (mount daemon) و سرور NFS.

دستور mount مشتری ابتدا با سرویس ترجمه پورت سرور ارتباط برقرار می کند که به درخواست ها در پورت 111 گوش می دهد. اکثر پیاده سازی های دستور mount مشتری از نسخه های متعدد NFS پشتیبانی می کنند و این احتمال را افزایش می دهد که کلاینت و سرور یک نسخه پروتکل مشترک را پیدا کنند. جستجو از قدیمی‌ترین نسخه شروع می‌شود، بنابراین وقتی یک نسخه رایج پیدا شد، به طور خودکار به جدیدترین نسخه پشتیبانی شده توسط مشتری و سرور تبدیل می‌شود.

(این مطالب بر روی نسخه سوم NFS متمرکز شده است، زیرا بیشتر روی آن رایج است این لحظه. نسخه 4 هنوز توسط اکثر پیاده سازی ها پشتیبانی نمی شود.)

سرویس ترجمه پورت سرور طبق پروتکل پشتیبانی شده و پورتی که mount daemon روی آن اجرا می شود به درخواست ها پاسخ می دهد. برنامه mount کلاینت ابتدا با mount daemon سرور ارتباط برقرار می کند و سپس دستور mount را از طریق RPC برای آن ارسال می کند. اگر یک این رویهپس با موفقیت تکمیل شد برنامه مشتریبه یک سرور NFS (پورت 2049) متصل می شود و با استفاده از یکی از 20 رویه راه دور تعریف شده در RFC 1813 و فهرست شده در جدول 1، به سیستم فایل راه دور دسترسی پیدا می کند.

معنی اکثر دستورات بصری است و هیچ مشکلی برای آن ایجاد نمی کند مدیران سیستم. فهرست زیر که با استفاده از tcdump به دست آمده است، دستور خواندن را نشان می دهد. توسط تیم ایجاد شده استیونیکس cat برای خواندن فایلی به نام test-file:

10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 مراجعه fh 32.0/ 224145 "test-file" 10:30:16.012010 eth0 > 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 Lookup FH 32.0/ 224145 "FILE TEST" 10: 30: 16.012729 ETH0 192.168.1.254.3476097947: پاسخ OK 128 LEEKUP FH 32.0/ 224 307 (DF0) : پاسخ خوب 128 مراجعه fh 32.0/224307 (DF) 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 خوانده شده fh 32.0/ 224307 4096 بایت @ 0 10:30:16.013124 eth0 > 192.168.1.254. 3492875163> 192.168.1.252.2049: 140 بخوانید FH 32.0/ 224307 4096 BYTES @ 0: 30.013650 ETH0 192.168.28.254.3492875163: پاسخ OK 108 خوانده شده (DF) 10: 30.013650 ETH0 .16LA: پاسخ خوب 108 خوانده شده (DF)

NFS به طور سنتی بر روی UDP پیاده سازی شده است. با این حال، برخی از نسخه های NFS از TCP پشتیبانی می کنند (پشتیبانی TCP در مشخصات پروتکل تعریف شده است). مزیت اصلی TCP مکانیزم ارسال مجدد کارآمدتر در شبکه های غیر قابل اعتماد است. (در مورد UDP، اگر خطایی رخ دهد، پیام RPC کامل، متشکل از چندین بسته UDP، دوباره ارسال می شود. با TCP، تنها قطعه خراب دوباره ارسال می شود.)

دسترسی به NFS

پیاده سازی های NFS معمولاً از چهار روش اعطای حقوق دسترسی پشتیبانی می کنند: از طریق ویژگی های کاربر/فایل، در سطح اشتراک، در سطح گره اصلی، و به عنوان ترکیبی از روش های دسترسی دیگر.

روش اول بر سیستم داخلی یونیکس مجوزهای فایل برای یک کاربر یا گروه تکیه دارد. برای ساده سازی تعمیر و نگهداری، شناسایی کاربر و گروه باید در همه سرویس گیرندگان و سرورهای NFS یکسان باشد. امنیت باید به دقت مورد توجه قرار گیرد: NFS می‌تواند به طور ناخواسته به فایل‌هایی که در زمان ایجاد آن‌ها در نظر گرفته نشده‌اند، دسترسی دهد.

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

دسترسی در سطح گره اصلی به شما امکان می دهد سیستم فایل را فقط بر روی گره های خاص نصب کنید، که به طور کلی، یک ایده خوبزیرا سیستم های فایل را می توان به راحتی بر روی هر میزبانی که از NFS پشتیبانی می کند ایجاد کرد.

دسترسی ترکیبی به سادگی انواع توصیف شده در بالا را ترکیب می کند (به عنوان مثال، دسترسی در سطح منابع مشترک با دسترسی ارائه شده توسط کاربر خاص) یا به کاربران اجازه دهید فقط از یک میزبان خاص به NFS دسترسی داشته باشند.

سبک پنگوئن NFS

مطالب مرتبط با لینوکس ارائه شده در اینجا بر اساس سیستم Red Hat 6.2 با هسته نسخه 2.4.9 است که با نسخه 0.1.6 بسته nfs-utils عرضه می شود. نسخه های جدیدتر نیز وجود دارد: در زمان نگارش این مقاله، بیشترین اخرین بروزرسانیبسته nfs-utils شماره 0.3.1 بود. قابل دانلود در: .

بسته nfs-utils شامل باینری های زیر است: exportfs، lockd، mountd، nfsd، nfsstat، nhfsstone، rquotad، showmount و statd.

متأسفانه، پشتیبانی NFS گاهی اوقات برای مدیران لینوکس گیج کننده است، زیرا در دسترس بودن یک ویژگی خاص به طور مستقیم به شماره نسخه هسته و بسته nfs-utils بستگی دارد. خوشبختانه، اکنون اوضاع در این زمینه در حال بهبود است: جدیدترین کیت های توزیع شامل آخرین نسخه های هر دو است. برای نسخه های قبلی، بخش 2.4 NFS-HOWTO ارائه می دهد لیست کاملعملکرد سیستم برای هر ترکیبی از هسته و بسته nfs-utils موجود است. پشتیبانی توسعه دهندگان سازگار با عقببسته با نسخه های قبلی، با تمرکز قوی بر امنیت و رفع اشکال.

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

برای توزیع هایی که از linuxconf پشتیبانی می کنند، پیکربندی سرویس های NFS هم برای کلاینت ها و هم برای سرورها آسان است. با این حال، راه‌اندازی سریع NFS با استفاده از linuxconf اطلاعاتی در مورد فایل‌هایی که ایجاد یا ویرایش شده‌اند را ارائه نمی‌کند، که دانستن آن برای مدیر برای درک وضعیت در صورت خرابی سیستم بسیار مهم است. معماری NFS در لینوکس به طور ضعیفی با نسخه BSD همراه است، بنابراین فایل‌ها و برنامه‌های پشتیبانی لازم برای مدیرانی که BSD، Sun OS 2.5 یا نسخه‌های قبلی NFS را اجرا می‌کنند، به راحتی پیدا می‌شوند.

فایل /etc/exports، مانند موارد دیگر نسخه های اولیه BSD سیستم های فایلی را تعریف می کند که کلاینت های NFS مجاز به دسترسی هستند. علاوه بر این، شامل یک عدد است ویژگی های اضافیمرتبط با مسائل مدیریتی و امنیتی، فراهم کردن ابزاری برای مدیر تنظیم دقیق. آی تی فایل متنی، متشکل از ورودی ها، خطوط خالی یا خطوط نظر داده شده (نظرات با # شروع می شوند).

فرض کنید می خواهیم به کلاینت ها دسترسی فقط خواندنی به دایرکتوری home/در میزبان Lefty بدهیم. این با ورودی زیر در /etc/exports مطابقت دارد:

/home (ro)

در اینجا باید به سیستم بگوییم که کدام دایرکتوری ها را با استفاده از mount daemon rpc.mountd در دسترس قرار می دهیم:

# exportfs -r exportfs: هیچ نام میزبان در /home (ro) مشخص نشده است، برای جلوگیری از هشدار #*(ro) را تایپ کنید.

هنگام اجرا، دستور exportfs هشدار می‌دهد که /etc/exports دسترسی به یک گره خاص را محدود نمی‌کند و یک ورودی متناظر در /var/lib/nfs/etab از /etc/exports ایجاد می‌کند که می‌گوید کدام منابع را می‌توان با cat مشاهده کرد:

# cat /var/lib/nfs/etab /home (ro,async,wdelay,hide,secure,root_squash, no_all_squash,subtree_check, safe_locks, mapping=identity,anonuid= -2,anongid=-2)

سایر گزینه های فهرست شده در etab شامل پیش فرض های استفاده شده توسط NFS می شود. جزئیات در زیر توضیح داده خواهد شد. برای اعطای دسترسی به فهرست /home، خدمات NFS مناسب باید راه اندازی شود:

# portmap # rpc.mountd # rpc.nfsd # rpc.statd # rpc.rquotad

در هر زمانی پس از شروع mount daemon (rpc.mountd)، می توانید با مشاهده محتویات فایل /proc/fs/nfs/exports، در مورد فایل های جداگانه موجود برای خروجی پرس و جو کنید:

# cat /proc/fs/nfs/exports # نسخه 1.0 # Path Client(Flags) # IPs /home 192.168.1.252 (ro,root_squash,async, wdelay) # 192.168.1.252 #

همین مورد را می توان با استفاده از دستور showmount با گزینه -e مشاهده کرد:

# showmount -e لیست صادرات برای چپ: /home (همه) #

کمی جلوتر، دستور showmount را می‌توان برای تعیین تمام فایل‌سیستم‌های نصب‌شده یا به عبارت دیگر، برای یافتن اینکه کدام میزبان‌ها برای سیستمی که فرمان showmount را اجرا می‌کند، کلاینت‌های NFS هستند، استفاده کرد. دستور showmount -a تمام نقاط نصب مشتری را فهرست می کند:

# showmount -a همه نقاط نصب در سمت چپ: 192.168.1.252:/home #

همانطور که در بالا ذکر شد، اکثر پیاده سازی های NFS از نسخه های مختلف این پروتکل پشتیبانی می کنند. پیاده سازی لینوکس به شما امکان می دهد لیست نسخه های NFS را که با تعیین گزینه -N برای mount daemon اجرا می شوند، محدود کنید. به عنوان مثال، برای شروع NFS نسخه 3 و فقط نسخه 3، دستور زیر را وارد کنید:

# rpc.mountd -N 1 -N 2

کاربران انتخابیممکن است ناخوشایند به نظر برسد که شبح NFS (rpc.nfsd) در لینوکس منتظر بسته های نسخه 1 و نسخه 2 باشد، اگرچه این کار به اثر مطلوب عدم پشتیبانی از پروتکل مربوطه می رسد. امیدواریم توسعه دهندگان نسخه های بعدی اصلاحات لازم را انجام دهند و بتوانند به هماهنگی بیشتری بین اجزای بسته در رابطه با نسخه های مختلف پروتکل دست یابند.

"شنا با پنگوئن"

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

با ویژگی هایی که از Solaris 2.6 به ارث رسیده است، پیکربندی آن برای عمل به عنوان یک سرویس گیرنده NFS آسان است. این فقط به یک دستور نیاز دارد:

# mount -F nfs 192.168.1.254:/home /tmp/tmp2

با فرض موفقیت آمیز بودن دستور mount قبلی، دستور mount بدون گزینه خروجی زیر را خواهد داشت:

# mount / در /dev/dsk/c0t0d0s0 read/write/setuid/ largefiles در دوشنبه 3 سپتامبر 10:17:56 2001 ... ... /tmp/tmp2 در 192.168.1.254:/home read/ write/remote on دوشنبه 3 سپتامبر 2001، 23:19:25

اجازه دهید خروجی tcpdump را در هاست Lefty پس از اینکه کاربر دستور ls /tmp/tmp2 را در میزبان Sunny وارد کرد، تجزیه و تحلیل کنیم:

# tcpdump host lefty و host sunny -s512 06:07:43.490583 sunny.2191983953 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:07:43.490678 sunny.ncwrite >sunny.ncwrite.nfs 2191983953: reply ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:07:43.491397 mcwrite.n.nfs > sunny.2191983954: reply ok 120 access c0001 (DF) 06:07:43.492296 sunny.2191983955 > lefty .mcwrite.n.nfs: 152 readdirplus fh 0.1/16777984 1048 بایت @ 0x000000000 (DF) 06:07:43.492417 lefty.mcwrite.n.nfs 0.1/16777984 re ready.

می بینیم که گره Sunny یک توصیفگر فایل (fh) برای ls می خواهد که گره Lefty در پاسخ OK می فرستد و ساختار دایرکتوری را برمی گرداند. سپس Sunny مجوز محتویات دایرکتوری را بررسی می کند (132 دسترسی fh) و یک پاسخ مجوز از Lefty دریافت می کند. سپس گره Sunny محتویات کامل دایرکتوری را با استفاده از رویه readdirplus می خواند. فراخوانی روش از راه دور در RFC 1813 توضیح داده شده است و در ابتدای این مقاله ذکر شده است.

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

ساده ترین راه برای عیب یابی مشکلات در سرور، از طریق میزبانی است که سرور در آن در حال اجرا است. با این حال، هنگامی که شخص دیگری به جای شما سرور را مدیریت می کند، این همیشه امکان پذیر نیست. یک راه سریع برای اطمینان از اینکه سرویس های سرور مناسب به درستی پیکربندی شده اند، استفاده از دستور rpcinfo با گزینه -p است. از میزبان Solaris Sunny، می توانید تعیین کنید که کدام فرآیندهای RPC در هاست لینوکس ثبت شده است:

# RPCINFO -P 192.168.1.254 برنامه در مقابل سرویس Proto Port 100000 2 TCP 111 RPCBIND 100000 2 UDP 111 RPCBIND 100024 1 UDP 692 وضعیت 100024 1 TCP 694 وضعیت 1024 MUUNTD /100005 3 TCP 1024 MUUDD /10000 UUDD nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

توجه داشته باشید که اطلاعات نسخه نیز در اینجا ارائه شده است که در مواقعی که سیستم نیاز به پشتیبانی از پروتکل های مختلف NFS داشته باشد بسیار مفید است. اگر هر سرویسی روی سرور اجرا نمی شود، این وضعیت باید اصلاح شود. اگر mount ناموفق باشد، دستور rpcinfo -p زیر به شما می‌گوید که سرویس mountd روی سرور از کار افتاده است:

# rpcinfo -p 192.168.1.254 برنامه نسخه پروتو پورت سرویس 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

دستور rpcinfo برای پی بردن به یک مورد خاص بسیار مفید است فرآیند از راه دور. گزینه -p مهمترین سوئیچ است. برای مشاهده تمامی ویژگی های rpcinfo به صفحه مرد مراجعه کنید.

دیگر ابزار مفید- دستور nfsstat. با کمک آن می توانید متوجه شوید که آیا کلاینت ها واقعاً به سیستم فایل صادر شده دسترسی دارند یا خیر و همچنین اطلاعات آماری را مطابق نسخه پروتکل نمایش دهید.

بالاخره یک مورد دیگر کافی است ابزار مفیدتعیین علل خرابی سیستم tcpdump است:

# tcpdump میزبان lefty و میزبان sunny -s512 tcpdump: گوش دادن در eth0 06:29:51.773646 sunny.2191984020 > lefty.mcwrite.n.nfs: 140 جستجو fh ناشناخته/1"test.c" (DF:37:519) 0 lefty.mcwrite.n.nfs > sunny.2191984020: پاسخ خوب 116 خطای جستجو: چنین فایل یا دایرکتوری وجود ندارد (DF) 06:29:51.774593 sunny.2191984021 > lefty.mcwrite.n.nfs.n.nfs1h: ( DF) 06:29:51.774670 lefty.mcwrite.n.nfs > sunny.2191984021: پاسخ خوب : 140 مراجعه fh ناشناخته/1"test.c" (DF) 06:29:51.775357 lefty.mcwrite.n.nfs > sunny.2191984022: پاسخ خوب 116 خطا جستجو: چنین فایل یا دایرکتوری وجود ندارد (DF) 06:29: 51.776029 sunny.2191984023 > lefty.mcwrite.n.nfs: 184 create fh Unknown/1 "test.c" (DF) 06:29:51.776169 lefty.mcwrite.n.nfs > sunny.21919 06:29:51.776169 مجوز رد شد (DF)

لیست بالا که پس از اجرای دستور touch test.c به دست آمده است، دنباله اقدامات زیر را نشان می دهد: ابتدا دستور touch سعی می کند به فایلی با نام test.c دسترسی پیدا کند، سپس به دنبال دایرکتوری با همین نام می گردد و بعد از آن تلاش های ناموفقسعی می کند فایل test.c را ایجاد کند که این کار نیز ناموفق است.

اگر سیستم فایل نصب شده باشد، بیشتر خطاهای رایج مربوط به مجوزهای معمولی یونیکس است. استفاده Sun از uid یا NIS+ از تنظیم مجوزها به صورت سراسری در همه سیستم‌های فایل جلوگیری می‌کند. برخی از مدیران دایرکتوری های "باز" ​​را تمرین می کنند، جایی که مجوز خواندن آنها به "کل جهان" داده می شود. با این حال، به دلایل امنیتی باید از این کار اجتناب شود. از نگرانی‌های امنیتی که بگذریم، این هنوز یک روش بد است، زیرا کاربران به ندرت داده‌هایی را با هدف خواندن آن‌ها توسط همه ایجاد می‌کنند.

دسترسی‌های یک کاربر ممتاز (ریشه) به سیستم‌های فایل نصب‌شده NFS به گونه‌ای متفاوت رفتار می‌شود. برای جلوگیری از اعطای دسترسی نامحدود به یک کاربر ممتاز، با درخواست‌های کاربر ممتاز به‌گونه‌ای رفتار می‌شود که گویی از طرف کاربر «هیچ‌کس» است. این مکانیسم قدرتمند دسترسی کاربر ممتاز را به فایل‌های قابل خواندن و نوشتن در سطح جهانی محدود می‌کند.

سرور NFS، نسخه سولاریس

پیکربندی Solaris برای عمل به عنوان یک سرور NFS به آسانی لینوکس است. با این حال، دستورات و مکان فایل ها کمی متفاوت است. هنگامی که Solaris بوت می شود، هنگامی که به سطح بوت 3 می رسد، خدمات NFS به طور خودکار شروع می شود و همه سیستم های فایل صادر می شوند. برای شروع دستی این فرآیندها، دستور را وارد کنید:

#/usr/lib/nfs/mountd

برای شروع mount daemon و سرور NFS، تایپ کنید:

#/usr/lib/nfs/nfsd

با شروع نسخه 2.6، Solaris دیگر از فایل صادراتی برای تعیین اینکه کدام سیستم فایل را صادر کند، استفاده نمی کند. اکنون فایل ها با استفاده از دستور share صادر می شوند. فرض کنید می خواهیم به هاست های راه دور اجازه مونت /export/home را بدهیم. برای این کار دستور زیر را وارد کنید:

-F nfs /export/home را به اشتراک بگذارید

تمهیدات امنیتی

امنیت در لینوکس

برخی از سرویس‌های سیستم NFS مبتنی بر لینوکس مکانیسم اضافی برای محدود کردن دسترسی از طریق لیست‌ها یا جداول کنترل دارند. در سطح داخلی، این مکانیسم با استفاده از کتابخانه tcp_wrapper، که از دو فایل برای تشکیل لیست های کنترل دسترسی استفاده می کند، پیاده سازی می شود: /etc/hosts.allow و /etc/hosts/deny. مروری جامع بر قوانین کار با tcp_wrapper خارج از محدوده این مقاله است، اما اصل اساسی به شرح زیر است: تطبیق ابتدا با etc/hosts.allow و سپس با /etc/hosts انجام می شود. انکار. اگر قانون پیدا نشد، سرویس سیستم درخواستی ارائه نمی شود. برای دور زدن آخرین نیازو برای اطمینان از امنیت بسیار بالا، می توانید ورودی زیر را به انتهای /etc/hosts.deny اضافه کنید:

ALL: همه

پس از آن می توان از /etc/hosts.allow برای تنظیم این یا آن حالت عملیات استفاده کرد. به عنوان مثال، فایل /etc/hosts. اجازه، که هنگام نوشتن این مقاله از آن استفاده کردم، حاوی خطوط زیر بود:

lockd:192.168.1.0/255.255.255.0 mountd:192.168.1.0/255.255.255.0 portmap:192.168.1.0/255.255.255.0 rquotad:192.168.1.0.192.168.1.0/255.255.255.0 rquotad:192.1.06.

این اجازه می دهد تا نوعی دسترسی به گره ها قبل از اعطای دسترسی در سطح برنامه. AT دسترسی به لینوکسدر سطح برنامه، فایل /etc/exports را کنترل می کند. این شامل مدخل هایی در قالب زیر است:

صادرات دایرکتوری (فضا) میزبان|شبکه(گزینه ها)

دایرکتوری صادر شده دایرکتوری است که شبح nfsd مجاز به پردازش درخواستی است. "میزبان|شبکه" میزبان یا شبکه ای است که به سیستم فایل صادر شده دسترسی دارد و "گزینه ها" تعیین می کند که دیمون nfsd چه محدودیت هایی را برای استفاده از این دسترسی فقط خواندنی منبع مشترک یا نگاشت شناسه کاربر اعمال می کند.

مثال زیر به کل دامنه mcwrite.net دسترسی فقط خواندنی به /home/mcwrite.net می دهد:

/home/mcwrite.net *.mcwrite.net(ro)

نمونه‌های بیشتر را می‌توانید در صفحه مرد صادرات پیدا کنید.

امنیت NFS در سولاریس

در سولاریس، امکان دسترسی به NFS مشابه لینوکس است، اما در این حالت، محدودیت‌هایی با استفاده از گزینه‌های خاصی در دستور اشتراک‌گذاری با سوئیچ -o تنظیم می‌شود. مثال زیر نحوه فعال کردن نصب فقط خواندنی /export/mcwrite.net را در هر میزبانی در دامنه mcwrite.net نشان می‌دهد:

#share -F nfs -o ro=.mcwrite.net/ export/ mcwrite.net

صفحه مرد share_nfs نحوه اعطای دسترسی با استفاده از لیست های کنترل در Solaris را شرح می دهد.

منابع اینترنتی

NFS و RPC بدون «سوراخ» نبودند. به طور کلی، NFS نباید در اینترنت استفاده شود. با اجازه دادن به هر نوع دسترسی از طریق NFS نمی توانید فایروال ها را سوراخ کنید. همه وصله‌های RPC و NFS باید به دقت نظارت شوند و منابع اطلاعاتی امنیتی متعددی می‌توانند به شما کمک کنند. دو منبع محبوب Bugtraq و CERT هستند:

اولین مورد را می توان به طور منظم در جستجوی مشاهده کرد اطلاعات لازمیا در یک خبرنامه دوره ای مشترک شوید. دومی، شاید در مقایسه با دیگران، اطلاعات نه چندان سریع، اما به اندازه کافی ارائه می دهد تمام و کمالو بدون لمس احساسات، مشخصه برخی از سایت های اختصاص داده شده به امنیت اطلاعات است.

در اینجا، بعدی چیست؟ چگونه فیلم ببینیم و گوش کنیم فایل های موسیقیکه دانلود شده؟ آیا واقعاً لازم است آنها را روی دیسک رایت کنیم و به این ترتیب به رایانه ای با رابط کاربری گرافیکی منتقل کنیم؟ یا باید آنها را روی SFTP کند کپی کنید؟ نه! NFS به کمک می آید! نه، این یک سری از بازی های مسابقه ای نیست، بلکه سیستم فایل شبکه (سیستم فایل شبکه) است.
شبکه فایل سیستم (NFS) یک سیستم فایل شبکه است که به کاربران اجازه می دهد به فایل ها و دایرکتوری های واقع در آن دسترسی داشته باشند کامپیوترهای راه دور، گویی آن فایل ها و دایرکتوری ها محلی هستند. مزیت اصلی چنین سیستمی این است که ایستگاه های کاری فردی می توانند کمتر از فضای دیسک خود استفاده کنند، زیرا داده های مشترک در دستگاه جداگانهو در دسترس سایر ماشین های موجود در شبکه است. NFS یک برنامه مشتری/سرور است. یعنی یک کلاینت NFS باید بر روی سیستم کاربر و روی رایانه هایی که آنها را ارائه می کنند نصب شود فضای دیسک- سرور NFS

نصب و پیکربندی سرور NFS (192.168.1.2)

1. نصب کنید. با اتصال از طریق SSH به رایانه سرور یا به سادگی وارد کنسول آن شوید:

sudo apt-get install nfs-kernel-server nfs-common portmap

با این کار سرور NFS و همچنین بسته پورت مپ مورد نیاز نصب می شود.

2. راه اندازی کنید. برای سفارشی کردن لیست دایرکتوری هایی که می خواهیم باز کنیم و لیستی که می خواهیم آنها را باز کنیم، فایل را ویرایش می کنیم. /etc/exports :

Sudo nano /etc/exports /data 192.168.1.1/24(rw,no_root_squash,async)

در مثال بالا یک دایرکتوری روی سرور باز کردیم /داده ها و زیرشاخه های آن با تمام رایانه های دارای IP به اشتراک گذاشته شود: 192.168.1.1 - 192.168.1.255 با مجوزهای خواندن و نوشتن.

مثالی دیگر:

‎/home/serg/192.168.1.34(ro,async)

این مثال در دسترس قرار می دهد دایرکتوری خانهسرویس کاربر در حالت فقط خواندنی برای رایانه با IP 192.168.1.34. همه رایانه های دیگر در شبکه به این فهرست دسترسی نخواهند داشت.

گزینه های موجود:

  • ro - مجوزهای فقط خواندنی. نمی توان آن را مشخص کرد، زیرا به طور پیش فرض نصب شده است.
  • rw به مشتریان اجازه نوشتن می دهد
  • no_root_squash - پیش فرض کاربر ریشهدر ماشین کلاینت به دایرکتوری های باز روی سرور دسترسی نخواهد داشت. با این گزینه این محدودیت را حذف می کنیم. به دلایل امنیتی، بهتر است این کار را انجام ندهید.
  • noaccess - دسترسی به دایرکتوری مشخص شده را رد می کند. این می تواند مفید باشد اگر قبلاً دسترسی همه کاربران شبکه را به یک فهرست خاص تنظیم کرده باشید، و اکنون می خواهید دسترسی در یک زیر شاخه را فقط برای برخی از کاربران محدود کنید.

اکنون باید nfs-kernel-server را مجددا راه اندازی کنید:

sudo /etc/init.d/nfs-kernel-server راه اندازی مجدد

اگر بعد از آن می خواهید چیزی را در فایل تغییر دهید /etc/exports ، سپس برای اعمال تغییرات کافیست دستور زیر را اجرا کنید:

sudo exportfs -a

همه چيز. سرور NFS نصب و پیکربندی شد. می توانید به سرویس گیرنده NFS تغییر دهید.

نصب و پیکربندی کلاینت NFS

1. نصب و راه اندازی. ما موارد زیر را در ترمینال رایانه ای که متصل می شود اجرا می کنیم:

sudo apt-get نصب portmap nfs-common

2. تنظیم. ابتدا، اجازه دهید یک دایرکتوری ایجاد کنیم که پوشه راه دور در آن نصب شود:

داده های cd ~ mkdir

شما می توانید به دو روش Mount کنید - هر بار به صورت دستی یا با نوشتن گزینه های mount در یک فایل /etc/fstab.

روش 1. نصب دستی
یک فایل متنی روی دسکتاپ یا در پوشه دیگری ایجاد کنید:

nano ~/Desktop\desktop/nfs-server-connect

ما به آن می نویسیم:

#! /bin/bash sudo mount -t nfs -o ro,soft,intr 192.168.1.2:/data ~/data

قابل اجرا کردن:

Chmod +x ~/Desktop\desktop/nfs-server-connect

الان که باید به سرور وصل بشم این اسکریپت رو تو ترمینال اجرا میکنم تا بتونم پسورد sudo رو وارد کنم.

روش 2: افزودن به /etc/fstab
/etc/fstab را باز کنید:

sudo nano /etc/fstab

و یک خط در انتهای فایل اضافه کنید:

192.168.1.2:/data ~/data nfs rw,hard,intr 0 0

توجه! 192.168.1.2:/data را با IP یا نام سرور و مسیر دایرکتوری مشترک جایگزین کنید. گزینه های نصب را می توان تغییر داد.

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

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

NFS ( سیستم فایل شبکه) عمدتا برای طراحی شده است اشتراک گذاریفایل هاو پوشه هابین / یونیکسسیستم ها از سان میکروسیستمکه در 1980. این به شما امکان می‌دهد فایل‌سیستم‌های محلی را روی شبکه و میزبان‌های راه دور نصب کنید تا با آن‌ها ارتباط برقرار کنید، گویی به صورت محلی روی یک سیستم نصب شده‌اند. با استفاده از NFS، می توانیم اشتراک گذاری فایل را بین آنها تنظیم کنیم یونیکسکه در لینوکسسیستم و لینوکسبرای سیستم یونیکس.

مزایای NFS

  1. NFSدسترسی محلی به فایل های راه دور ایجاد می کند.
  2. از معماری استاندارد استفاده می کند مشتری/سروربرای تبادل فایل بین همه ماشین ها بر اساس * NIX.
  3. با استفاده از NFSنیازی نیست که هر دو دستگاه روی یکسان کار کنند سیستم عامل.
  4. با استفاده از NFSما می توانیم راه حل را سفارشی کنیم ذخیره سازی متمرکز.
  5. کاربران خود را دریافت می کنند داده هابدون توجه به موقعیت فیزیکی آنها.
  6. خودکار به روز رسانیبرای فایل های جدید
  7. نسخه جدیدتر NFSاز نصب پشتیبانی می کند acl, شبهزیر ریشه
  8. قابل محافظت است فایروال هاو کربروس.

خدمات NFS

سرویس سیستم V راه اندازی شد. بسته سرور NFSشامل سه ابزار موجود در بسته ها می باشد پورت مپو nfs-utils.

  1. پورت مپ: تماس های برقرار شده از سایر ماشین ها را به نمایش می دهد خدمات مناسب RPC(لازم نیست با NFSv4).
  2. nfs: درخواست های راه دور را تبدیل می کند دسترسی عمومیبه فایل هابه پرس و جو در سیستم فایل محلی.
  3. rpc.mountd: این سرویس مسئول است نصبو باز کردنسیستم های فایل

فایل های پیکربندی مهم برای NFS

  1. /etc/exports: فایل کانفیگ اصلی آن NFS، همه صادر شده است فایل هاو کاتالوگ ها، که در این فایل و در تعریف شده اند سرور NFS مقصد.
  2. /etc/fstab: سوار شدن دایرکتوری NFSدر سیستم شما بدون راه اندازی مجدد، باید به آن بنویسیم /etc/fstab.
  3. /etc/sysconfig/nfs: فایل پیکربندی NFSبرای کنترل کدام پورت RPCو خدمات دیگر استماع.

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

برای راه اندازی یک مانت NFSما نیاز خواهیم داشت حداقل، در دو ماشین لینوکس/یونیکس. در اینجا در این آموزش از دو سرور استفاده خواهیم کرد.

  1. سرور NFS: nfsserver.example.ru با IP - 192.168.0.55
  2. سرویس گیرنده NFS: nfsclient.example.ru با IP - 192.168.0.60

نصب سرور NFS و سرویس گیرنده NFS

ما باید بسته ها را نصب کنیم NFSبر روی ... ما سرور NFSو همچنین با ماشین سرویس گیرنده NFS. ما می توانیم آن را با " " تنظیم کنیم ( کلاه قرمزلینوکس) و بسته نصب " apt-get” (دبیانو اوبونتو).

# yum install nfs-utils nfs-utils-lib # yum install portmap (با NFSv4 لازم نیست) # apt-get install nfs-utils nfs-utils-lib

حالا اجرا کنید خدماتروی هر دو ماشین

# /etc/init.d/portmap start # /etc/init.d/nfs start # chkconfig --level 35 portmap on # chkconfig --level 35 nfs on

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

راه اندازی سرور NFS

بیایید ابتدا سرور را راه اندازی کنیم NFS.

راه اندازی دایرکتوری صادرات

# mkdir /nfsshare

حالا باید بنویسیم به " /etc/exportsراه اندازی مجددخدماتی برای به اشتراک گذاشتن دایرکتوری ما در سراسر شبکه.

# vi /etc/exports /nfsshare 192.168.0.60 (rw, sync, no_root_squash)

در مثال بالا، یک دایرکتوری در زیر وجود دارد / با عنوان " nfsshare"، در حال حاضر با IP مشتری به اشتراک گذاشته شده است" 192.168.0.60 ” با امتیازات خواندنو سوابق (RW)، همچنین می توانید استفاده کنید نام میزباندر عوض مشتری IPدر مثال بالا

گزینه های NFS

برخی از گزینه های دیگر که می توانیم در فایل ها استفاده کنیم /etc/exports” برای اشتراک گذاری فایل به شرح زیر است.

  1. ro: با این گزینه می توانیم ارائه دهیم دسترسی فقط خواندنیبه فایل های مشترک، یعنی مشتریفقط قادر خواهد بود خواندن.
  2. rw: این گزینه اجازه می دهد مشتری به سروردسترسی برای هر دو خواندنو سوابقدر فهرست عمومی
  3. همگام سازی: همگام سازی درخواست ها را به دایرکتوری مشترک فقط بعد از آن تایید می کند تغییر می کندمتعهد شده اند.
  4. no_subtree_check: این گزینه از بررسی جلوگیری می کند زیر درخت. هنگامی که دایرکتوری مشترک زیر شاخه ای از یک فایل سیستم بزرگتر است، NFSاسکن هر دایرکتوری بالای آن را انجام می دهد تا مجوزها و جزئیات آن را بررسی کند. غیرفعال کردن اعتبارسنجی زیر درختمی تواند قابلیت اطمینان را بهبود بخشد NFS، اما کاهش دهید ایمنی.
  5. no_root_squash: این عبارت اجازه می دهد ریشه, متصل شودبه یک پوشه خاص

برای بیشترگزینه هایی با " /etc/exports"، توصیه می شود بخوانید صفحاتراهنمایی برای صادرات.

پیکربندی یک سرویس گیرنده NFS

پس از تنظیم NFS-سرور، ما نیاز داریم کوهاین دایرکتوری مشترک یا پارتیشن روشن است مشتریسرور

نصب دایرکتوری های مشترک بر روی یک سرویس گیرنده NFS

در حال حاضر در سرویس گیرنده NFS، نیاز داریم کوهاین دایرکتوری برای دسترسی به آن به صورت محلی. برای انجام این کار، ابتدا باید دریابیم که چه منابعی در سرور راه دور یا NFS موجود است.

# showmount -e 192.168.0.55 لیست صادرات برای 192.168.0.55: /nfsshare 192.168.0.60

نصب دایرکتوری قابل دسترسی در NFS

به کوهعمومی NFSدایرکتوری، می توانیم از دستور mount زیر استفاده کنیم.

# mount -t nfs 192.168.0.55:/nfsshare /mnt/nfsshare

دستور بالا دایرکتوری مشترک را روی “تنظیم می کند /mnt/nfsshare” در سرور مشتری. با دستور زیر می توانید آن را تست کنید.

# mount | grep nfs sunrpc در /var/lib/nfs/rpc_pipefs نوع rpc_pipefs (rw) nfsd در /proc/fs/nfsd نوع nfsd (rw) 192.168.0.55:/nfsshare در /mnt.1.5.1.5) نوع

دستور mount در بالا نصب می شود دایرکتوری مشترک NFSبر روی مشتری NFSبه طور موقت یک پوشه NFS را نصب کنید دائمادر سیستم شما صرف نظر از راه اندازی مجدد، باید یک ورودی در " /etc/fstab“.

#vi /etc/fstab

مطابق شکل زیر خط جدید زیر را اضافه کنید.

192.168.0.55:/nfsshare /mnt nfs پیش فرض 0 0

آزمایش رفتار نصب NFS

ما می توانیم خودمان را آزمایش کنیم نصب سرور NFSبا ایجاد فایل تستدر سمت سرور قرار گرفته و وجود آن را بررسی کنید مشتری NFSسمت یا برعکس

nfsserver سمت سرور

ما یک فایل متنی جدید با نام “ nfstest.txt” در این فهرست مشترک.

# cat > /nfsshare/nfstest.txt این یک فایل آزمایشی برای آزمایش عملکرد راه اندازی سرور NFS است.

سمت کلاینت nfsclient

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

# ll /mnt/nfsshare مجموع 4 -rw-r--r-- 1 ریشه ریشه 61 سپتامبر 21 21:44 nfstest.txt [ایمیل محافظت شده]~]# cat /mnt/nfsshare/nfstest.txt این یک فایل آزمایشی برای آزمایش عملکرد راه اندازی سرور NFS است.

حذف یک پایه NFS

اگر شما می خواهید باز کردناین دایرکتوری به اشتراک گذاشته شده از سرور پس از اتمام کار با اشتراک گذاری فایل، می توانید فقط باز کردناین دایرکتوری خاص با دستور " مقدار". این مثال را در زیر ببینید.

[ایمیل محافظت شده]~]# umount /mnt/nfsshare

می بینید که mount از سیستم فایل حذف شده است.

# df -h -F nfs

خواهید دید که اینها دایرکتوری های مشترکدیگر در دسترس نیستند.

دستورات مهم برای NFS

چند دستور مهم تر برای NFS .

  1. showmount -e: نمایش در دسترس است اشیاء مشترکدر کامپیوتر محلی
  2. showmount -e : لیست موجود اشیاء مشترکبر روی از راه دورسرور
  3. showmount -d: لیست همه دایرکتوری های فرعی
  4. exportfs -v: لیستی از اشتراک گذاری شده ها را نمایش می دهد فایل هاو گزینه هاروی سرور
  5. exportfs -a: تمام اشیاء موجود لیست شده را صادر کنید /etc/exports، یا نام
  6. exportfs -u: همه اشیاء موجود فهرست شده در را دوباره صادر کنید /etc/exports، یا نام
  7. exportfs -r: لیست سرور را پس از تغییر به روز کنید /etc/exports

همه چیز در مورد است نصب NFS در حال حاضر، در صورت علاقه، می توانید راهنمای مربوط به . خودت را رها کن

اصل مسئله: در زمان مقرر سامسونگشروع به تولید تلویزیون هایی کرد که از تولید کنندگان پیشرو پشتیبانی می کند لوازم خانگی تکنولوژی DLNAبر اساس اصل "خانه دیجیتال". این فناوری امکان ادغام تلویزیون ها را در فضای محلی فراهم کرد شبکه خانگی، که امکان تبادل محتوای رسانه ای بین تلویزیون و رایانه و به ویژه تماشای فیلم در تلویزیون ذخیره شده در رایانه را از طریق شبکه محلییا از طریق وای فای با این حال راه حل چند رسانه ایارائه شده توسط سامسونگ برای پیاده سازی این فناوری، به زبان ساده، جای تامل دارد. بنابراین، فیلم‌هایی که از طریق شبکه در پخش‌کننده رسانه تعبیه‌شده در تلویزیون مشاهده می‌شوند، در اکثر موارد بازگردانی نمی‌شوند. علاوه بر این، هنگام تماشای فیلم از طریق شبکه، بر خلاف تماشای فیلم از یک درایو فلش یا یک هارد دیسک قابل حمل متصل به تلویزیون از طریق درگاه USB، عملکرد پخش مداوم (دکمه آبی روی کنترل از راه دور) پشتیبانی نمی شود. در نهایت، نیاز به اجرا در کامپیوتر سامسونگ PC Share Manger و انجام یک اصلاح بعد از هر حذف یا اضافه شدن فایل های ویدئویی به دیسک کمی آزاردهنده است.

نه تنها برای رفع مشکلات موجود در تماشای فیلم در تلویزیون از طریق یک شبکه محلی، بلکه برای افزایش نرخ انتقال داده (که می تواند عامل مهمی در هنگام تماشای فیلم های HD بزرگ باشد)، گنجاندن شبکه NFS (سیستم فایل شبکه) پروتکل به ما کمک خواهد کرد. پس از نصب و پیکربندی لازم سرور NFS، کامپیوتر ما توسط تلویزیون به گونه ای درک می شود که گویی یک دستگاه قابل حمل وصل کرده ایم. HDDبه تلویزیون از طریق پورت USB (تنها تفاوت فقط در نرخ تبادل داده خواهد بود که با حداکثر پهنای باند شبکه محلی یا اتصال WiFi شما تعیین می شود).

NFS یک پروتکل شبکه است که بر اساس سرویس گیرنده-سرور سازماندهی شده است. ما یک کامپیوتر به عنوان سرور و یک تلویزیون به عنوان مشتری خواهیم داشت. ما قبلاً در بخش قبل در هنگام راه اندازی و نصب برنامه SamyGO Auto روی تلویزیون، درج پشتیبانی NFS در تلویزیون را توضیح داده ایم. اگر به خاطر داشته باشید، در تنظیمات پیکربندی خودکار SamyGO، کادر کنار قسمت NFS را علامت زدیم و آدرس IP سرور NFS (192.168.xxx.xxx) یعنی آدرس رایانه خود را نیز ثبت کردیم:
در این بخش به نصب و پیکربندی سرور NFS بر روی کامپیوتر خود خواهیم پرداخت. تعداد زیادی در اینترنت وجود دارد برنامه های مختلفبرای نصب و پیکربندی سرور NFS. ما از برنامه استفاده خواهیم کرد سرور NFS haneWIN(این نرم افزار اشتراکی است و پس از یک دوره معین نیاز به ثبت نام دارد شماره سریال، اما همانطور که می دانید، همیشه صنعتگرانی در اینترنت هستند که می توانند این مشکل را حل کنند). پس بیایید شروع کنیم:

توجه: گاهی اوقات فایروال ویندوز یا فایروال تعبیه شده در آنتی ویروس می تواند عملکرد سرور NFS را مسدود کند. هر اتفاقی بیفتد، در دیوار آتش ویندوز(یا اگر فایروال دیگری دارید، در آن) باید به دو برنامه اجازه دسترسی به شبکه را بدهید: nfsd.exe و pmapd.exe (آنها در پوشه نصب سرور C:\Program Files\nfsd قرار دارند).


در نهایت، بیایید تلویزیون را روشن کنیم و مطمئن شویم که سرور NFS ما در حال اجرا است. در قسمت قبل زمانی که برنامه SamyGO Auto را روی تلویزیون نصب کردیم، پارامتر اتوران را در آن مشخص کردیم. بنابراین، هنگامی که تلویزیون را روشن می کنید، باید به طور خودکار NFS ما را شناسایی کند (این بلافاصله اتفاق نمی افتد، اما تقریباً 20 ثانیه پس از روشن کردن تلویزیون). بنابراین، تلویزیون را روشن کنید، سپس به پخش کننده رسانه بروید و یک دستگاه جدید را در آنجا ببینید - سرور NFS.

اگر دقت کرده باشید آیکون اتصال USB در کنار NFS وجود دارد. این همان چیزی است که قبلاً در مورد آن صحبت کردیم، اکنون تلویزیون شما با رایانه به عنوان یک هارد دیسک یا درایو فلش USB رفتار می کند. می توانید به بخش فیلم بروید و از تماشای آنلاین فیلم لذت ببرید. دیگر نیازی نیست Samsung PC Share Manger را روی رایانه خود اجرا کنید. فقط فیلم را به پوشه فیلم خود در رایانه خود اضافه کنید و به طور خودکار در پخش کننده رسانه تلویزیون شما "بارگیری" می شود.

در بخش بعدی، در مورد نحوه ضبط برنامه های تلویزیونی در درایو فلش USB یا از آنجایی که اکنون NFS داریم، سپس در پوشه فیلم در رایانه صحبت خواهیم کرد.


سیستم فایل شبکه (NFS)- پروتکل دسترسی شبکه به فایل سیستم ها، به شما امکان می دهد فایل سیستم های راه دور را متصل کنید.
در اصل توسط Sun Microsystems در سال 1984 توسعه یافت. بر اساس Sun RPC: Remote Procedure Call. NFS مستقل از انواع سیستم فایل سرور و کلاینت است. اجرای بسیاری از سرورها و کلاینت های NFS برای سیستم عامل های مختلف وجود دارد. نسخه فعلی NFS v.4 استفاده می شود که از ابزارهای مختلف احراز هویت (به ویژه Kerberos و LIPKEY با استفاده از پروتکل RPCSEC GSS) و لیست های کنترل دسترسی (هر دو نوع POSIX و Windows) پشتیبانی می کند.
NFS دسترسی شفاف به فایل ها و سیستم فایل سرور را برای مشتریان فراهم می کند. برخلاف FTP، پروتکل NFS تنها به بخش هایی از فایل دسترسی دارد که توسط فرآیند به آنها دسترسی پیدا می کند و مزیت اصلی آن این است که این دسترسی را شفاف می کند. به همین دلیل، هر برنامه مشتری که می تواند با یک فایل محلی کار کند، می تواند به خوبی با آن کار کند فایل NFSبدون تغییر خود برنامه
کلاینت های NFS با ارسال درخواست های RPC به سرور به فایل های روی سرور NFS دسترسی پیدا می کنند. این را می توان با استفاده از فرآیندهای کاربر عادی پیاده سازی کرد - یعنی کلاینت NFS می تواند یک فرآیند کاربر باشد که فراخوانی های RPC خاصی را با سرور برقرار می کند، که می تواند یک فرآیند کاربر نیز باشد.

نسخه ها
NFSv1 فقط برای مقاصد تجربی برای استفاده داخلی بود. جزئیات پیاده سازی در RFC 1094 تعریف شده است.
NFSv2 (RFC 1094، مارس 1989) در ابتدا به طور کامل بر روی UDP اجرا می شد.
NFSv3 (RFC 1813، ژوئن 1995). توصیفگرهای فایل در نسخه 2 یک آرایه هستند اندازه ثابت- 32 بایت در نسخه 3، این یک آرایه با اندازه متغیر با اندازه حداکثر 64 بایت است. آرایه طول متغیردر XDR توسط یک شمارنده 4 بایتی و به دنبال آن بایت های واقعی تعریف می شود. این امر باعث کاهش اندازه توصیفگر فایل در پیاده سازی هایی مانند یونیکس می شود، جایی که تنها حدود 12 بایت مورد نیاز است، اما به پیاده سازی های غیریونیکس اجازه می دهد تا اطلاعات اضافی را مبادله کنند.
نسخه 2 تعداد بایت ها در هر رویه READ یا WRITE RPC را به 8192 بایت محدود می کند. این محدودیت در نسخه 3 وجود ندارد، که به نوبه خود به این معنی است که با استفاده از UDP، محدودیت فقط اندازه IP دیتاگرام (65535 بایت) خواهد بود. این اجازه می دهد تا بسته های بزرگ خواندن و نوشتن در شبکه های سریع استفاده شود.
اندازه فایل و شروع آفست در بایت برای رویه ها را بخوانیدو WRITE شروع به استفاده از آدرس دهی 64 بیتی به جای 32 بیتی کرد که به شما امکان می دهد با فایل های بزرگتر کار کنید.
ویژگی‌های فایل در هر فراخوانی که می‌تواند بر ویژگی‌ها تأثیر بگذارد، برگردانده می‌شود.
Writes (WRITE) می تواند ناهمزمان باشد، در حالی که در نسخه 2 باید همزمان باشد.
یک روش حذف شده است (STATFS) و هفت روش اضافه شده است: ACCESS (بررسی مجوزهای فایل)، MKNOD (ایجاد) فایل ویژهیونیکس)، READDIRPLUS (نام فایل‌ها را به همراه ویژگی‌های آن‌ها در یک فهرست برمی‌گرداند)، FSINFO (اطلاعات آماری در مورد سیستم فایل را برمی‌گرداند)، FSSTAT (باز می‌گرداند). اطلاعات پویادر مورد سیستم فایل)، PATHCONF (اطلاعات POSIX.1 را در مورد یک فایل برمی گرداند)، و COMMIT (نوشتن های ناهمزمان قبلی را به ذخیره سازی دائمی متعهد می کند).
در زمان معرفی نسخه 3، توسعه دهندگان شروع به استفاده بیشتر از TCP به عنوان یک پروتکل انتقال کردند. در حالی که برخی از توسعه دهندگان قبلاً از TCP برای NFSv2 استفاده می کردند، Sun Microsystems پشتیبانی TCP را در NFS نسخه 3 اضافه کرد. این امر استفاده از NFS از طریق اینترنت را امکان پذیرتر کرد.
NFSv4 (RFC 3010، دسامبر 2000، RFC 3530، بازبینی شده در آوریل 2003)، تحت تأثیر AFS و CIFS، شامل بهبود عملکرد، امنیت بالا، و به عنوان یک پروتکل کامل ظاهر شد. نسخه 4 اولین نسخه ای بود که پس از واگذاری توسعه پروتکل های NFS توسط Sun Microsystems در ارتباط با گروه ویژه مهندسی اینترنت (IETF) توسعه یافت. نسخه NFS v4.1 در ژانویه 2010 توسط IESG به عنوان RFC 5661 تأیید شد. یک ویژگی جدید مهم در نسخه 4.1 مشخصات pNFS - Parallel NFS، مکانیزمی برای دسترسی مشتری NFS موازی به داده ها از چندین سرور NFS توزیع شده است. وجود چنین مکانیزمی در استاندارد سیستم فایل شبکه به ایجاد سیستم های ذخیره سازی و اطلاعاتی "ابر" توزیع شده کمک می کند.

ساختار NFS
ساختار NFS شامل سه جزء در سطوح مختلف است:
لایه برنامه (خود NFS) فراخوانی روش از راه دور (rpc) است که عملیات لازم را با فایل ها و دایرکتوری ها در سمت سرور انجام می دهد.
عملکرد لایه ارائه توسط پروتکل XDR (EXternal Data Representation) انجام می شود که یک استاندارد انتزاعی داده بین پلتفرمی است. پروتکل XDR یک شکل یکپارچه و متعارف از نمایش داده را توصیف می کند که به معماری سیستم کامپیوتری بستگی ندارد. هنگام انتقال بسته ها، مشتری RPC داده های محلی را به شکل متعارف تبدیل می کند و سرور این کار را انجام می دهد. عملیات معکوس.
سرویس RPC (Remote Procedure Call) که درخواستی برای رویه‌های راه دور توسط مشتری و اجرای آن‌ها در سرور ارائه می‌کند، عملکردهای سطح جلسه را نشان می‌دهد. اتصال منابع شبکه
روش اتصال منبع شبکهابزار NFS "صادرات" نامیده می شود. مشتری می تواند از سرور لیستی از منابع قابل صادرات را که ارائه می کند بخواهد. خود سرور NFS فهرستی از منابع صادر شده خود را پخش نمی کند.
بسته به گزینه های مشخص شده، منبع صادر شده را می توان به صورت "فقط خواندنی" نصب کرد (ضمیمه کرد)، می توانید لیستی از میزبان هایی که مجاز به نصب هستند، استفاده از RPC امن (secureRPC) و غیره را مشخص کنید. یکی از گزینه ها روش نصب را تعیین می کند: "سخت" (سخت) یا "نرم" (نرم).
با مانت "سخت"، کلاینت سعی می کند سیستم فایل را بدون توجه به هر چیزی مانت کند. اگر سرور از کار بیفتد، این کار باعث می‌شود که کل سرویس NFS به حالت تعلیق درآید. از نقطه نظر فرآیندهای کاربر، سیستم فایل بسیار کند به نظر می رسد دیسک محلی. هنگامی که سرور به حالت کار باز می گردد، سرویس NFS به کار خود ادامه می دهد.
با نصب نرم، سرویس گیرنده NFS چندین تلاش برای اتصال به سرور انجام می دهد. اگر سرور پاسخ ندهد، سیستم پیغام خطا صادر می کند و تلاش برای نصب را متوقف می کند. از نقطه نظر منطق عملیات فایل، هنگامی که یک سرور از کار می افتد، یک Soft Mount یک خرابی دیسک محلی را شبیه سازی می کند.
انتخاب حالت بستگی به موقعیت دارد. اگر داده‌های روی کلاینت و سرور باید در حین خرابی موقت سرویس همگام شوند، نصب "سخت" ترجیح داده می‌شود. این حالت همچنین در مواردی که سیستم های فایل نصب شده حاوی برنامه ها و فایل هایی هستند که برای کارکرد مشتری حیاتی هستند، به ویژه برای ماشین های بدون دیسک ضروری است. در موارد دیگر، به ویژه زمانی که ما داریم صحبت می کنیمدر سیستم های فقط خواندنی، به نظر می رسد که پایه های نرم راحت تر هستند.

اشتراک گذاری در یک شبکه مختلط
NFS برای شبکه های مبتنی بر یونیکس ایده آل است، زیرا با اکثر نسخه های این سیستم عامل عرضه می شود. علاوه بر این، پشتیبانی NFS در سطح هسته یونیکس پیاده سازی می شود. با استفاده از NFSدر کامپیوترهای ویندوز مشتری مشکلات خاصی را در ارتباط با نیاز به نصب نرم افزار مشتری تخصصی و نسبتاً گران قیمت ایجاد می کند. در چنین شبکه هایی، استفاده از ابزارهای به اشتراک گذاری منابع مبتنی بر پروتکل SMB/CIFS، به ویژه نرم افزار Samba ترجیح داده می شود.

استانداردها
RFC 1094 NFS: مشخصات پروتکل سیستم فایل شبکه] (مارس 1989)
مشخصات پروتکل RFC 1813 NFS نسخه 3] (ژوئن 1995)
طرح URL RFC 2224 NFS
قرارداد RFC 2339 بینانجمن اینترنت، IETF و Sun Microsystems, Inc. در مورد پروتکل های NFS V.4
RFC 2623 NFS نسخه 2 و نسخه 3 مسائل امنیتی و استفاده پروتکل NFS از RPCSEC_GSS و Kerberos V5
ملاحظات طراحی RFC 2624 NFS نسخه 4
پروتکل RFC 3010 NFS نسخه 4
پروتکل RFC 3530 Network File System (NFS) نسخه 4
پروتکل سیستم فایل شبکه RFC 5661 (NFS) نسخه 4 نسخه کوچک نسخه 1

منابع استفاده شده
1. en.wikipedia.org
2. en.science.wikia.com
3.phone16.ru
4.4stud.info
5.yandex.ru
6.google.com

برترین مقالات مرتبط