VPN ক্লায়েন্ট ইনস্টলের পর RDP থেমে যায়? দায়ী ফায়ারওয়াল
একটি কনজিউমার VPN ইনস্টলার Windows ফায়ারওয়াল প্রোফাইল বদলে RDP কেটে দিতে পারে। গেস্ট এজেন্ট দিয়ে ফিরে আসুন, তারপর নিয়মটি 3389 পোর্টে সীমিত করুন।
কনজিউমার VPN ক্লায়েন্ট ইনস্টল শেষ হওয়ার কয়েক মিনিট পরেও পোর্টাল বলছে VM চলছে, পাবলিক IP বদলায়নি, অথচ RDP সাড়া দিচ্ছে না। লোকেরা সাধারণত ধরে নেয় VM ক্র্যাশ করেছে বা নেটওয়ার্ক সিকিউরিটি গ্রুপ বদলেছে, আর দুটোই সাধারণত ভুল। যা বদলেছে তা হলো মেশিনটি যে Windows ফায়ারওয়াল প্রোফাইলে আছে সেটি, এবং আগে যে RDP নিয়মটি মিলত সেটি আর মেলে না। সমাধান শুরু হয় RDP-নির্ভর নয় এমন পথে একটি শেল পাওয়া দিয়ে।
VM চলছে; নিয়মটি আর মিলছে না
Windows-এ ফায়ারওয়াল নিয়মের সঙ্গে প্রোফাইল সেট থাকে, আর প্রাইভেট বা ডোমেইনে সীমিত নিয়মের কোনো প্রভাব নেই যতক্ষণ মেশিনটি পাবলিক প্রোফাইলে থাকে। VPN ইনস্টলার অ্যাডাপ্টার ও রুট যোগ করে, এবং তাদের কয়েকটি পার্শ্বপ্রতিক্রিয়া হিসেবে পাবলিক কঠোর করে। লিসেনার 3389-এ বাঁধা থাকে এবং প্যাকেট আসতেই থাকে, কিন্তু প্রোফাইলের অমিল সেগুলো ফেলে দেয়।
পাওয়ার অবস্থা আর পৌঁছানোযোগ্যতা আলাদা তথ্য, আর বন্ধ পোর্টসহ চলমান VM বাইরে থেকে হুবহু ক্র্যাশ করা VM-এর মতো দেখায়।
কিছু বদলানোর আগে পোর্টটি পরীক্ষা করুন। 3389-এ সংযোগের চেষ্টা সময় শেষ হয়ে যাচ্ছে অথচ গেস্ট এজেন্টের কমান্ড এখনও আউটপুট দিচ্ছে, এটি হোস্ট ফায়ারওয়ালের দিকে ইঙ্গিত করে। পোর্ট সাড়া দিচ্ছে কিন্তু RDP এখনও ব্যর্থ হচ্ছে মানে ত্রুটি নেটওয়ার্ক স্তরের উপরে, এবং এই মেরামত সেখানে হাত দেবে না। দুটির মধ্যে কোনটি দেখেছেন তা টুকে রাখুন, কারণ বাকি পরিকল্পনা তার উপর নির্ভর করে।
দুটি গেট আলাদাভাবে বন্ধ হয়
ফ্যাব্রিক নীতি আগে চলে: নেটওয়ার্ক সিকিউরিটি গ্রুপ গেস্টের আগেই প্যাকেটটি দেখে। এই ক্রম হোস্ট প্যাকেট ফেলে দিলে নিখুঁত NSG এন্ট্রিকে অকেজো করে, আর ফ্যাব্রিক অস্বীকার করলে খোলা হোস্ট নিয়মকে অকেজো করে। এদের আলাদা গেট হিসেবে ধরুন এবং প্রতিটি আলাদাভাবে পরীক্ষা করুন।
পোর্টালে বা CLI-তে NSG-এর কার্যকর নিয়ম পড়ুন, তারপর গেস্টের নিজের নিয়মের সঙ্গে তুলনা করুন। আপনার মনে থাকা শেষ পরিবর্তনটিই কার্যকর হয়েছে, এমনটি ধরে নেবেন না।
কনজিউমার ক্লায়েন্ট Windows ফায়ারওয়ালের নিচে ট্রাফিক আটকায় এমন ফিল্টার ড্রাইভার বা কিল সুইচও ইনস্টল করতে পারে। ফায়ারওয়ালের নিয়ম ঠিক দেখালেও পোর্ট ব্যর্থ হলে পরের সন্দেহভাজন ওই স্তর।
গেস্ট এজেন্টকে ফেরার পথ হিসেবে ব্যবহার করুন
দূরনির্বাহের দুটি বৈশিষ্ট্য, Run Command আর Custom Script Extension, ফ্যাব্রিক এজেন্টের মাধ্যমে গেস্টের ভেতরে চলে। কোনোটিরই RDP দরকার নেই, তাই ফায়ারওয়ালের ভুল তাদের প্রভাবিত করে না। দুটোই স্ক্রিপ্টের আউটপুট ফেরত দেয়, ফলে এরা ডায়াগনস্টিক চ্যানেল ও মেরামতের চ্যানেল, দুটোই।
কোনোটিই বদলানোর আগে সক্রিয় প্রোফাইল আর RDP নিয়মটি পড়ুন:
Get-NetConnectionProfile
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object Name, Enabled, Profile
ওই প্রোফাইলে ইনবাউন্ড নিয়ম আবার চালু করা সাময়িক ব্যবস্থা, গন্তব্য নয়। এটি দিয়ে সেশন নিন, তারপর ফাঁকটি ঠিকভাবে বন্ধ করুন:
Set-NetFirewallProfile -Name Public -AllowInboundRules True
ওই সুইচ প্রোফাইলের প্রতিটি ইনবাউন্ড নিয়ম খোলে, শুধু RDP নয়। সেশন পেলে এটি সীমিত নিয়ম দিয়ে বদলে দিন এবং আসলে যে সেটিংস চান সেগুলো ফিরিয়ে আনুন। এজেন্টও না থাকলে ফলব্যাক হলো সিরিয়াল কনসোল বা নতুন করে বানানো ডিস্ক, আর এজেন্ট সুস্থ রাখার ব্যবহারিক কারণ এটাই।
সেশন বন্ধ করার আগে ফাঁকটি সংকুচিত করুন
সাময়িক প্রোফাইল পরিবর্তন ওই প্রোফাইলের প্রতিটি ইনবাউন্ড নিয়মের জন্য খোলা রাখা একটি দরজা। এটি আপনার সোর্স ঠিকানা আর RDP পোর্টে সীমিত নিয়ম দিয়ে বদলে দিন, তারপর প্রোফাইলটি কাঙ্ক্ষিত অবস্থায় ফিরেছে কি না নিশ্চিত করুন। সেশন থাকতেই এটি করুন, কারণ পরের ভুলটি দূর থেকে ফেরানো নাও যেতে পারে। পরিবর্তনের সময় Bastion বা সিরিয়াল কনসোলের মতো দ্বিতীয় প্রশাসনিক পথ হাতের কাছে রাখুন।
ওয়ার্কস্টেশন থেকে পোর্ট পরীক্ষা দিয়ে, আর গেস্টের ভেতর থেকে নিয়মের তালিকা দিয়ে ফলাফল নিশ্চিত করুন:
Test-NetConnection -ComputerName 203.0.113.25 -Port 3389
Get-NetFirewallRule -DisplayName "RDP from admin" | Get-NetFirewallPortFilter
পরীক্ষার সময়টা ফায়ারওয়াল লগিং চালু রাখুন। 3389 আর সক্রিয় প্রোফাইলের নাম উল্লেখ করা একটি ফেলে দেওয়া প্যাকেটের এক লাইন আরেকবার রিবুট করার চেয়ে দ্রুত উত্তর দেয়।
পরের ইনস্টলারকে আবার এটি করতে দেবেন না
ওই হোস্টে ক্লায়েন্ট চালানোর কোনো কারণ না থাকলে এটি আনইনস্টল করুন। ইনস্টল করা ক্লায়েন্ট পরের আপডেটকে আবার প্রোফাইল পুনর্লিখনের স্থায়ী আমন্ত্রণ, আর পরের মানুষটি পোর্টাল থেকেই একই বিভ্রাট ডিবাগ করবে।
কোনো কিছু নেটওয়ার্ক সেটিংস পুনর্লিখনের আগে ডিস্কের স্ন্যাপশট নিন, এবং দরকার হওয়ার আগেই দ্বিতীয় প্রশাসনিক পথ প্রস্তুত রাখুন।
ইনস্টলার কী বদলেছে তা লিখে রাখুন: অ্যাডাপ্টার, রুট, ফায়ারওয়াল প্রোফাইল, ফিল্টার ড্রাইভার আর সার্ভিস। এই রেকর্ড পরের ঘটনাটিকে নতুন তদন্তের বদলে পরিচিত ধরনে পরিণত করে। VM-এর যদি ঠিক একটি সার্ভিসে টানেল দরকার হয়, ক্লায়েন্টটি আপনার ওয়ার্কস্টেশনে রাখুন বা সার্ভারে ল্যাপটপ পণ্য ইনস্টল করার বদলে সাইট-টু-সাইট লিংক বানান। কনজিউমার ক্লায়েন্ট ল্যাপটপের জন্যই তৈরি, আর দূর থেকে আপনি যে সার্ভার চালান সেটি তা নয়।