রিমোট কম্পিউটার VPN-এ সংযুক্ত হলে RDP কেন জমে যায়
VPN সফল হয় আর ডেস্কটপ জমে যায়: টানেল আপনার সেশনের ফেরার পথ বদলে দিয়েছে। আগে পিয়ার ঠিকানা, রুট ও ফায়ারওয়াল প্রোফাইল লিপিবদ্ধ করুন।
আপনি RDP জানালার ভিতরে, ডেস্কটপ স্ক্রিনে, এবং সেই রিমোট মেশিনে চলা VPN ক্লায়েন্টে Connect চাপছেন। কয়েক সেকেন্ড পরে জানালাটি জমে যায় এবং তারপর বন্ধ হয়ে যায়। টানেল উঠেছিল, VPN লগ ঠিক এটাই দেখাবে, আর এটিই পুরো ঘটনার সবচেয়ে কম কাজের তথ্য। সেশনটি মারা গেল কারণ যে মেশিনের সাথে আপনি কথা বলছিলেন সে আপনাকে উত্তর দেওয়ার ধরন বদলে দিয়েছে, তাই টানেলে হাত দেওয়ার আগে ফেরার পথটি দেখুন।
আপনার সেশন আসলে যে এন্ডপয়েন্ট ব্যবহার করে তা লিখে রাখুন
আপনার RDP ক্লায়েন্টে লেখা ঠিকানাটি জরুরি নয় যে ঠিকানায় রিমোট কম্পিউটার উত্তর দেয়। NAT, RD Gateway, বা হোস্টের সামনে থাকা লোড ব্যালেন্সার এটি পুনর্লিখন করতে পারে, আর ফেরার পথ নির্ধারিত হয় সেই সোর্স ঠিকানা দিয়ে যা রিমোট মেশিন প্রতিষ্ঠিত সংযোগে দেখে। এখানে ভুল করলে আপনি এমন রুট খুঁজতে যাবেন যেটি কখনো জড়িত ছিল না।
রিমোট কম্পিউটারে, VPN সংযুক্ত হওয়ার আগে, প্রতিষ্ঠিত সেশনগুলো তালিকাভুক্ত করুন এবং টেবিল থেকে পিয়ার ঠিকানা পড়ুন। তারপর এটি সেই মেশিনের বাইরে কোথাও লিখে রাখুন, কারণ সেশন পড়ে গেলে আপনি এটি পড়তে পারবেন না।
Get-NetTCPConnection -LocalPort 3389 -State Established | Select-Object LocalAddress, RemoteAddress, RemotePort
সেই ঠিকানাকে এমন জিনিস হিসেবে ধরুন যা পৌঁছানোর যোগ্য থাকতেই হবে। যদি এটি ম্যানেজমেন্ট VLAN-এর একটি প্রাইভেট ঠিকানা হয়, তবে টানেলকে সেই পথটি ছেড়ে দিতে হবে। যদি এটি পাবলিক ঠিকানা হয়, তবে উত্তরটি সেই একই ইন্টারফেস দিয়ে বেরোতে হবে যা অনুরোধটি ভিতরে এনেছিল।
সেই এন্ডপয়েন্টে উত্তর দেওয়া রুটটি পড়ুন
Windows প্রতিটি গন্তব্যের জন্য একটি ইন্টারফেস বেছে নেয়, এবং Find-NetRoute এখন যে সিদ্ধান্ত নেবে তা দেখায়। সংযোগের আগে পিয়ার ঠিকানার বিরুদ্ধে এটি চালান, তারপর টানেল ওঠা অবস্থায় আবার, এবং দুটি উত্তরে ইন্টারফেস ইনডেক্স ও পরবর্তী হপ তুলনা করুন। ইন্টারফেস বদলে যাওয়াই আউটপুটের এক লাইনে পুরো বাগ।
Find-NetRoute -RemoteIPAddress 203.0.113.24 Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object RouteMetric Get-VpnConnection -Name "Work VPN" | Select-Object SplitTunneling, Routes
ফুল-টানেল প্রোফাইল টানেলের মাধ্যমে একটি ডিফল্ট রুট ইনস্টল করে, যেমনটি Windows VPN রাউটিং গাইড বর্ণনা করে, তাই এখন প্রতিটি উত্তর VPN দিয়ে বেরোয় এবং নির্ভর করে অপর প্রান্ত আপনার ক্লায়েন্টের দিকে ফিরে রাউটিং করছে কি না তার উপর। স্প্লিট-টানেল প্রোফাইল ডিফল্টভাবে নিরাপদ কিন্তু অনাক্রম্য নয়, কারণ পিয়ার ঠিকানা ঢেকে রাখা একটি নির্দিষ্ট রুট এখনও ভৌত ডিফল্ট রুটকে হারিয়ে দিতে পারে। যেভাবেই হোক প্রশ্নটি একই: টানেল ওঠার পরেও পিয়ার ঠিকানাটি কি সেই ইন্টারফেসে রিজলভ হয় যা সেশনটি ভিতরে এনেছিল?
যদি না হয়, তবে সমাধানটি প্রোফাইলে বা VPN নীতি মালিকের অনুমোদিত একটি স্পষ্ট ব্যতিক্রম রুটে। কোনো ঘটনার সময় প্রোডাকশন হোস্টে হাতে রাউটিং টেবিল সম্পাদনা করাই হলো অস্থায়ী সমাধানকে অনথিভুক্ত কনফিগারেশনে পরিণত করার উপায়।
ফায়ারওয়াল প্রোফাইলের পরিবর্তন লক্ষ্য করুন
নতুন ইন্টারফেস আবির্ভূত হলে শ্রেণিবদ্ধ হয়, আর সেই শ্রেণিবিন্যাসই ঠিক করে তার ট্রাফিক কোন ফায়ারওয়াল প্রোফাইল অনুযায়ী বিচার হবে। Public শ্রেণিতে পড়া একটি টানেল অ্যাডাপ্টার রাউটিং টেবিল নিখুঁত দেখালেও নীরবে ইনবাউন্ড RDP বন্ধ করে দিতে পারে। এটি দ্বিতীয় ব্যর্থতার ধরন, এবং এটি ভিন্ন উপসর্গ দেয়: রুট ঠিক, প্যাকেট আসছে, আর হোস্ট সংযোগটি প্রত্যাখ্যান করছে।
Get-NetConnectionProfile Get-NetFirewallProfile | Select-Object Name, Enabled Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object Name, Enabled, Profile
টানেল ইন্টারফেসে সংযুক্ত প্রোফাইলটিকে Remote Desktop নিয়মগুলো যে প্রোফাইলগুলোর জন্য নির্ধারিত তার সাথে তুলনা করুন। শুধু Domain ও Private-এর জন্য সক্রিয় একটি নিয়ম Public হিসেবে শ্রেণিবদ্ধ ইন্টারফেসের জন্য কিছুই করে না, এবং কোনো রুট সংশোধনই তা বদলায় না। কিছু VPN ক্লায়েন্ট ডিজাইন অনুসারে স্থানীয় সাবনেট অ্যাক্সেসও সীমিত করে, যা ভিন্ন নিয়ন্ত্রণ থেকে একই ধরনের ব্যর্থতা তৈরি করে।
পুনরুদ্ধারযোগ্য কোনো জায়গা থেকে পরিবর্তনটি পরীক্ষা করুন
পুরো ক্রমটি আউট-অফ-ব্যান্ড কনসোল বা দ্বিতীয় ম্যানেজমেন্ট পথ থেকে এই ক্রমে করুন: বিদ্যমান সেশন নিশ্চিত করুন, VPN সংযুক্ত করুন, নতুন সেশন খুলুন, তারপর VPN বিচ্ছিন্ন করুন এবং আরেকটি খুলুন। প্রতিটি ধাপ ভিন্ন একটি রূপান্তর পরীক্ষা করে, আর প্রথম যেটি ব্যর্থ হয় সেটিই বলে দেয় কোন নিয়ন্ত্রণটি দায়ী।
শুরু করার আগেই রোলব্যাক নির্ধারণ করুন, যেমন একটি নির্ধারিত কাজ যা নির্দিষ্ট ব্যবধানের পরে rasdial "Work VPN" /disconnect চালায়। এটি একটি হারানো সেশনকে সাইট পরিদর্শনের বদলে পাঁচ মিনিটের বাধায় পরিণত করে, এবং এটি পুরো পদ্ধতির সবচেয়ে সস্তা বীমা।
সেশন ইতিমধ্যে চলে গেলে আবার ভিতরে আসুন
যদি হোস্ট ইতিমধ্যে পৌঁছানোর অযোগ্য হয়, একই ক্লায়েন্ট থেকে নতুন RDP সংযোগের চেষ্টা বন্ধ করুন এবং পরিবেশের ইতিমধ্যে থাকা পুনরুদ্ধার চ্যানেল ব্যবহার করুন: একটি RD Gateway, একটি হাইপারভাইজার কনসোল, বা একটি আউট-অফ-ব্যান্ড ম্যানেজমেন্ট ইন্টারফেস। কনসোল অ্যাক্সেস থাকা ব্যক্তিকে একই Find-NetRoute এবং Get-NetConnectionProfile কমান্ড চালাতে বলুন, যাতে প্রমাণ পুনরুদ্ধারের পরেও টিকে থাকে।
তারপর দ্রুততমটির বদলে স্থায়ী ব্যবস্থাটি ঠিক করুন। হয় ম্যানেজমেন্ট পথটি VPN প্রোফাইল স্পষ্টভাবে সংরক্ষণ করে, নয়তো ম্যানেজমেন্ট এমন চ্যানেলে যায় যা হোস্টের ডিফল্ট রুটের উপর নির্ভর করে না। দুটোই সমর্থনযোগ্য; অনুমান করা গেটওয়ে সহ হোস্ট রুট নয়। কোনটি বেছেছেন তা লিখুন, এবং যে পিয়ার ঠিকানাকে টিকে থাকতে হয়েছিল তা রেকর্ড করুন।