Windows-এর অন্তর্নির্মিত VPN কেন বিক্রেতার SSL গেটওয়েতে পৌঁছায় না
Windows-এর সঙ্গে চার ধরনের টানেল আসে, আর বিক্রেতার গেটওয়ে তাদের একটি নয়। শংসাপত্র, রুট বা প্রমাণপত্রে হাত দেওয়ার আগে প্রোফাইলের ধরন দেখে নিন।
Windows-এর সঙ্গে চার ধরনের টানেল আসে, আর বিক্রেতার SSL গেটওয়ে তাদের একটি নয়। তবুও অন্তর্নির্মিত প্রোফাইল এমন একটির দিকে ঘুরিয়ে দিলে, প্রমাণপত্রের অনুরোধের আগেই সংযোগটি ব্যর্থ হয়, সাধারণত স্থানীয় সিস্টেম সংযোগটি বন্ধ করেছে বলে একটি বার্তা আসে। ওই লেখাটি একটি অমিলের সংকেত, রোগনির্ণয় নয়। প্রোফাইলের ধরন আর যে ক্লায়েন্ট প্রোটোকলটির মালিক, দুটির মিলতে হবে, আর তাদের একটি অনুপস্থিত।
চার ধরন আর একটি ডায়ালগ
প্রতিটি সংরক্ষিত প্রোফাইলে একটি টানেল ধরন থাকে। অন্তর্নির্মিত ক্লায়েন্ট PPTP, L2TP, IKEv2 এবং SSTP গ্রহণ করে, সঙ্গে একটি স্বয়ংক্রিয় মোড যা সেগুলো ক্রমে চেষ্টা করে। কোনো সাধারণ SSL VPN এন্ট্রি নেই, আর ডায়ালগ দিয়ে একটি যোগ করার কোনো উপায় নেই। বিক্রেতার গেটওয়ে TLS-এর ওপরে নিজস্ব অ্যাপ্লিকেশন প্রোটোকল বলে, যা কেবল সেই বিক্রেতার ক্লায়েন্টই বাস্তবায়ন করে।
তালিকাটি এক কমান্ড দূরে, আর অন্য যেকোনো সমস্যা-অনুসন্ধানের আগে এটি চালানো সার্থক, কারণ এতে এক সেকেন্ড লাগে এবং ভুল ধারণার পুরো একটি শ্রেণি দূর হয়:
Get-VpnConnection | Select-Object Name, ServerAddress, TunnelType, SplitTunneling Get-VpnConnection -Name "Office" | Format-List
প্রোফাইল যদি SSTP বলে আর গেটওয়ে RRAS সার্ভার না হয়, তাহলে অমিলটি আগেই প্রতিষ্ঠিত। শংসাপত্র বা ফায়ারওয়ালের কোনো কাজই তা বদলায় না।
SSTP আর বিক্রেতার TLS পোর্ট 443-এ একই রকম দেখায়
SSTP একটি PPP সেশনকে TLS-এর ভিতরে মুড়ে TCP 443-এ চলে। Microsoft স্ট্যাকে এটি RRAS শেষ করে, যা একটি সার্ভার শংসাপত্র দেখায় যেটি ক্লায়েন্ট যাচাই করে। Fortinet, Citrix বা Pulse যন্ত্রও 443-এ TLS শেষ করে, আর তার পোর্টাল যেকোনো ব্রাউজারে অনায়াসে খোলে।
ওই ব্রাউজার পরীক্ষা পৌঁছানোর ক্ষমতা প্রমাণ করে, সামঞ্জস্য নয়। পোর্টালের পিছনের সেশন প্রোটোকল বিক্রেতার, আর অন্তর্নির্মিত ক্লায়েন্টের তার কোনো বাস্তবায়ন নেই। বিক্রেতা নিজের ক্লায়েন্ট দেয় কি না, তা বলে দেয় আপনি অমিলের কোন অর্ধেক নিয়ে কাজ করছেন।
উল্টো বিভ্রান্তিও ঘটে। প্রকৃত RRAS সার্ভারের বিপরীতে SSTP হিসেবে সাজানো প্রোফাইল শংসাপত্র যাচাইয়ে ব্যর্থ হতে পারে, অথচ পোর্টাল ঠিকই থাকে, আর এটি শংসাপত্রের সমস্যা, প্রোটোকলের নয়।
টানেল তৈরির আগেই যে ত্রুটিগুলো দেখা যায়
800 সিরিজের কোডগুলো যেকোনো টানেল প্রতিষ্ঠার আগেই জানানো হয়, তাই ফায়ারওয়াল নিয়ম খুব কমই সেগুলো সরায়। ত্রুটি 812 হলো সার্ভার-পক্ষের নীতি যা ক্লায়েন্টের দেওয়া প্রমাণীকরণ পদ্ধতি প্রত্যাখ্যান করে। এই পরিসরের বাকিগুলো নেটওয়ার্ক থেকে নয়, স্থানীয় সংযোগ ম্যানেজার থেকে আসে।
কিছু পুনর্নির্মাণের আগে ট্রেসিং চালু করুন। ট্রেস ব্যর্থ হওয়া ধাপটির নাম বলে, আর একটি ধাপের নাম ডায়ালগের লেখার চেয়ে বেশি মূল্যবান:
netsh ras set tracing * enable Get-ChildItem "$env:windir\tracing" | Sort-Object LastWriteTime -Descending | Select-Object -First 5
ট্রেসগুলো ট্রেসিং ডিরেক্টরির নিচে জমা হয় আর আপনি মুছে না দেওয়া পর্যন্ত থাকে, তাই পরে ট্রেসিং বন্ধ করুন, সপ্তাহের পর সপ্তাহ চালু রেখে দেবেন না।
সংযুক্ত প্রোফাইলও সবকিছু ভেঙে দিতে পারে
যে প্রোফাইল সংযোগ করে তারপর ব্রাউজিং, স্থানীয় শেয়ার বা কন্টেইনার ইঞ্জিন ভাঙে, তার রুটিং সমস্যা, টানেল সমস্যা নয়। ডিফল্ট গেটওয়ে টানেলে সরে গেছে, তাই প্রতিটি গন্তব্য এখন এমন এক সহকর্মীর মধ্য দিয়ে যায় যে হয়তো সেটি রুট করে না।
এটি ঠিক করে দুটি নিয়ন্ত্রণ। একটি হলো প্রোফাইলের স্প্লিট-টানেলিং বৈশিষ্ট্য। অন্যটি হলো প্রতিটি অ্যাডাপ্টারের জন্য দূরবর্তী নেটওয়ার্কে ডিফল্ট গেটওয়ে ব্যবহারের বিকল্প, যা IPv4 উন্নত সেটিংসের অধীনে থাকে।
Set-VpnConnection -Name "Office" -SplitTunneling $true Add-VpnConnectionRoute -ConnectionName "Office" -DestinationPrefix 10.20.0.0/16
রুট না যোগ করে স্প্লিট টানেলিং চালু করলে এমন টানেল তৈরি হয় যা সংযোগ করে কিন্তু কিছুই পৌঁছায় না। DNS না দেখে এটি বন্ধ করলে অভ্যন্তরীণ নামগুলো পাবলিক উত্তরে রূপান্তরিত হয়, কারণ অ্যাডাপ্টারের নিজস্ব প্রত্যয় ও সার্ভার ব্যবহার হয় না।
আগে প্লাম্বিং যাচাই করুন, পরে ধরন
এই ক্রমে কাজ করুন, আর সবকিছু একসঙ্গে ঠিক করার বদলে কোনো ধাপ ব্যর্থ হলে থামুন:
Test-NetConnection vpn.example.net -Port 443 Get-VpnConnection -Name "Office" | Format-List TunnelType, ServerAddress, DnsSuffix netsh interface ipv4 show route rasdial Office
প্রথম কমান্ড পৌঁছানোর ক্ষমতাকে প্রোটোকল থেকে আলাদা করে। দ্বিতীয়টি নিশ্চিত করে প্রোফাইল নিজেকে কী বলে দাবি করে। রুট টেবিল দেখায় টানেল ডিফল্ট রুট দখল করেছে কি না। ডায়াল কমান্ড সংযোগ ম্যানেজারের নিজের ত্রুটি জানায়, যা প্রায়ই ডায়ালগের চেয়ে স্পষ্ট।
টিকেটে টানেলের ধরন, গেটওয়ের পণ্য আর সঠিক ত্রুটি লিখে রাখুন। পরের ব্যক্তি তখন এক মিনিটেই জানতে পারেন এটি প্রোটোকল-অমিল, শংসাপত্রের ব্যর্থতা নাকি রুটিং সিদ্ধান্ত, “VPN কাজ করে না” থেকে শুরু না করে।