VMware অতিথির সঙ্গে হোস্ট VPN সেশন শেয়ার করা
টানেল অ্যাডাপ্টার ব্রিজে যোগ দেয় না, আর Windows 10 সাবনেটের মধ্যে রুট করে না। বদলে NAT সহ host-only সেগমেন্টই অতিথিকে বহন করে।
আপনার ভার্চুয়াল মেশিন এমন একটি অভ্যন্তরীণ সিস্টেমে পৌঁছাতে পারে না যা হোস্টে নিখুঁতভাবে কাজ করে, আর হোস্টটি এমন একটি ক্লায়েন্টের মাধ্যমে সংযুক্ত যা রাউটিং টেবিলের মালিক। ভার্চুয়াল অ্যাডাপ্টারকে টানেলে ব্রিজ করা সহজ মনে হয় এবং দুটি আলাদা কারণে ব্যর্থ হয়। দুই মেশিনের নিজস্ব একটি সেগমেন্টে অনুবাদই কাজ করে। মূল্যটি বাস্তব: প্রতিটি অতিথি কর্পোরেট নেটওয়ার্কে নিজের পরিচয় হারায়।
ব্রিজ কাজ করতে না পারার দুটি কারণ
ক্লায়েন্টের অ্যাডাপ্টার সাধারণত একটি ঠিকানা বহন করে, প্রায়ই /32, এবং ক্লায়েন্ট হোস্টের রুট পুনর্লিখন করে যাতে সাধারণ বহির্গামী ট্রাফিক টানেলকে প্রাধান্য দেয়। হোস্টের অ্যাপ্লিকেশনগুলো সেই টেবিল মেনে প্রাইভেট সিস্টেমে পৌঁছায়। ব্রিজ করা অতিথি টেবিলটি একেবারেই পড়ে না, কারণ তার ফ্রেম IP স্তরের নিচের একটি সুইচ দিয়ে বের হয়।
টানেল অ্যাডাপ্টারকে ব্রিজে রাখলে পথটি তত্ত্বগতভাবে সমাধান হতো, কিন্তু ড্রাইভার তা গ্রহণ করবে না। Windows 10 কেবল একটি ব্রিজ ডিভাইস অনুমোদন করে এবং ওয়ার্কস্টেশনকে দুই সাবনেটের মধ্যে ফরোয়ার্ড করার রাউটিং ভূমিকা দেয় না। যা থাকে তা হলো সোর্স অনুবাদ। অতিথির ট্রাফিককে হোস্ট থেকে আসা দেখান, আর হোস্টের নিজের সিদ্ধান্তই তা টানেলে বহন করে নিয়ে যায়, অতিথির এমন রুটের প্রয়োজন ছাড়াই যা তার থাকতে পারে না।
হোস্টের মালিকানাধীন একটি সেগমেন্ট তৈরি করুন
ভার্চুয়াল নেটওয়ার্ক এডিটরে VMnet3-এর মতো একটি host-only নেটওয়ার্ক যোগ করুন এমন প্রিফিক্সে যা আপনি অন্য কোথাও রুট করেন না, যেমন 172.28.90.0/24। হোস্ট সেই অ্যাডাপ্টারে 172.28.90.1 নেয় এবং অতিথি একই সুইচে যুক্ত হয়। সেই সেগমেন্টে হাইপারভাইজরের DHCP বন্ধ করুন যাতে একটি ঠিকানা সেবাই তার মালিক হয়।
এর উপরে কিছু তৈরি করার আগে নিশ্চিত করুন Windows ইন্টারফেসটি দেখতে পাচ্ছে, কারণ পুরো নকশাটি নির্ভর করে সেই অ্যাডাপ্টারটি সাধারণ হওয়ার উপর:
Get-NetAdapter | Format-Table Name, InterfaceDescription, Status
Get-NetIPAddress -AddressFamily IPv4 | Where-Object PrefixLength -eq 24host-only অ্যাডাপ্টার সেখানে যেকোনো ফিজিক্যাল অ্যাডাপ্টারের মতোই দেখায়। টানেল অ্যাডাপ্টারের সঙ্গে ঠিক এটাই পার্থক্য, যাকে কোনো কিছুতে যুক্ত করা যায় না।
অতিথির প্রিফিক্স অনুবাদ করুন
একটি উচ্চতর সেশন খুলে প্রিফিক্সটি অনুবাদ করুন। আগে দেখুন কী ইতিমধ্যে আছে, কারণ কন্টেইনার রানটাইম ও হাইপারভাইজার নিজেদের অনুবাদ ইনস্টল করে এবং ভুলটি মুছলে অন্য একটি পণ্য ভেঙে যায়।
Get-NetNat | Format-Table Name, InternalIPInterfaceAddressPrefix, Active
New-NetNat -Name "LabGuestEgress" -InternalIPInterfaceAddressPrefix 172.28.90.0/24তারপর অতিথিকে সেই প্রিফিক্সে একটি স্ট্যাটিক ঠিকানা, গেটওয়ে হিসেবে 172.28.90.1 এবং টানেল হোস্টকে যে রিজলভার ঠিকানা দেয় তা দিয়ে কনফিগার করুন। অনুবাদ প্যাকেট ফরোয়ার্ড করে এবং অতিথিকে DNS সম্পর্কে কিছু শেখায় না, তাই স্থানীয় রাউটারে রাখা অতিথি পাবলিক নাম রিজলভ করে এবং প্রতিটি অভ্যন্তরীণ নামে ব্যর্থ হয়।
প্রথম হপ দেখুন, তারপর মূল্য
নিকটতম সীমানা পরীক্ষা করুন একটি অ্যাপ্লিকেশন পরীক্ষা করার আগে। যে ট্রেস হোস্ট গেটওয়েতে থেমে যায় তার অর্থ অনুবাদ হচ্ছে না, আর যা হোস্টের ওপারে থেমে যায় তার অর্থ টানেল বন্ধ বা দূর প্রান্ত অনূদিত ঠিকানাটি প্রত্যাখ্যান করেছে।
tracert -d 172.20.31.10
nslookup intranet.corp.example
Get-NetNatSession -NatName "LabGuestEgress"টানেল চালু থাকা অবস্থায় একই গন্তব্যে হোস্টের নিজের প্রবেশের সঙ্গে তুলনা করুন। হোস্ট সফল হয়ে অতিথি না হলে ত্রুটি অনুবাদে বা অতিথির গেটওয়ে সেটিংয়ে, সংযোগে নয়।
তারপর এই বিনিময়টি মেনে নিন। কর্পোরেট সিস্টেম এখন প্রতিটি অতিথির জন্য একটি ঠিকানা দেখে, তাই ডিভাইস সার্টিফিকেট ও প্রতি-ডিভাইস পসচার যাচাই তাদের আলাদা করতে পারে না, এবং কিছু নীতি এটি সম্পূর্ণ নিষিদ্ধ করে। ড্রপ আচরণও ঠিক করুন, কারণ টানেল ব্যর্থ হলে অনূদিত ট্রাফিক সাধারণ ইন্টারনেট পথে পড়ে যেতে পারে, যদি না আপনি হোস্ট ফায়ারওয়ালে সেই প্রিফিক্স ব্লক করেন।