এক VPN, দুটি Windows অ্যাকাউন্ট: অন্য সেশনটি কেন ভেঙে পড়ে
রুট ও রিজলভার মেশিনজুড়ে, তাই একটি অ্যাকাউন্টের টানেল অন্যগুলোর রুট বদলায়। তারপর খুঁজুন কোন নীতি বা লগন মডিউল ব্যবহারকারী বদলানোর এন্ট্রিটি সরিয়েছে।
দুজন সাইন-ইন করা আছেন, তাঁদের একজন কর্পোরেট টানেলে সংযোগ করেন, আর অন্য অ্যাকাউন্টের ব্রাউজার এক মিনিট আগে যে পৃষ্ঠাগুলো ঠিকঠাক খুলছিল সেগুলো লোড করা বন্ধ করে দেয়। একই মেশিনে সাইন-ইন স্ক্রিন থেকে ব্যবহারকারী বদলানোর এন্ট্রিটিও উধাও হয়ে গেছে, ফলে দ্বিতীয় ব্যক্তি তাঁর নিজের সেশনে ফিরতে পারছেন না। দ্বিতীয় সেশন থেকে বাইরের দিকে তাকিয়ে এটি অনুসরণ করাই এটা বোঝার দ্রুততম উপায়, কারণ প্রথম ব্যবহারকারীর সংযোগে কিছুই লুকানো নেই, আর কোন বস্তুগুলো ভাগ করা হচ্ছে তা দেখলেই দ্বিতীয় ব্যবহারকারীর সমস্যায় আর রহস্য থাকে না।
ভাঙা সেশন থেকেই শুরু করুন
প্রথমটিতে নয়, দ্বিতীয় অ্যাকাউন্টের ডেস্কটপে যান। সেখানে একটি টার্মিনাল খুলুন এবং অন্য সেশন সংযুক্ত থাকা অবস্থায় রাউটিং টেবিল ও রিজলভার তালিকা দেখুন। আপনি যা দেখছেন সবই মেশিনের, অন্য ব্যবহারকারীর নয়, আর এটাই প্রথম সূত্র।
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
যদি ডিফল্ট রুট এখন টানেল ইন্টারফেসের দিকে নির্দেশ করে, দ্বিতীয় ব্যবহারকারীর ট্রাফিকও সেটাই অনুসরণ করে। যদি রিজলভার তালিকায় একটি প্রাইভেট সার্ভার যোগ হয়, তাদের লুকআপ এখন এমন জায়গায় যায় যেখানে টানেল পড়ে গেলে তারা পৌঁছাতে পারবে না। এর কোনোটিই ক্লায়েন্টের বাগ নয়; এগুলো একটি একক, ভাগ করা নেটওয়ার্ক স্ট্যাকের পরিণতি।
তৃতীয় কমান্ডটি দ্বিতীয় ধরনের অভিযোগ ব্যাখ্যা করে। যখন একটি অ্যাডাপ্টার মেশিনকে পাবলিক থেকে প্রাইভেট নেটওয়ার্ক বিভাগে বদলে দেয়, প্রোফাইলে আবদ্ধ ফায়ারওয়াল নিয়মগুলো একসঙ্গে প্রতিটি অ্যাকাউন্টের জন্য বদলে যায়, তাই সকালে অনুমোদিত অ্যাপ্লিকেশনগুলো কেউ কোনো নিয়মে হাত না দিয়েই বিকেলে ব্লক হতে পারে।
সংযোগ ব্যবহারকারীভিত্তিক, নেটওয়ার্ক নয়
Windows সংযোগ বস্তুটি যে ব্যবহারকারী এটি তৈরি করেছেন তাঁর প্রোফাইলে রাখে। এটি যে ভার্চুয়াল অ্যাডাপ্টার তৈরি করে, যে রুটগুলো ইনস্টল করে এবং যে 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
যদি দুই অ্যাকাউন্টের সত্যিই একই সময়ে ভিন্ন নেটওয়ার্ক পথ দরকার হয়, সৎ উত্তর হলো দুটি মেশিন, দুটি ভার্চুয়াল মেশিন, বা এমন নীতি যেখানে কেবল একটি পথ প্রয়োজন। ভাগ করা সংযোগে স্প্লিট টানেল কী চলাচল করে তা সংকুচিত করতে পারে, কিন্তু প্রতিটি সেশনকে নিজের টেবিল দিতে পারে না। তিনটি চেষ্টার পর আবিষ্কার করার চেয়ে আগেই সেখানে পৌঁছানো সস্তা।
এটি চারপাশে তালি দিয়ে সারানোর বদলে স্পষ্টভাবে নেওয়ার সিদ্ধান্ত। একটি রাউটিং টেবিল, একটি রিজলভার তালিকা, একটি ফায়ারওয়াল প্রোফাইল: বাকি সবই তা থেকে আসে, আর যে সমাধান এটিকে সম্মান করে সেটি পরের মাসেও কাজ করবে।