Windows-এ স্প্লিট টানেল: গেটওয়ে বাক্স আর অনুপস্থিত প্রিফিক্স
Windows সবকিছু টানেল দিয়ে পাঠায় যতক্ষণ না আপনি একটি চেকবক্স খালি করেন, তারপর খুব কম পাঠায় যতক্ষণ না সাবনেট যোগ করেন। দুটোই একই পরিবর্তনের অংশ।
টানেল জানায় সংযোগ হয়েছে আর উইকি এখনও লোড হয়। তারপর একটি ডাউনলোড আটকে যায় এবং শেলফের শেয়ার উত্তর দেওয়া বন্ধ করে। টানেল তার কাজ করেছে, আর প্রোফাইলটি কেবল প্রতিটি গন্তব্যের দাবি করেছে।
Windows একটি VPN সংযোগকে রুটের সিদ্ধান্ত হিসেবে ধরে। যতক্ষণ সেই সিদ্ধান্ত সংকুচিত না হয়, মেশিনটি আচরণ করে যেন এটি অফিসে চলে গেছে।
কেন কাজ করা টানেলও বিভ্রাটের মতো লাগে
যে প্রোফাইলকে দূরবর্তী গেটওয়ে ব্যবহারের অনুমতি দেওয়া হয়, সেটি টানেলের মধ্য দিয়ে একটি ডিফল্ট রুট ইনস্টল করে। স্থানীয় লিংকে নেই এমন প্রতিটি গন্তব্য তখন অফিসের ফায়ারওয়াল দিয়ে বেরিয়ে যায়। স্থানীয় শেয়ার উত্তর দেওয়া বন্ধ করে, কারণ তাদের ট্রাফিক এখন অন্য মহাদেশে গিয়ে ফিরে আসে। ক্লায়েন্টের অবস্থায় কিছুই তা প্রতিফলিত করে না।
উপসর্গগুলো ইচ্ছাকৃতভাবে বিভ্রান্তিকর। নাম রিজলিউশন তখনও কাজ করতে পারে যখন শেয়ারটি সময় শেষ করে, বা উল্টোটাও। ব্যবহারকারী জানান VPN ভাঙা, ক্লায়েন্ট জানায় সে ঠিক আছে, এবং দুটি বক্তব্যই সঠিক।
IPv4 ডায়ালগে লুকানো চেকবক্সটি
সেটিংটি কয়েকটি ডায়ালগ গভীরে। ncpa.cpl খুলুন, সংযোগে ডান-ক্লিক করুন, তারপর IPv4 বৈশিষ্ট্য, তারপর অ্যাডভান্সড, এবং যে বিকল্পটি সংযোগটিকে দূরবর্তী ডিফল্ট গেটওয়ে হতে দেয় তা মুছে ফেলুন। ওই একটি বাক্সই ঠিক করে প্রোফাইলটি পূর্ণ টানেল কি না। প্রোফাইলের বাকি সব এখনও প্রযোজ্য।
পুনরায় সংযোগের আগে ও পরে route print -4 তুলনা করুন। 0.0.0.0 এন্ট্রিটি যা আগে টানেলের দিকে ইঙ্গিত করত তা চলে যাওয়া উচিত, আর কর্পোরেট প্রিফিক্সগুলো থাকা উচিত।
route print -4 | findstr /c:"0.0.0.0"
Get-VpnConnection -Name 'Work VPN' | Select-Object Name, SplitTunneling, Routes
ইন্টারফেস মেট্রিক বদলানো এর বিকল্প নয়। একটি মেট্রিক কেবল দুটি প্রতিদ্বন্দ্বী ডিফল্টের মধ্যে সিদ্ধান্ত নেয়, আর যে ক্লায়েন্ট সংযোগের সময় নিজের ডিফল্ট পুনরায় ইনস্টল করে সে যেকোনো সংখ্যা নির্ধারিত হলেও ওই প্রতিযোগিতা জিতে যায়।
যে প্রিফিক্স কেউ তালিকাভুক্ত করেনি
স্প্লিট টানেলিং প্রোফাইলে রেকর্ড করা প্রিফিক্সগুলোই প্রকাশ করে। প্রোফাইল লেখার পরে যোগ করা একটি অফিস সাবনেট অগম্য থাকে, যদিও টানেল সম্পূর্ণ সুস্থ। তারপর রিপোর্টটি ভাঙা VPN নয়, বরং একটি ভাঙা সার্ভার হিসেবে আসে।
হাতে যোগ করা রুট গেটওয়ে ঠিকানা বদলানো পর্যন্ত ফাঁক ঢেকে রাখে। সংযোগে প্রিফিক্সটি লিখে রাখা বেশি টেকসই, কারণ তখন প্রিফিক্সটি অনুমান করা ঠিকানার বদলে সংযোগের অনুসরণ করে।
route -p add 172.20.8.0 mask 255.255.255.0 10.8.0.1
Add-VpnConnectionRoute -ConnectionName 'Work VPN' -DestinationPrefix 172.20.8.0/24
Get-VpnConnection -Name 'Work VPN' | Select-Object -ExpandProperty Routes
সংরক্ষিত তালিকা আর জীবন্ত টেবিল একসঙ্গে পড়ুন। সংরক্ষিত প্রিফিক্স থাকতে পারে অথচ টেবিল সেটি কখনও পায় না, যা ঘটে যখন একটি ম্যানেজমেন্ট এজেন্ট সংযোগ ওঠার পর রুট ফিল্টার করে। উল্টোটাও ঘটে, রেজিস্ট্রি রুট এমন অ্যাডাপ্টারের দিকে ইঙ্গিত করে যা বন্ধ। কোনও একটি দৃশ্যই পুরো গল্প বলে না।
রিবুটের পরে ফলাফল প্রমাণ করা
দুই দিকেই ট্রেস করুন এবং নাম দিয়ে সমাধান করুন। পাবলিক ট্রেস ISP দিয়ে বেরোনো উচিত, অভ্যন্তরীণ ট্রেস টানেলে ঢোকা উচিত, আর অভ্যন্তরীণ হোস্ট কেবল ঠিকানা নয়, নাম দিয়েও উত্তর দেওয়া উচিত।
tracert -4 www.example.com
tracert -4 wiki.corp.example
ping -4 fileserver.corp.example
ping -4 172.20.8.20
সংযোগ বিচ্ছিন্ন, পুনরায় সংযোগ এবং একটি রিবুটের পরে পুনরাবৃত্তি করুন। যে প্রিফিক্স ম্যানুয়াল পুনরায় সংযোগ টিকে থাকে এবং রিস্টার্টের পরে হারিয়ে যায়, সেটি কখনও প্রোফাইলে সংরক্ষিত ছিল না।
প্রিন্টার আর NAS-ও পরীক্ষায় রাখুন, কারণ ল্যাপটপের পাশের ডিভাইসগুলো কেটে দেওয়া স্প্লিট টানেল একটি সমস্যা সমাধান করেছে আরও ছোট ও আরও বিরক্তিকর একটি সমস্যা তৈরি করে। Microsoft-এর Add-VpnConnectionRoute রেফারেন্স হলো সেই জায়গা যেখানে আপনার মডিউল সংস্করণের সঙ্গে প্যারামিটারের বানান মিলিয়ে দেখবেন।