یک VPN، دو حساب ویندوز: چرا نشست دیگر خراب میشود
مسیرها و حلکنندهها در سطح کل دستگاه هستند، بنابراین تونل یک حساب بقیه را تغییر مسیر میدهد. سپس پیدا کنید کدام خطمشی یا ماژول ورود ورودی «تغییر کاربر» را حذف کرده است.
دو نفر وارد شدهاند، یکی از آنها به تونل سازمانی وصل میشود و مرورگر حساب دیگر بارگذاری صفحههایی را که یک دقیقه پیش درست بودند متوقف میکند. روی همان دستگاه، ورودی تغییر کاربر هم از صفحه ورود ناپدید شده است، بنابراین نفر دوم نمیتواند به نشست خودش برگردد. پیگیری این موضوع از نشست دوم به بیرون سریعترین راه درک آن است، چون هیچ چیز در اتصال کاربر اول پنهان نیست و هیچ چیز در مشکل کاربر دوم مرموز نیست، بهمحض اینکه ببینید کدام اشیا مشترکاند.
از نشستی که خراب شد شروع کنید
به میزکار حساب دوم بروید، نه حساب اول. آنجا یک ترمینال باز کنید و در حالی که نشست دیگر متصل است، جدول مسیریابی و فهرست حلکنندهها را ببینید. هر چیزی که میبینید متعلق به دستگاه است، نه به کاربر دیگر، و این نخستین سرنخ است.
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric | Select-Object -First 12 DestinationPrefix,NextHop,InterfaceAlias
Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object InterfaceAlias,ServerAddresses
Get-NetConnectionProfile | Select-Object Name,NetworkCategory,IPv4Connectivity
اگر مسیر پیشفرض اکنون به رابط تونل اشاره میکند، ترافیک کاربر دوم هم از آن پیروی میکند. اگر فهرست حلکنندهها یک سرور خصوصی گرفته باشد، جستوجوهای آنها اکنون جایی میرود که وقتی تونل قطع شود نمیتوانند به آن برسند. هیچیک از اینها باگ کلاینت نیست؛ پیامد یک پشته شبکه واحد و مشترک است.
دستور سوم دسته دومی از شکایتها را توضیح میدهد. وقتی یک آداپتور دستگاه را از دسته شبکه عمومی به خصوصی تغییر میدهد، قواعد فایروال که به یک پروفایل محدود شدهاند یکجا برای همه حسابها تغییر میکنند، بنابراین برنامههایی که صبح مجاز بودند میتوانند بعدازظهر مسدود شوند بدون اینکه کسی قاعدهای را لمس کند.
اتصال بهازای هر کاربر است، شبکه نیست
ویندوز شیء اتصال را در پروفایل کاربری که آن را ساخته نگه میدارد. آداپتور مجازی که تولید میکند، مسیرهایی که نصب میکند و سرورهای DNS که ثبت میکند در سطح کل دستگاه هستند. همین شکاف منبع هر دو نشانه در عنوان است.
همچنین توضیح میدهد چرا خروج کاربر اول معمولاً دومی را درست میکند. حذف اتصال، آداپتور و مسیرها را با آن حذف میکند و وضعیت کل دستگاه به همان چیزی برمیگردد که پیش از اتصال کسی بود. این یک تشخیص مفید است: اگر خروج، حساب دیگر را تعمیر کند، شما به وضعیت مشترک نگاه میکنید نه به پروفایل خراب.
کاری که نمیتوانید بکنید دادن جدول مسیریابی متفاوت به نشست دوم است. یک جدول وجود دارد و هر دو نشست آن را شریکاند. این ویژگی سیستمعامل است نه محدودیت یک کلاینت خاص. همچنین یعنی هر طراحیای که خلاف آن را فرض کند همچنان شکست میخورد و شکستها مانند باگهای بیربط برنامه به نظر میرسند.
پیدا کنید چه چیزی تغییر کاربر را حذف کرد، به این ترتیب
تغییر سریع کاربر به دلیلی کاملاً متفاوت ناپدید شد و راهحل هیچ ربطی به مسیریابی ندارد. چهار گزینه را به ترتیب بررسی کنید، چون دو مورد اول در چند ثانیه برگشتپذیرند و موردهای بعدی هزینه دارند.
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name HideFastUserSwitching
gpresult /h $env:TEMP\gp.html
Get-Service | Where-Object { $_.DisplayName -match 'Logon|Access|Credential' } | Select-Object Status,Name,DisplayName
مقدار رجیستری سادهترین توضیح است. اگر وجود داشته باشد و 1 خوانده شود، ورودی با خطمشی پنهان شده است، و مسیر خطمشی گروهی این است: پیکربندی رایانه، قالبهای مدیریتی، سیستم، ورود، و تنظیمی که به نام پنهانکردن نقاط ورود تغییر سریع کاربر نامگذاری شده است. آن را روی «پیکربندینشده» بگذارید و با gpupdate /force تازهسازی کنید.
دستور دوم به شما میگوید آن خطمشی از یک دامنه ارائه میشود یا بهصورت محلی نوشته شده است. اگر در گزارش با یک GPO برنده ظاهر شود، ویرایش مقدار محلی یک راهحل موقت است که در تازهسازی بعدی برمیگردد و گفتوگو متعلق به صاحب خطمشی است.
دستور سوم مکانیزم دیگر را پوشش میدهد. ارائهدهنده اعتبارنامه یا دسترسی شبکه که یک ماژول ورود نصب میکند میتواند هنگام اجرا ورودی را سرکوب کند، و برخی کلاینتها مؤلفهای را ثبت میکنند که پیش از ورود شروع میشود و ادعایی روی صفحه ورود نگه میدارد. غیرفعالکردن آن سرویس تغییر را برمیگرداند و عملکردهای پیش از ورود یا ارزیابی وضعیت را هم که ماژول برای ارائهشان وجود دارد حذف میکند.
| Cause | How to confirm | Cost of the fix |
|---|---|---|
| HideFastUserSwitching policy | Registry value present and set to 1 | None; remove the policy |
| Logon module service | Service running under a vendor name | Loses pre-logon and posture behaviour |
| GINA-era assumption | Only relevant on very old Windows | Nothing to fix; the mechanism is gone |
بدون آنکه خودتان را بیرون قفل کنید تغییرش دهید
در حین کار یک نشست مدیریتی باز نگه دارید و هرگز روی دستگاهی که فقط از طریق همان صفحه به آن میرسید تغییری در صفحه ورود ندهید. نخست نشستهای دیگر را خارج کنید، تغییر را اعمال کنید، تازهسازی کنید و سپس با تغییر کاربر آزمایش کنید نه با راهاندازی مجدد.
ثبت کنید کدام عملکردهای ارزیابی وضعیت را غیرفعال کردهاید. بهروزرسانی کلاینت میتواند ماژول ورود را دوباره نصب یا فعال کند و نشانه بدون علت آشکار برمیگردد، معمولاً در میانه پنجره پشتیبانی وقتی هیچکس تغییر پیشین را به یاد نمیآورد.
روی دستگاه مدیریتشده فرض کنید تنظیم از بالا ارائه میشود. بررسی نخست گزارش خطمشی یک ساعت ویرایش محلی را که برمیگردد ذخیره میکند. همچنین میگوید وقتی پاسخ «نه» است از چه کسی بپرسید. تیکتی که خطمشی برنده را نام میبرد دو برابر سریعتر از تیکتی حل میشود که کلید رجیستریای را توصیف میکند که کسی قبلاً تغییرش داده است.
هر دو حساب را بررسی کنید و مدل را انتخاب کنید
نتیجه را به همان ترتیبی که دو کاربر تجربه میکنند آزمایش کنید. با حساب دوم وارد شوید در حالی که حساب اول قطع است، دسترسی عادی را تأیید کنید، سپس تونل حساب اول را وصل کنید و تأیید کنید که مسیر مورد انتظار حساب دوم هنوز همان است که قصد داشتید.
qwinsta
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Select-Object InterfaceAlias,NextHop,RouteMetric
Test-NetConnection -ComputerName intranet.example.internal -Port 443
اگر هر دو حساب واقعاً بهطور همزمان مسیرهای شبکه متفاوت نیاز دارند، پاسخ صادقانه دو دستگاه، دو ماشین مجازی، یا خطمشیای است که در آن فقط یک مسیر لازم است. تونل شکافته روی اتصال مشترک میتواند آنچه حرکت میکند را باریک کند، اما نمیتواند به هر نشست جدول خودش را بدهد. زودتر به آن رسیدن ارزانتر از کشف آن پس از سه تلاش برای دور زدن است.
این تصمیمی است که باید صریح گرفته شود نه اینکه دورش وصله بخورد. یک جدول مسیریابی، یک فهرست حلکننده، یک پروفایل فایروال: هر چیز دیگری از آن نتیجه میشود و راهحلی که به آن احترام بگذارد ماه آینده هم کار میکند.