কেন আপনার VPN অ্যাডাপ্টার পাবলিক ফায়ারওয়াল প্রোফাইলে থেকে যায়
ডোমেইনে সাইন-ইন করলে নেটওয়ার্কটি ডোমেইন হিসেবে শ্রেণীবদ্ধ হয় না, আর প্রাইভেট কোনো বিকল্প নয়। আগে নিয়মের প্রোফাইল পড়ুন, তারপর যে মেশিন এটি প্রয়োগ করে।
টানেল চালু, অ্যাকাউন্ট ডোমেইনে প্রমাণিত, তবুও Windows সংযোগটিকে পাবলিক হিসেবে চিহ্নিত করে। তাই ডোমেইন প্রোফাইলের জন্য লেখা ফায়ারওয়াল নিয়ম প্রযোজ্য হয় না, আর ফাইল শেয়ারটি নাগালের বাইরে থাকে। সমাধানের স্বাভাবিক চেষ্টা হলো অ্যাডাপ্টারকে প্রাইভেট করা, যা কোন নিয়ম প্রযোজ্য হবে তা বদলায় কিন্তু প্রমাণীকরণে কিছুই বদলায় না। লেবেল ও সমাধান—দুটোই ব্যাপকভাবে ভুল বোঝা হয়, আর এদের আলাদা করতে তিনটি কমান্ড লাগে।
যে অ্যাকাউন্ট সংযোগ করেছে সেটি নেটওয়ার্কের শ্রেণী নয়
VPN সংযোগের সময় দুটি ভিন্ন সিদ্ধান্ত নেওয়া হয় এবং এদের গুলিয়ে ফেলা সহজ। গেটওয়ে ঠিক করে অ্যাকাউন্টটি সংযোগ করতে পারবে কি না। Windows ঠিক করে ফলাফল হিসেবে পাওয়া নেটওয়ার্ককে কীভাবে শ্রেণীবদ্ধ করা হবে, আর সেই শ্রেণীবিভাগই নির্ধারণ করে ইন্টারফেসে কোন ফায়ারওয়াল নিয়ম প্রযোজ্য হবে।
গেটওয়েতে সফল ডোমেইন প্রমাণীকরণ অ্যাকাউন্ট সম্পর্কে প্রমাণ। এটি এই প্রমাণ নয় যে এন্ডপয়েন্টটি ডোমেইন কন্ট্রোলারের কাছে নেটওয়ার্ককে প্রমাণ করেছে, আর ডোমেইন শ্রেণী বলতে ঠিক সেটাই বোঝায়।
এজন্যই একটি মেশিন ডোমেইন-জয়েন করা, ডোমেইন অ্যাকাউন্ট দিয়ে সংযোগ করা, তবুও পাবলিক দেখাতে পারে। শ্রেণীবিভাগ হলো নেটওয়ার্ক সম্পর্কে একটি স্থানীয় সিদ্ধান্ত, টানেল খোলা শংসাপত্র সম্পর্কে কোনো বিবৃতি নয়। অ্যাকাউন্ট পুরোপুরি বৈধ থাকতে পারে, অথচ লেবেল যেখানে ছিল সেখানেই থাকতে পারে।
তিনটি শ্রেণী, যার একটি আপনি নির্ধারণ করতে পারেন না
Windows তিনটি শ্রেণী দেখায় এবং এর মধ্যে কেবল দুটি প্রশাসক নির্ধারণ করতে পারেন। তৃতীয়টি অপারেটিং সিস্টেম ঠিক করে, নেটওয়ার্কটিকে ডোমেইন কন্ট্রোলারের কাছে সফলভাবে প্রমাণ করার পরে।
| Category | How it is assigned | What it affects |
|---|---|---|
| Public | Default for unidentified networks, or set manually | Rules scoped to the public profile |
| Private | Set manually, or by the user on a trusted network | Rules scoped to the private profile |
| DomainAuthenticated | Determined by Windows after domain authentication | Rules scoped to the domain profile |
Get-NetConnectionProfile | Select-Object Name,InterfaceAlias,NetworkCategory,IPv4Connectivity
Set-NetConnectionProfile -InterfaceAlias 'Corp VPN' -NetworkCategory Private
Set-NetConnectionProfile -InterfaceAlias 'Corp VPN' -NetworkCategory DomainAuthenticated
তৃতীয় কমান্ডটি ব্যর্থ হয়, আর এটি অনুমতির সমস্যা নয়, বরং নথিভুক্ত আচরণ। কমান্ডলেটের নিজস্ব রেফারেন্স জানায় যে ডোমেইন শ্রেণী এভাবে নির্ধারণ করা যায় না, কারণ Windows এটি ডোমেইন প্রমাণীকরণ থেকে নিঃসরণ করে। ত্রুটিটি দেখা এই নিশ্চয়তা দেয় যে শ্রেণীটি একটি পরিণতি, কোনো সেটিং নয়।
প্রথম কমান্ডটি সেই এন্ডপয়েন্টে চালান যার ট্রাফিক আটকানো হচ্ছে। গেটওয়ের নিজের ইন্টারফেস শ্রেণীবিভাগ প্রতিটি সংযোগকারী ওয়ার্কস্টেশন তার টানেলকে কীভাবে শ্রেণীবদ্ধ করেছে সে সম্পর্কে কিছুই বলে না।
নিয়ম তার জন্য লেখা প্রোফাইল অনুসরণ করে
শ্রেণীটি জানার পর অনুপস্থিত অ্যাক্সেস সাধারণত নিজেই ব্যাখ্যা হয়ে যায়। প্রতিটি Windows Firewall নিয়ম একটি প্রোফাইল পরিসর বহন করে, আর ডোমেইনের জন্য নির্ধারিত নিয়ম ইন্টারফেস পাবলিক থাকলে প্রযোজ্য হয় না। তিনটি কমান্ড এটিকে তত্ত্ব নয়, উত্তর বানায়, আর তৃতীয়টি সেই ক্ষেত্রটি ধরে যেখানে প্রোফাইল কখনোই সমস্যা ছিল না:
(Get-NetFirewallRule -DisplayName 'Allow File Share').Profile
Get-NetFirewallRule -DisplayName 'Allow File Share' | Get-NetFirewallAddressFilter
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction
দ্বিতীয় কমান্ডটিই অস্পষ্ট প্রতিবেদনকে সমাধানে পরিণত করে। যদি নিয়মটি এমন দূরবর্তী ঠিকানা পরিসরে সীমিত থাকে যা VPN পুল ধারণ করে না, তবে প্রোফাইল বদলেও কাজ হবে না।
ডিফল্ট ইনবাউন্ড অ্যাকশনও দেখুন। যে মেশিনে ইনবাউন্ড ডিফল্টভাবে আটকানো থাকে, সেখানে অনুপস্থিত অনুমোদন নিয়ম প্রত্যাখ্যানের বদলে নীরবতা তৈরি করে। ক্লায়েন্টের দিক থেকে এটি রাউটিং ব্যর্থতার মতোই দেখায়, তাই এই টিকেটগুলোর অনেকগুলোই ভুল অনুমান দিয়ে শুরু হয়।
কোন মেশিন নিয়মটি প্রয়োগ করে তা নির্ধারণ করুন
শ্রেণী বদলানোর আগে নির্ধারণ করুন ব্লকটি কোথায় ঘটছে। যে সার্ভার শেয়ারটি হোস্ট করে তার নিজের ফায়ারওয়াল থাকতে পারে, আর তার নিয়মগুলো VPN পুল থেকে আসা ট্রাফিকে প্রযোজ্য হয়, ক্লায়েন্ট তার অ্যাডাপ্টারকে কী নাম দিয়েছে তা নির্বিশেষে। সেখানকার প্রত্যাখ্যান আপনার চালানো কোনো স্থানীয় কমান্ডে দৃশ্যমান নয়, আর ক্লায়েন্ট দিক কেবল জানায় যে রিসোর্সটি পাওয়া যাচ্ছে না। ক্লায়েন্টের শ্রেণীবিভাগ স্পর্শ করার আগে গন্তব্যের নিজস্ব নিয়ম পরীক্ষা করুন।
ক্লায়েন্ট থেকে নির্দিষ্ট পোর্টে পরীক্ষা করুন, তারপর একই VPN-এর অন্য হোস্ট থেকে পরীক্ষার সঙ্গে তুলনা করুন। দুটোই ব্যর্থ হলে সমস্যা গন্তব্যে বা পথে। কেবল একটি ব্যর্থ হলে পার্থক্যটি ওই মেশিনের স্থানীয়, আর প্রোফাইল শ্রেণী সম্ভাব্য কারণ হয়ে ওঠে।
দিকটিও মনে রাখুন। ইনবাউন্ড SMB অনুমোদনকারী নিয়ম এমন ক্লায়েন্টের জন্য কিছুই করে না যার নিজের আউটবাউন্ড নিয়ম একই ট্রাফিক আটকায়। ফাইল এক্সপ্লোরার উইন্ডো থেকে দুটি ব্যর্থতা আলাদা করা যায় না, তাই কিছু সম্পাদনার আগে প্রতিটি দিক আলাদাভাবে পরীক্ষা করুন।
সবকিছু নতুন নাম দেওয়ার বদলে কী করবেন
একটি বিস্তৃত নিয়ম মেটাতে অজানা নেটওয়ার্ককে প্রাইভেট করা বাস্তব পরিণতিসহ বাস্তব পরিবর্তন। প্রাইভেট প্রোফাইল সাধারণত পাবলিকের চেয়ে বেশি আবিষ্কার ও বেশি ইনবাউন্ড ট্রাফিক অনুমোদন করে।
লক্ষ্য যদি হয় নির্দিষ্ট কোনো সেবা VPN ক্লায়েন্টদের কাছে পৌঁছাবে, তবে প্রোফাইলের বদলে দূরবর্তী ঠিকানা দিয়ে নিয়মটি সীমিত করুন। এটি উদ্দেশ্যকে নিখুঁতভাবে প্রকাশ করে, শ্রেণীবিভাগ নির্বিশেষে কাজ করে এবং Windows একটি ভার্চুয়াল অ্যাডাপ্টার সম্পর্কে সঠিকভাবে অনুমান করবে কি না তার উপর নির্ভর করে না। ইন্টারফেস পুনঃশ্রেণীবদ্ধ করা কোনো ক্লায়েন্ট আপডেটও এটি সহ্য করে। পুলটি নিয়মে লিখুন, পরের ব্যক্তি না জিজ্ঞেস করেই উদ্দেশ্য পড়তে পারবে।
যদি ডোমেইন শ্রেণী সত্যিই প্রত্যাশিত হয় কিন্তু কখনো দেখা না যায়, তবে এটি আলাদা তদন্ত। মেশিনটি ডোমেইন-জয়েন কি না, টানেলের মধ্য দিয়ে ডোমেইন কন্ট্রোলারে পৌঁছাতে পারে কি না এবং সুরক্ষিত চ্যানেল সুস্থ কি না তা পরীক্ষা করুন। এই তিনটি কমান্ড একটিও রেজিস্ট্রি সম্পাদনা ছাড়াই তার উত্তর দেয়:
Get-CimInstance Win32_ComputerSystem | Select-Object PartOfDomain,Domain
Test-ComputerSecureChannel -Verbose
nltest /dsgetdc:corp.example.com
এই তিনটি উত্তর দেয় এন্ডপয়েন্টটি আদৌ নেটওয়ার্কটি প্রমাণ করতে পারত কি না। যদি এটি কন্ট্রোলারে পৌঁছাতে না পারে, তবে অ্যাডাপ্টার কতবার রিসেট করলেও ডোমেইন শ্রেণী কখনো নির্ধারিত হবে না। যে ফায়ারওয়াল নিয়মের পিছনে আপনি ছিলেন সেটি কখনোই আসল সমস্যা ছিল না, আর লেবেলটি কারণ নয়, ভাঙা পথের লক্ষণ ছিল।