VirtualBox NAT-এর পিছনে আপনার গেস্ট VPN কেন ব্যর্থ হয়?
আপনার গেস্ট ব্রাউজার কাজ করে, VPN করে না, কারণ বাইরের প্রোটোকলকে NAT যা পাস করবে তার সঙ্গে মিলতে হবে। আগে এক্সচেঞ্জ দেখুন, তারপর অ্যাডাপ্টার মোড।
ভার্চুয়াল মেশিনের ভিতরের ব্রাউজার কাজ করে, কিন্তু একই গেস্টের VPN ক্লায়েন্ট ডেটা বহন করতে পারে না। গেস্টের সংযোগ স্পষ্টতই আছে, তাই ত্রুটি ওই জায়গায় যেখানে VPN-এর বাইরের প্রোটোকলের যা দরকার এবং ভার্চুয়াল NAT যা পাস করবে। ফলাফল তিনটি শর্তে নির্ধারিত হয়: কোন প্রসেস VPN-এর মালিক, তারে বাইরের এক্সচেঞ্জ কেমন দেখায়, এবং অ্যাডাপ্টার মোডটি আপনি যা ভাবছেন তা-ই কি না। যে শর্তটি আপনি বদলাতে পারেন তার নাম দেওয়াই পুরো সিদ্ধান্ত।
নেটওয়ার্ককে দোষ দেওয়ার আগে VPN প্রসেসটি খুঁজুন
আগে ঠিক করুন VPN গেস্টের ভিতরে চলে নাকি হোস্টে, কারণ দুটি ব্যবস্থা ভিন্নভাবে ব্যর্থ হয়। গেস্টের ভিতরের ক্লায়েন্ট গেস্ট অ্যাডাপ্টার এবং তার পিছনের যে কোনো অনুবাদের মধ্য দিয়ে নিজের বাইরের সংযোগ গড়ে। হোস্ট VPN হোস্ট ও হাইপারভাইজার নীতিমালা অনুযায়ী গেস্টের ট্রাফিক ধরে, যা নিজস্ব নিয়মসহ আলাদা ধরার জায়গা। তারা একসাথে চলতে পারে এবং প্রমাণ গুলিয়ে দিতে পারে, তাই কোনোটিকে স্পর্শ করার আগে নির্ধারণ করুন কোনটি এই ট্রাফিক বহনের কথা।
কিছু বদলানোর আগে এখনই গেস্টের অ্যাডাপ্টার মোড লিখে রাখুন। ওই একক মান পরের বেশিরভাগ বিষয় ব্যাখ্যা করে, এবং পরে যে কেউ আপনাকে প্রথমে এটাই জিজ্ঞাসা করবে।
বাইরের এক্সচেঞ্জই সামঞ্জস্য নির্ধারণ করে
VirtualBox নেটওয়ার্কিং গাইড এখানে প্রাসঙ্গিক NAT সীমাবদ্ধতাগুলো তালিকাভুক্ত করে: এটি TCP ও UDP ছাড়া অন্য প্রোটোকল পাস করবে না, GRE-কে অসমর্থিত বলা হয়েছে, এবং PPTP-কে একটি ক্ষতিগ্রস্ত উদাহরণ হিসেবে দেওয়া হয়েছে। PPTP নিয়ন্ত্রণ এক্সচেঞ্জের জন্য TCP এবং ডেটার জন্য GRE ব্যবহার করে, তাই নিয়ন্ত্রণ সংযোগ সফল হতে পারে যখন ডেটা পথ একই সীমান্ত পার হতে পারে না। এগুলো দুটি ভিন্ন প্রমাণ, এবং তার মধ্যে কেবল একটি ট্রাফিক বহনের বিষয়ে। ফায়ারওয়াল নিয়মে TCP পোর্ট 47 অনুমোদন করা আর IP প্রোটোকল 47 অনুমোদন করা এক নয়, এবং দুটিকে নিয়মিত গুলিয়ে ফেলা হয়।
সীমাবদ্ধতাটি NAT শব্দ ব্যবহার করা প্রতিটি ডিভাইসের সঙ্গে নয়, এই NAT ব্যবস্থার সঙ্গে যুক্ত রাখুন। একটি ভৌত রাউটার অনায়াসে GRE পাস করতে পারে যখন ভার্চুয়াল NAT তা ফেলে দেয়, আর ভিন্ন হাইপারভাইজার কী ফরোয়ার্ড করবে সে বিষয়ে নিজের সিদ্ধান্ত নেয়। যেখানে সংস্থা TCP বা UDP-এর ভিতরে অনুমোদিত পরিবহন দেয়, সেই পথের জন্য তার সমর্থিত ক্লায়েন্ট ও প্রোফাইল ব্যবহার করুন। সামঞ্জস্য কয়েকটি প্রয়োজনীয়তার একটি, এবং এটি সার্ভার বিশ্বাস, অ্যাকাউন্ট অনুমতি বা কার্যকর ব্যক্তিগত রুট কোনোটিই প্রতিষ্ঠা করে না।
ব্রিজিং আসলে কী বদলায়
ব্রিজ গেস্টের MAC ঠিকানা অনুবাদের পিছনে লুকানোর বদলে ভৌত সেগমেন্টে দিয়ে দেয়। তারপর গেস্ট ওই সেগমেন্টে সেবা দেওয়া যে কোনো DHCP সার্ভার থেকে ঠিকানা নেয়, সেই ঠিকানার জন্য ARP উত্তর দেয়, এবং আপস্ট্রিম সুইচের কাছে আরও একটি পোর্ট হিসেবে দেখা যায়। এটি ভার্চুয়াল অনুবাদ পথ সরিয়ে দেয়, যা ঠিক সেই কারণেই পুরোনো একটি রেসিপি এটির সুপারিশ করে, এবং একই মুহূর্তে আরও তিনটি জিনিস বদলায়। ঠিকানাদান এখন হাইপারভাইজারের বদলে স্থানীয় সেগমেন্ট থেকে আসে, প্রকাশ মানে গেস্ট ওই সেগমেন্টের কাছে দৃশ্যমান, আর প্রবেশাধিকার সুইচ পোর্ট ও তার নীতির উপর নির্ভর করে। এর প্রত্যেকটি পরিবর্তন প্রত্যাখ্যানের কারণ হতে পারে, এবং কোনোটিই VPN প্রোটোকল নিয়ে নয়।
ব্রিজিং অনুপস্থিত প্লাগইন ইনস্টল করে না, অনুপলব্ধ গোপন এজেন্ট জোগায় না, বা প্রমাণীকরণ প্রত্যাখ্যান মেরামত করে না। এটি পুরোনো প্রোটোকলকে ভালো পছন্দও বানায় না, এবং যেখানে অপারেটরের রক্ষণাবেক্ষণকৃত বিকল্প আছে সেখানে সিদ্ধান্ত হাইপারভাইজার বদলানো নয়, বরং সেই বিকল্প। পোর্ট ফরওয়ার্ড সম্পূর্ণ তৃতীয় ভূমিকা: এটি একটি ইনবাউন্ড সেবা প্রকাশ করে এবং আউটবাউন্ড ক্লায়েন্টের বাইরের প্রোটোকলের জন্য কিছুই করে না।
দুটি টানেল, দুটি প্রমাণের পথ
গেস্ট VPN-এর যেকোনো ভিতরের ঠিকানা বা ব্যক্তিগত রুট গুরুত্বপূর্ণ হওয়ার আগে গেস্ট ইন্টারফেস থেকে তার সমকক্ষ পর্যন্ত একটি ব্যবহারযোগ্য পথ দরকার। যেখানে হোস্ট VPN আছে, এটি নিজের নীতি অনুযায়ী ওই বাইরের এক্সচেঞ্জ রিলে বা ব্লক করতে পারে, এবং গেস্টের ভিতরের টানেল বাইরেরটি সফল হওয়ার পরেই শুরু হয়। কোনো স্তরের কভারেজ একটি সংযুক্ত আইকন বা হোস্ট ব্রাউজারের পাবলিক ঠিকানা থেকে পড়া যায় না।
শেষটি নয়, প্রথম ত্রুটি বার্তাটি রাখুন, কারণ প্রাচীনতম ব্যর্থতাই স্তরের নাম বলে। একবারে একটি সমর্থিত নেটওয়ার্ক ব্যবস্থা বদলান, একই গেস্ট প্রোফাইল ও একই শংসাপত্র নিয়ে, যাতে তুলনাটি অর্থবহ হয়। ব্যর্থতা থেকে সিদ্ধান্ত নিন কোন স্তর ভেঙেছে: স্থানীয় সংহতি, পরিবহন, প্রমাণীকরণ, বা টানেল ওঠার পর সম্পদে প্রবেশ। এর প্রত্যেকের ভিন্ন মালিক, এবং কেবল একটি হাইপারভাইজার প্রশ্ন।
কোন শর্তটি আসলে আপনাকে আটকাচ্ছে
এখন সিদ্ধান্ত তিনটি ভিন্ন উত্তরের প্রশ্নে সংকুচিত হয়। বাইরের প্রোটোকল TCP ও UDP-এর বাইরে হলে NAT মোডই সীমাবদ্ধতা, এবং সামনের পথ ব্রিজিং বা অনুমোদিত TCP/UDP পরিবহন। বাইরের এক্সচেঞ্জ সম্পূর্ণ হয় কিন্তু ডেটা পথ না হলে সীমাবদ্ধতা দ্বিতীয় প্রমাণে দেখা একই জিনিস। টানেল ওঠে কিন্তু সম্পদ উত্তর না দিলে সমস্যা ইতিমধ্যে হাইপারভাইজার পেরিয়ে রাউটিং বা নীতিতে চলে গেছে।
উত্তরটি পাশে অ্যাডাপ্টার মোড লিখে রাখুন, নইলে পরের ব্যক্তি একই বিকেল পুনরাবৃত্তি করবে। যেকোনো সংশোধনের পর গেস্টের ভিতরে প্রকৃত অ্যাপ্লিকেশন ও নাম সমাধান পরীক্ষা করুন, তারপর আবার সংযোগ করুন এবং ব্যর্থতা নীতি চালান। টানেলের মধ্য দিয়ে কাজ করা একটি ওয়েব পৃষ্ঠা কেবল ওয়েব পথ কাজ করে তা প্রমাণ করে, যা সেই মুহূর্তে মনে হওয়ার চেয়ে ছোট দাবি।