چگونه یک مسیر کهنه را که VPN ویندوز جا گذاشته حذف کنیم
ورودیای را پیدا کنید که واقعاً کهنه است، حذف آن را در برابر مخزن خطمشی درست پیشنمایش کنید و تأیید کنید که جستوجو همان رابطی را انتخاب میکند که انتظار دارید.
نشست شما ساعتها پیش پایان یافته، آداپتور رفته و مسیر هنوز در جدول است و به رابط 42 اشاره میکند. پاککردن آن سطر یک فرمان میخواهد؛ اما تصمیم اینکه همان سطر درست است چهار بررسی میخواهد. جدول مسیرها مشترک است، پس حذف گسترده راههایی را برمیدارد که اتصالهای دیگر هنوز از آنها استفاده میکنند، از جمله راهی که تونل را حمل میکند. هر گام زیر هدف را باریکتر میکند تا فقط یک ورودی بتواند مطابقت داشته باشد.
1. تصمیم بگیرید که ورودی کهنه است یا عمدی
ورودیای که از راهاندازی دوباره جان سالم به در برده، جایی نوشته شده و آن جایی معمولاً یک تصمیم است نه یک تصادف. تونل تقسیمشده به مسیرهایی وابسته است که دقیقاً شبیه بازماندهاند، و خطمشیای که یک پیشوند را از تونل عبور میدهد در یک فهرست واحد از ورودی کهنه قابل تفکیک نیست. بپرسید مسیر چه زمانی پیدا شد: مسیری که فقط تا وقتی تونل برپاست وجود دارد متعلق به پیکربندی کارخواه است، پس فرمان پاکسازی ابزار اشتباهی است. یک مسیر عمدی را حذف کنید و اتصال بعدی در گامی شکست میخورد که هیچکس آن را نمیپاید.
مسیر نقطه پایانی هشدار خودش را میخواهد. وقتی کارخواه یک مسیر میزبان به سرور VPN اضافه میکند تا بستههای رمزنگاریشده از طریق اتصال محلی به آن برسند، پاککردن آن مسیر تونل را در اتصال دوباره بعدی فرومیریزد و نشانه بهصورت خرابی سرور خوانده میشود. پیش از دستزدن به هر چیز، مقصد را با نشانیای که کارخواه به آن وصل میشود مقایسه کنید: یک نشانی عمومی که با سرور VPN میخواند، مسیر بیرونی است نه آشغال.
2. آن چهار فیلدی را که ورودی را نام میبرند ثبت کنید
یک پیشوند بهتنهایی هویت نیست، چون دو رابط میتوانند مسیرهایی به یک مقصد داشته باشند. پیشوند مقصد، نمایه رابط، پرش بعدی و مخزن خطمشی را یادداشت کنید، زیرا این چهار مقدار دقیقاً یک ورودی را توصیف میکنند. یک فهرست همه آنها را به شما میدهد:
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric
مرتبسازی بر پایه معیار مسیرهایی را بالا میآورد که ماشین واقعاً ترجیح میدهد، و بازمانده معمولاً همانجا نشسته است. ورودی را وقتی تونل برپاست و دوباره پس از افتادن آن مقایسه کنید: مسیری که با آداپتور میرود مال کارخواه بود و مسیری که میماند را چیز دیگری نوشته است. مخزن خطمشی همان فیلدی است که مردم از آن میگذرند و همان چیزی است که بازپیدایی را توضیح میدهد، چون ورودی که از مخزن فعال حذف شود پس از تازهسازی بعدی خطمشی برمیگردد. پیش از اجرای هر چیزی که وضعیت را تغییر میدهد، چهار مقدار را بنویسید.
3. حذف را پیشنمایش کنید، سپس یک ورودی را بردارید
Remove-NetRoute همان پیشوند و نمایه رابطی را میپذیرد که Get-NetRoute چاپ کرده بود و کلید پیشنمایش دارد، پس چیزی نباید حدس زده شود. جفت را به این ترتیب اجرا کنید:
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42 -WhatIf
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42
پیشنمایش شیئی را چاپ میکند که حذف میکرد، پس پیش از رهاکردن کلید، پیشوند، رابط و پرش بعدی را با یادداشتهایتان مقایسه کنید. هیچکدام از دو خط به ورودی پایدار نمیرسد، چون مخزن فعال پیشفرض است؛ وقتی مسیری که شناسایی کردید آنجا زندگی میکند -PolicyStore PersistentStore را اضافه کنید، وگرنه حذف موفق به نظر میرسد و ورودی در تازهسازی بعدی خطمشی برمیگردد. وقتی نشست از راه دور است یک مسیر بازیابی خارج از باند نگه دارید، چون حذف مسیری که خود اتصال شما را حمل میکند آن را پایان میدهد. هرگز به فرمانی که جدول را پاک میکند دست نزنید.
4. پیدا کنید کدام مؤلفه آن را برمیگرداند
تا وقتی مالک هنوز برای نصب مسیر پیکربندی شده، حذف یک اصلاح نیست. مالک معمولاً یکی از سه چیز است: نمایه کارخواه VPN با فهرست تونل تقسیمشدهاش، یک اسکریپت یا وظیفه زمانبندیشده که هنگام ورود مسیر اضافه میکند، یا خطمشی دامنهای که روی ماشین اعمال میشود. اول نمایه را بررسی کنید، چون در هر اتصال اجرا میشود:
Get-VpnConnection | Select-Object Name,SplitTunneling,ServerAddress
Get-NetRoute -PolicyStore PersistentStore
ورودیهای پایدار بدون اتصال چیزی دیده میشوند، پس مسیری که پس از راهاندازی دوباره بدون نشست VPN برمیگردد تقریباً همیشه در همان مخزن یا در اسکریپت راهاندازی زندگی میکند. مالک را همانجا اصلاح کنید و حذف دستی به جای درمان، به تأیید تبدیل میشود.
5. جستوجو، همسایهها و یادداشت را بررسی کنید
نتیجه پاک «مسیر رفته است» نیست؛ جستوجویی است که اکنون همان رابطی را انتخاب میکند که انتظار داشتید. از ماشین بپرسید بستهای به پیشوند متأثر کجا میرفت، چون بازمانده هنوز نمایه مرده را نام میبرد در حالی که پاسخ پاک رابط روی پیوند یا دروازه درست را نام میبرد. Find-NetRoute این را برای یک نشانی در هر بار پاسخ میدهد:
Find-NetRoute -RemoteIPAddress 10.20.4.7
سپس یک همسایه را بیازمایید: پیشوند دومی را برگزینید که تونل تقسیمشده هنوز به آن نیاز دارد و تأیید کنید جستوجویش تغییر نکرده است، چون برداشتن یک مسیر اضافه همان اشتباهی است که این پاکسازی به آن دعوت میکند. برنامهای را که در ابتدا شکست خورد دوباره امتحان کنید و ثبت کنید اکنون کدام مؤلفه مالک پیشوند است. مستندات Microsoft برای Get-NetRoute فیلدهایی را که در گام دوم نوشتید فهرست میکند. شش ماه بعد همان یادداشت مانع از آن میشود که همان ورودی دو بار تشخیص داده شود.