چرا مسیر محلی بر مسیر پیشفرض VPN پیروز میشود
زیرشبکه متصل و مسیر پیشفرض گسترده از طریق تونل دو نوع مسیر متفاوتاند. انتخاب هسته را بخوانید، سپس همپوشانی را بدون انبوهکردن مسیرهای میزبان اصلاح کنید.
چاپگر روی میز پس از بالا آمدن تونل به کار ادامه میدهد، در حالی که سروری در دفتر دیگر بیصدا به چیزی محلی تجزیه میشود. هر دو رفتار از یک قاعده میآیند: مشخصترین مسیر برنده است، و پیشوندی که مستقیماً متصل است تا جایی که ممکن باشد مشخص است. معمولاً همان طراحیای است که میخواهید، و همینطور است که یک محدوده خصوصی تکراری یک نشانی دور را میدزدد. خواندن انتخاب هسته در ابتدا یک شکست مرموز را به مقایسه پیشوندها تبدیل میکند.
پیشوند متصل از مسیر پیشفرض مشخصتر است
تونل معمولاً یک مسیر پیشفرض یا مجموعهای از پیشوندها نصب میکند، در حالی که یک رابط محلی پیشوند متصل بههمراه مسیری به کل LAN را حمل میکند. میان آنها تطبیق بلندترین پیشوند تصمیم میگیرد، پس مقصدی درون پیشوند LAN هرگز به تونل نمیرسد. به همین دلیل چاپگر، صفحه مدیریت روتر و یک NAS محلی تا زمانی که VPN روشن است در دسترس میمانند. به همین دلیل هم منبعی دور درون محدودهای همپوشان به ماشین اشتباه میرود.
فضای نشانی خصوصی یکتا نیست، و اینکه دو سایت پیشوند یکسانی انتخاب کنند بهقدری رایج است که باید برایش برنامه ریخت. وقتی محدودهها همپوشانی دارند، پاسخ محلی سریع میرسد و معتبر به نظر میرسد، بنابراین شکست بهراحتی مشکل ورود خوانده میشود. مقصد پاسخ داد، فقط نه آنی که منظورتان بود.
انتخابی را بخوانید که هسته میکرد
از هسته بپرسید برای مقصد دقیق کدام مسیر را به کار میبرد، نه اینکه جدول را از بالا بخوانید. سپس به دنبال قواعد خطمشی بگردید که میتوانند جدول دیگری انتخاب کنند. دو فرمان هر دو پرسش را در چند ثانیه پاسخ میدهند.
ip route get 10.20.30.41
ip route show table all | grep -E '10\.|default'
ip rule show
خروجی اول رابط، گام بعدی و نشانی مبدأیی را که هسته به کار میبرد نام میبرد، و این همان پاسخی است که اهمیت دارد. مقدار dev که به پل محلی اشاره میکند یعنی بسته هرگز وارد تونل نمیشود، هرچه پنل وضعیت کلاینت VPN ادعا کند. فهرست فیلترشده جدولها نشان میدهد آیا جدول دیگری همان پیشوند را نگه میدارد، و فهرست قواعد ترتیبی را نشان میدهد که آن جدولها مشورت میشوند. یک قاعده خطمشی میتواند پیشوندی را از جدول مشخصی بفرستد حتی وقتی جدول اصلی مخالف است، پس آن ترتیب بخشی از پاسخ است.
دسترسی محلی مجوزی جداگانه است
داشتن مسیر همان اجازه استفاده از آن نیست. بیشتر کلاینتها میتوانند هنگام بالا بودن تونل ارتباط شبکه محلی را مسدود کنند، و آن تنظیم یک تصمیم خطمشی است نه اثری از مسیریابی. وقتی یک سرویس نزدیک قابل اعتماد بخشی از طراحی است، گزینه پشتیبانیشده دسترسی محلی را فعال کنید نه اینکه مسیر بسازید. وقتی دستگاه روی Wi-Fi عمومی است، آن را خاموش بگذارید.
دو لایه متفاوت شکست میخورند. مسیر محلی مسدودشده حتی با وجود مسیر، پایان مهلت میدهد، در حالی که مسیر همپوشان پاسخی از میزبان اشتباه میدهد. تمایز دادن آنها یک پرسوجو هزینه دارد و بعدازظهری تغییرات دیوار آتش را ذخیره میکند، و ترتیب ارسال در یادداشتهای strongSwan درباره ارسال بسته توصیف شده است.
همپوشانی را بدون انبوهکردن مسیرهای میزبان اصلاح کنید
مسیر میزبان برای یک نشانی به نظر میرسد همپوشانی را اصلاح میکند و در همان لحظهای که نشانی دومی در همان محدوده لازم شود شکست میخورد. بیست مورد بعد، هیچکس نمیتواند بگوید کدام پیشوند معتبر است. راهحلهای پایدار تغییر نشانیگذاری، توپولوژی مستندشده که از محدوده تکراری دوری میکند، یا ترجمه در یک سر است. هر یک یکبار زمان برنامهریزی هزینه دارد نه نگهداری همیشگی.
اگر مسیر میزبان موقت واقعاً لازم است، دلیل، مالک و تاریخ را کنارش بنویسید تا بعداً بتوان حذفش کرد. سپس نشانی و سرویس دقیق بههمراه یک مقصد عمومی را آزمایش کنید، چون تغییر دسترسی محلی که بیصدا برنامههای نامرتبط را از تونل بیرون میگذارد بدتر از نقص اولیه است. پیشوند محلی و پیشوند دور را جداگانه بنویسید؛ این عادت مانع میشود یک ping محلی کارکننده بهعنوان مدرک دسترسیپذیری دفتر دور دستبهدست شود.