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

هدایت و پایان دادن دو کار متفاوت‌اند

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

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

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

یک سوار کردن CIFS در هسته واقعاً چه می‌خواهد

روی دستگاهی بر پایه Linux، کارخواه CIFS در هسته و کارخواه در فضای کاربر دو توانایی جداگانه‌اند و تصاویر کوچک اغلب هیچ‌کدام را ندارند. پشتیبانی هسته باید در تصویر در حال اجرا باشد، کمک‌کننده سوار کردن باید وجود داشته باشد و گویش SMB که با کارساز مذاکره می‌شود باید گویشی باشد که هر دو طرف می‌پذیرند. این را راهنمای کارخواه CIFS در Linux توصیف می‌کند، یعنی چیدمان هسته و گزینه‌های سوار کردنش، و مرجع درست پیش از آن است که فرض کنید ساخت فروشنده آن را در بر دارد.

توانایی را پیش از طراحی پیرامونش بررسی کنید و نسخه را بررسی کنید نه وجود نام یک فرمان. نام یک پیمانه در فهرست بسته‌ها همان کارخواه کارکننده نیست.

lsmod | grep -w cifs
modinfo cifs | head -5
mount.cifs --version
smbclient -L //fs02.corp.internal -U svc-router -m SMB3

پیمانه‌ای در هسته که بار می‌شود و ابزاری در فضای کاربر که نسخه‌ای گزارش می‌کند هنوز تضمین نمی‌کنند که یک سوار کردن از تجدید کلیدهای VPN جان سالم به در ببرد، پس آزمون را شرط آغاز بدانید نه دلیل. اگر تصویر تنها پشتیبانی SMB1 را همراه دارد، این دلیلی برای توقف است نه دلیلی برای فعال کردنش روی کارساز.

اعتبارنامه‌ها و هویت مبدأ با یک رایانه همراه تفاوت دارند

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

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

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

install -m 600 /dev/null /etc/cifs-reports.creds
printf 'username=svc-router\npassword=REPLACE_ME\ndomain=CORP\n' > /etc/cifs-reports.creds
mount -t cifs //fs02.corp.internal/reports /mnt/reports -o credentials=/etc/cifs-reports.creds,vers=3.1.1,ro

وقتی اشتراک ناپدید می‌شود، خطا از آن کیست

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

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

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

تصمیم را با کار واقعی بسنجید

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

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

findmnt -t cifs -o TARGET,SOURCE,OPTIONS
df -h /mnt/reports
ls -l /mnt/reports | head

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

مقالات مرتبط