هشدار OpenVPN درباره استفاده ناسازگار از MTU: این پیام چه چیزی را مقایسهمیکند
پیام هشدار گزینههای همتاها را مقایسه میکند، نه اندازه بستهها. مقدار کهنه link-mtu را از یک مشکل واقعی MTU در مسیر جدا کنید و سپس با کاوهای که اندازه را در نظر میگیرد بیازمایید.
این هشدار از یک مقایسه میان گزینههای همتا خبر میدهد، نه از اندازهگیری مسیر میان آنها. مردم آن را «MTU اشتباه است» میخوانند و عدد را تغییر میدهند تا خط ناپدید شود. این کار مقایسه پیکربندی را بهجای اندازهگیری شبکه میگیرد و اغلب تونل را بدتر میکند در حالی که گزارش را ساکتتر میسازد. نخستین گام سودمند تصمیمگیری درباره این است که کدامیک از آن دو مشکل را واقعاً دارید.
سه شرط پاسخ را تعیین میکند: همتاها چه چیزی را مقایسه میکنند، آیا مقدار کهنه است و چه نشانهای فراتر از هشدار وجود دارد.
هشدار گزینهها را مقایسه میکند، نه بستهها
همتاهای OpenVPN در هنگام دستدادن رشتههای گزینه خود را مبادله میکنند و آنها را بخشی از بررسی سازگاری گزینهها مقایسه میکنند. وقتی یک طرف link-mtu یا tun-mtu را متفاوت از طرف دیگر گزارش میکند، ناسازگاری با هر دو مقدار ثبت میشود. آن مبادله هرگز بسته بزرگی نمیفرستد تا ببیند چه میشود، پس هشدار پیکربندی را توصیف میکند نه ظرفیت را. یک تونل میتواند ترافیک کاملاندازه را حمل کند و باز هم این را چاپ کند، یا با بستههای بزرگ شکست بخورد و هیچ چیز چاپ نکند.
هشدار کامل را همراه با مقدار محلی و راهدور آن نگه دارید. جفت مقدار سند است؛ عدد تکی که به یاد میآورید سند نیست.
چرا link-mtu کهنه شده است
OpenVPN 2.6 link-mtu را کهنه اعلام میکند، چون سرآیندهای متغیر و رمزهای توافقشده مقدار پیوند ثابت را غیرقابلاعتماد میکنند. این گزینه چیدمانی از بسته را فرض میکرد که پروتکل دیگر تضمینش نمیکند، پس یک پروفایل قدیمی با link-mtu تحتاللفظی نیتی را توصیف میکند که کد کنونی نمیتواند برآورده کند. کپی کردن آن عدد در پروفایل تازه یک فرض کهنه را پخش میکند. آن را بخشی از تاریخ پروفایل قدیمی بخوانید، نه یک توصیه.
بررسی سازگاری همچنین یک مقدار اختیاری OCC دارد که به tun-mtu گره خورده است و آنچه مقایسه میشود را تغییر میدهد بدون اینکه آنچه شبکه حمل میکند عوض شود. تنظیم آن باعث جا شدن بستههای بزرگتر نمیشود.
پیش از آزمودن مسیر، پروفایل را درست کنید
ناسازگاری ناخواسته را از طریق کسی که مالک پروفایلهاست برطرف کنید و به یاد داشته باشید که تغییر در سمت سرور به هر کارخواه اثر میگذارد. پروفایلی را ویرایش کنید که نمونه واقعاً بارگذاری میکند، نه یک برونبری که در پوشه بارگیری افتاده است. سپس یک کارخواه آزمایشی را دوباره وصل کنید و ببینید کدام هشدار میماند. اگر پیام بهجای ناپدید شدن شکل عوض کند، گزینههایی غیر از آنچه فکر میکنید را مقایسه میکنید.
سرور اشتراکی باید پیش از جابهجایی یک مقدار جهانی فهرست کارخواهانش بررسی شود، چون مقداری که به یک سایت میخورد میتواند دیگری را بشکند.
سپس نشانهای را که واقعاً دارید بیازمایید
اگر انتقالهای بزرگ متوقف میشوند در حالی که درخواستهای کوچک موفقاند، اندازه بسته را در برابر مقصدی کنترلشده اندازه بگیرید. کاوهای که بیت «تکهتکه نکن» را میگذارد و اندازه بار مفید را افزایش میدهد، MTU قابلاستفاده مسیر را بسیار مطمئنتر از pingی مییابد که فقط موفق میشود. برنامهای را که شکست میخورد در آزمون بگنجانید: زمانتمام ICMP میتواند بازتاب پالایش باشد و یک ping کوچک موفق هیچ چیزی درباره بسته کاملاندازه برنامه نمیگوید.
mssfix مقدار MSS اعلامشده برای نشستهای TCP درون تونل را محدود میکند، که به TCP کمک میکند و برای بار UDP درونی هیچ کاری نمیکند. تنظیمات تکهتکهسازی و تخلیه شرایط سازگاری خودشان را دارند. برای مشکل اثباتشده یک سازوکار انتخاب کنید، نه اینکه چند چیز را همزمان تغییر دهید تا یک خط گزارش ساکت شود.
مقادیر مؤثر را همراه نتیجه نگه دارید
مقادیر مؤثر اولیه و اصلاحشده را در کنار نتیجه یک انتقال واقعی ثبت کنید. همین جفت است که یک گزینه پروفایل کهنه را از مشکل MTU مسیر که مستقل وجود دارد جدا میکند. بدون آن، خواننده بعدی هشداری میبیند که رفته است و فرض میکند شبکه عوض شده است.
سرکوب بررسی سازگاری هیچ چیزی را آشتی نمیدهد. مشاهده را برمیدارد و هر دو پیکربندی را همانگونه که بودند رها میکند.