Windows Sandbox-এর ট্রাফিক ডিফল্টভাবে হোস্টের VPN অনুসরণ করে না
স্যান্ডবক্স ডিফল্ট সুইচের একটি ভার্চুয়াল অ্যাডাপ্টার দিয়ে নেটওয়ার্কে পৌঁছায়। আপনার টানেল এটি ঢেকে রাখে কি না তা ক্লায়েন্টের বৈশিষ্ট্য, তাই ভেতরে গিয়ে যাচাই করুন।
আপনি Windows Sandbox চালু করেন, তার ভেতরে একটি ব্রাউজার খোলেন, এবং পৃষ্ঠাটি আপনার স্বাভাবিক সংযোগ দিয়েই লোড হয়, যদিও এক মিনিট আগে হোস্টটি VPN-এ ছিল। কিছুই ভাঙেনি। স্যান্ডবক্স হোস্টের ডিফল্ট সুইচে যুক্ত একটি ভার্চুয়াল নেটওয়ার্ক অ্যাডাপ্টার পায়, আর হোস্টের টানেল সেই পথ ঢাকে কি না সেটি VPN ক্লায়েন্টের বৈশিষ্ট্য, Windows-এর নয়।
স্যান্ডবক্স আসলে যা পায়
স্যান্ডবক্স হলো নিজস্ব নেটওয়ার্ক অ্যাডাপ্টারযুক্ত একটি হালকা ভার্চুয়াল মেশিন। সেই অ্যাডাপ্টারটি হোস্টের Hyper-V ডিফল্ট সুইচের মধ্য দিয়ে যুক্ত হয়, যা মেশিন ছাড়ার আগে স্যান্ডবক্সের ট্রাফিককে হোস্টের ভার্চুয়াল Ethernet ইন্টারফেসে রূপান্তর করে। এই খুঁটিনাটিই এ নিয়ে মানুষের রিপোর্ট করা প্রায় প্রতিটি উপসর্গ ব্যাখ্যা করে।
তাই স্যান্ডবক্স আপনার ডেস্কটপের কোনো প্রসেস নয়। এটি একটি আলাদা নেটওয়ার্ক প্রান্তবিন্দু, যার প্যাকেট হোস্ট ফরওয়ার্ড করে, আর হোস্টের ফায়ারওয়াল ও VPN ক্লায়েন্ট সেই ফরওয়ার্ডিংকে নিজ নিজ ভঙ্গিতে দেখে। ব্রাউজার প্রসেসের জন্য লেখা নিয়ম ভার্চুয়াল সুইচ থেকে আসা রূপান্তরিত ফ্রেমের সঙ্গে স্বয়ংক্রিয়ভাবে মেলে না।
একটির মতো দেখতে দুটি প্রয়োজন
একটি প্রাইভেট রিসোর্সে পৌঁছানো এবং স্যান্ডবক্সের প্রতিটি অনুরোধ টানেল দিয়ে চালানো দুটি আলাদা লক্ষ্য। প্রথমটির জন্য এমন রুট ও নাম-রেজল্যুশন দরকার যা স্যান্ডবক্সের প্রান্তবিন্দুর জন্য কাজ করে। দ্বিতীয়টির জন্য এমন প্রয়োগ দরকার যা পুনঃসংযোগ ও ব্যর্থতা সহ্য করে। কোনোটিই অন্যটি থেকে আসে না, আর একটি মেটানো পরীক্ষা দ্বিতীয়টি সম্পর্কে কিছুই বলে না।
একটি পাবলিক ঠিকানা পরীক্ষা দুটি প্রশ্নের কোনোটিরই পূর্ণ উত্তর দেয় না। স্যান্ডবক্সের ভেতর থেকে VPN এক্সিট দেখা যায় মানে কিছু ট্রাফিক টানেল ব্যবহার করেছে। এটি বলে না প্রাইভেট নাম রিজলভ হয় কি না, বা টানেল বন্ধ থাকা অবস্থায় শুরু হওয়া অনুরোধের কী হয়।
কিছু পরীক্ষা করার আগে লিখে রাখুন আপনার কোনটি দরকার, কারণ দুটি প্রয়োজন দুটি ভিন্ন নকশায় নিয়ে যায় এবং কেবল একটিই ব্রাউজার দিয়ে যাচাই করা যায়।
স্যান্ডবক্সের ভেতর থেকে যাচাই করুন
একমাত্র অর্থবহ পর্যবেক্ষণ আসে স্যান্ডবক্সের নিজের সেশন থেকে, হোস্ট থেকে নয়। সেখানে PowerShell খুলে অ্যাডাপ্টার, নাম-রেজল্যুশন এবং ডকুমেন্টেশনের একটি ঠিকানার পথ দেখুন:
ipconfig /all Resolve-DnsName files.corp.example Test-NetConnection 198.51.100.7 -Port 443 Get-NetRoute -DestinationPrefix 0.0.0.0/0
অ্যাডাপ্টার তালিকা দেখায় স্যান্ডবক্স যে ঠিকানা ও গেটওয়ে পেয়েছে। হোস্টের চেয়ে ভিন্ন গেটওয়ে ডিফল্ট সুইচের জন্য স্বাভাবিক, তাই গেটওয়ে নয়, এক্সিট মিলিয়ে দেখুন। রেজল্যুশন পরীক্ষা বলে প্রাইভেট নামের উত্তর আদৌ দেওয়া হয় কি না, আর এখানেই সাধারণত split-horizon সেটআপ হোস্ট থেকে আলাদা হয়। রুট লাইন বলে স্যান্ডবক্স কোন গেটওয়েকে ডিফল্টের মালিক মনে করে।
টানেল সংযুক্ত ও বিচ্ছিন্ন অবস্থায় একই তিনটি পরীক্ষা আবার করুন। এই দুই অবস্থার মধ্যে যে ফলাফল বদলায় না, তা প্রমাণ যে টানেল স্যান্ডবক্সের পথে আদৌ নেই, পাবলিক পরীক্ষা যে ঠিকানাই দেখাক।
স্যান্ডবক্সের নেটওয়ার্ক দরকার না হলে নেটওয়ার্ক বন্ধ করুন
অফলাইন পরিদর্শনের জন্য একটি নিজস্ব কনফিগারেশন ফাইল নেটওয়ার্ক সম্পূর্ণ সরিয়ে দিতে পারে। সেটিংটি কনফিগারেশন ডকুমেন্টে একটি মাত্র এলিমেন্ট:
<Configuration> <Networking>Disable</Networking> </Configuration>
স্যান্ডবক্স কনফিগারেশন রেফারেন্স এই এলিমেন্টটি বর্ণনা করে এবং সতর্ক করে যে চালু নেটওয়ার্কিং আপনার অবিশ্বস্ত অ্যাপ্লিকেশনগুলোর কাছে অভ্যন্তরীণ নেটওয়ার্ক উন্মুক্ত করতে পারে। সেই সতর্কবার্তাই এটিকে ডিফল্ট মেনে না নিয়ে স্পষ্টভাবে সেট করার পুরো কারণ।
তবে সুইচটি কোনো VPN ইন্টারফেস বেছে নেয় না। এটি নেটওয়ার্ক আছে কি নেই নিয়ে একটি দ্বিমুখী সিদ্ধান্ত, স্যান্ডবক্সকে নির্দিষ্ট টানেলে বাঁধার উপায় নয়। যে প্রয়োজনে এক্সিটের নাম নেওয়া হয়, তা কেবল এক্সিট আছে কি নেই ঠিক করা সুইচ দিয়ে মেটানো যায় না।
কিছু দেওয়ার আগে সীমারেখা নকশা করুন
প্রয়োজনটি যদি কঠোর পৃথকীকরণ হয়, তবে এমন একটি ভার্চুয়াল মেশিন নেটওয়ার্ক নকশা বেছে নিন যা তা প্রয়োগ করতে পারে, এবং ফরওয়ার্ড করা বা ভার্চুয়াল মেশিনের ট্রাফিকের জন্য VPN পণ্যের সমর্থিত নীতি ব্যবহার করুন। হোস্ট ক্লায়েন্টের আচরণ অনুমান করা নকশা নয়, আর একটি সফল পরীক্ষা বাস্তবায়ন নয়।
পরীক্ষা পাস করানোর জন্য অবিশ্বস্ত স্যান্ডবক্সকে কর্পোরেট VPN প্রোফাইল বা প্রাইভেট ক্রেডেনশিয়াল দেবেন না। এটি যে সীমারেখা আপনি প্রতিষ্ঠা করতে চেয়েছিলেন তা একটি সবুজ ফলাফলের বিনিময়ে বদলে দেয়, আর ক্রেডেনশিয়াল পরীক্ষার চেয়ে বেশি দিন টিকে থাকে।
বাস্তবায়ন নোটে নেটওয়ার্ক মোড, পর্যবেক্ষিত এক্সিট এবং পুনঃসংযোগের আচরণ লিখে রাখুন। যখন কোনো ক্লায়েন্ট আপডেট ফরওয়ার্ড করা ট্রাফিকের প্রক্রিয়াকরণ বদলে দেয়, তখন সেই নোটগুলোই বলে যে প্রয়োজনটি সত্যিই কখনো পূরণ হয়নি।