Hyper-V ভার্চুয়াল মেশিন কি হোস্টের VPN ব্যবহার করে? এটি সুইচের উপর নির্ভর করে
হোস্টের VPN পুরো মেশিনের জন্য কোনো সেটিং নয়। সুইচের ধরনই ঠিক করে গেস্ট ট্রাফিক ব্রিজ হয়, হোস্টের মাধ্যমে রুট হয়, নাকি বিচ্ছিন্ন থাকে, এবং সেটাই উত্তর বদলে দেয়।
Hyper-V হোস্টে একটি VPN ক্লায়েন্ট ইনস্টল করুন, সেখানে ব্রাউজার খুলুন, আর এক্সিট ঠিকানা বদলে যায়; একই পৃষ্ঠা ভার্চুয়াল মেশিনের ভিতরে খুললে সেটি পুরোনো ঠিকানা দেখাতে পারে, বা কিছুই না দেখাতে পারে। স্বাভাবিক সিদ্ধান্ত হলো ভার্চুয়াল মেশিনটি নষ্ট, অথবা স্প্লিট টানেলিং চালু করতে হবে। এর কোনোটিই অনুসরণ করে না। VPN ক্লায়েন্ট মেশিনের কোনো বৈশিষ্ট্য নয়; এটি রুটের একটি সেট, একটি ভার্চুয়াল অ্যাডাপ্টার এবং প্রায়ই নির্দিষ্ট ইন্টারফেসে যুক্ত একটি ফিল্টার। গেস্ট ট্রাফিক কখনো সেই ব্যবস্থার সঙ্গে মিলবে কি না, তা নির্ভর করে গেস্ট যে ভার্চুয়াল সুইচ ব্যবহার করে তার উপর।
মিথ, সরলভাবে বলা
ধারণাটি হলো হোস্টে ইনস্টল করা VPN পুরো মেশিনকে, ভার্চুয়াল মেশিনসহ, সুরক্ষা দেয়, কারণ ভার্চুয়াল মেশিন ওই মেশিনে চলা একটি প্রক্রিয়া মাত্র। এটি আরামদায়ক ধারণা, কারণ অ্যান্টিভাইরাস ও হোস্ট ফায়ারওয়াল সাধারণত এভাবেই কাজ করে। নেটওয়ার্কের পথগুলো তা করে না।
গেস্টের ফ্রেমে হোস্টের VPN স্ট্যাক তখনই হাত দেয় যখন হোস্ট সেটি রুট বা ফিল্টার করে। এই বাক্যটি একটি স্টিকি নোটে লিখে রাখুন, কারণ নিচের প্রতিটি ঘটনা তারই একটি রূপ।
তিন ধরনের সুইচ, তিনটি পথ
এক্সটার্নাল সুইচ একটি ভার্চুয়াল অ্যাডাপ্টারকে ভৌত নেটওয়ার্ক কার্ডের সঙ্গে বাঁধে, আর গেস্ট নিজের MAC ঠিকানা দিয়ে সেই বন্ধন দিয়ে ফ্রেম পাঠায়। গেস্ট ভৌত নেটওয়ার্কে সমকক্ষ হয়ে ওঠে, নিজের DHCP লিজ, গেটওয়ে ও DNS সার্ভার নিয়ে। হোস্টের VPN ডিফল্ট রুট হোস্ট স্ট্যাকে থাকে এবং সেই ফ্রেমগুলো সরায় না, কারণ সেগুলো হোস্টের মধ্য দিয়ে রুট না হয়ে ব্রিজ হয়। এজন্যই Wi-Fi অ্যাডাপ্টারের উপরে এক্সটার্নাল সুইচ খারাপ ধারণা: অধিকাংশ ওয়্যারলেস ড্রাইভার দ্বিতীয় MAC ঠিকানার জন্য ফ্রেম বহন করে না।
ইন্টার্নাল সুইচ গেস্টদের হোস্টের একটি ভার্চুয়াল অ্যাডাপ্টারের সঙ্গে যুক্ত করে। এটি একা ইন্টারনেট এক্সিট দেয় না; হোস্টের একটি NAT অবজেক্ট অনুবাদ জোগায়, যার বর্ণনা আছে Hyper-V NAT নির্দেশিকায়। এখন গেস্টের প্যাকেট সত্যিই হোস্টের রাউটিং ও NAT পথে ঢোকে, তাই VPN ক্লায়েন্টের রুট ও ফিল্টার আবার গুরুত্বপূর্ণ হয়ে ওঠে। এই ব্যবস্থাতেই ভার্চুয়াল মেশিন সত্যিই হোস্টের VPN অনুসরণ করে, আর এখানেই কিল সুইচ গেস্টকে পুরোপুরি বিচ্ছিন্ন করতে পারে।
প্রাইভেট সুইচের কোনো হোস্ট অ্যাডাপ্টার নেই এবং কোনো আপলিঙ্ক নেই। গেস্টরা কেবল পরস্পরের সঙ্গে কথা বলে, তাই প্রাইভেট সুইচে থাকা ভার্চুয়াল মেশিনের ইন্টারনেট না থাকলে অনুপস্থিত রাউটারই কারণ, আর VPN এখানে অপ্রাসঙ্গিক।
ডিফল্ট সুইচ একটি আলাদা ব্যবস্থা
Windows একটি ডিফল্ট সুইচ দেয় যা ইন্টার্নাল সুইচের সঙ্গে NAT ও DNS প্রক্সি মিলিয়ে দেয়। এর সাবনেট হোস্ট বেছে নেয়, রিস্টার্টের পরে বদলাতে পারে, এবং এটি আপনার নিজে তৈরি NAT নেটওয়ার্কের একই বস্তু নয়। এটিকে ল্যাব নেটওয়ার্ক ভেবে নতুন করে গড়া—এইভাবেই লোকেরা দুটি NAT আর এখনো রুটহীন গেস্ট নিয়ে শেষ করে।
ভার্চুয়াল মেশিন ডিফল্ট সুইচে থাকলে গেস্ট যে ঠিকানা পেয়েছে তা পড়ুন এবং VPN ক্লায়েন্টে হাত দেওয়ার আগে হোস্টের NAT টেবিলের সঙ্গে মিলিয়ে দেখুন। গেস্টের গেটওয়ে ও NAT প্রিফিক্সের অমিল যেকোনো ক্লায়েন্ট সেটিংয়ের চেয়ে বেশি ব্যর্থতার ব্যাখ্যা দেয়।
প্রশ্নটি মিটিয়ে দেওয়া চারটি তথ্য
কিছু বদলানোর আগে এগুলো সংগ্রহ করুন: সুইচের ধরন ও তার আপলিঙ্ক, ভার্চুয়াল মেশিনে যুক্ত অ্যাডাপ্টার, গেস্টের নিজের ঠিকানা, গেটওয়ে ও DNS, এবং হোস্টের NAT ও ডিফল্ট রুটের অবস্থা। কেবল পড়ার কমান্ডগুলো হলো Get-VMSwitch, Get-VMNetworkAdapter -VMName "TestVM", Get-NetNat, এবং Get-NetRoute -DestinationPrefix 0.0.0.0/0; আর গেস্টের ভিতরে ipconfig /all বাকিটা দেয়।
তারপর ঠিক করুন গেস্টের কী করা উচিত। যদি তাকে VPN-এর বাইরে থাকতে হয়, তবে ঠিক সেই পথের জন্য প্রদানকারীর সমর্থিত ব্যতিক্রম নিন, কারণ হোস্টের একটি এক্সিকিউটেবল বাদ দিলে ফরওয়ার্ড করা ভার্চুয়াল মেশিন ট্রাফিক বাদ পড়ে না। যদি তাকে VPN ব্যবহার করতে হয়, তবে হোস্ট ব্রাউজারের পরীক্ষা এটা ঢেকে দেয় বলে ধরে নেওয়ার বদলে ক্লায়েন্ট কীভাবে ভার্চুয়াল মেশিন ট্রাফিক সামলায় তার ডকুমেন্টেশন যাচাই করুন।
গেস্টের ভিতরের পরীক্ষাই একমাত্র প্রমাণ যা গণ্য হয়। গেস্ট থেকে এক্সিট ঠিকানা দেখুন, একটি অন্তর্নিহিত নাম রিজলভ করুন, VPN আবার সংযুক্ত করুন এবং পুনরাবৃত্তি করুন। হোস্টের ব্রাউজারের ফলাফল এর কোনোটির বিকল্প নয়।
মিথের দাম
লোকে শুধু একটি পরীক্ষা পাস করানোর জন্য কিল সুইচ বন্ধ করে, স্ট্যাটিক রুট যোগ করে, বা সুইচ মুছে আবার তৈরি করে। প্রতিটি শর্টকাট ব্যর্থতার ধরন বদলে দেয়: গেস্ট এমন পথে ইন্টারনেটে পৌঁছাতে পারে যা কেউ চায়নি, অথবা এক্সটার্নাল সুইচ তার ভৌত অ্যাডাপ্টার আবার বাঁধলে হোস্ট সংযোগ হারাতে পারে।
এক্সটার্নাল সুইচ আবার বাঁধলে হোস্টের নিজের অ্যাক্সেস বিঘ্নিত হয়, তাই একটি আউট-অব-ব্যান্ড পথ খোলা রাখুন এবং এখনো রোগনির্ণয় করার সময় সুইচ মোছা এড়িয়ে চলুন। সঠিক ফল হলো উদ্দিষ্ট গেস্ট পথ, যার মধ্যে আছে এটি কীভাবে আবার সংযুক্ত হয় ও কীভাবে ব্যর্থ হয়, এক পৃষ্ঠা লোডের সবুজ টিক নয়।
টেকসই উত্তর হলো ইনভেন্টরিতে প্রতিটি ভার্চুয়াল মেশিনের জন্য এক লাইন: এটি কোন সুইচ ব্যবহার করে এবং তার গেটওয়ে কোন উপাদান জোগায়। এটা লিখে রাখলে পরের VPN পরিবর্তনটি এক বিকেলের অনুমান নয়, বরং একবার দেখে নেওয়া।