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

دو مسیر بسته که از پشت میز یکسان به نظر می‌رسند

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

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

RoleWho originates the trafficWhat has to be true
Client onlyThe laptop itselfTunnel route, working resolver, supported profile
GatewayAnother deviceForwarding enabled, permitted transit, routes both ways, return-path decision

آنچه ip_forward واقعاً تغییر می‌دهد

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

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

سه پرسش فایروال که یک پرسش نیستند

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

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

فقط وقتی مسیر درست است اندازه بگیرید

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

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

توپولوژی‌ای را که دارید توصیف کنید، نه برچسب روی کلاینت را

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

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

مقالات مرتبط