VirtualBox NAT গেস্ট DNS হোস্ট VPN-এ যোগ দেওয়ার পর ভেঙে যায়
গেস্টের নিজস্ব রিজলভার আছে এবং NAT অ্যাডাপ্টারের দুইটি DNS মোড আছে। একটি লুকআপ ট্রেস করুন, তারপর ঠিক করুন হোস্ট রিজলভার মোড VPN নীতির সঙ্গে মানানসই কি না।
Windows হোস্টে VPN সংযুক্ত হলে অভ্যন্তরীণ অ্যাপ্লিকেশন নামটি রিজলভ হয়, আর Ubuntu গেস্টের ভিতরে হয় না। গেস্ট নিজের রিজলভার সেটিংস রাখে, এবং তার সামনের NAT অ্যাডাপ্টার দুইটি ভিন্ন উপায়ে DNS কোয়েরির উত্তর দিতে পারে। গেস্টকে একটি পাবলিক রিজলভারে দেখালে ওয়েবসাইট আবার লোড হয়, কিন্তু প্রাইভেট নামগুলো ভাঙা থাকে। তাই কোনো কিছু সম্পাদনার আগে রিজলভার পথটি ট্রেস করা হয়।
NAT অ্যাডাপ্টার দিয়ে একটি লুকআপ ট্রেস করুন
নিয়ন্ত্রণ হিসেবে একটি অভ্যন্তরীণ পূর্ণ-যোগ্যতাসম্পন্ন নাম এবং একটি পাবলিক নাম বেছে নিন। টানেল চালু থাকলে হোস্টে নিশ্চিত করুন যে অভ্যন্তরীণ নামটি রিজলভ হয় এবং তার পিছনের অ্যাপ্লিকেশন খোলে। তারপর গেস্টের ভিতরে একই দুইটি লুকআপ চালান এবং টুল নয়, উত্তরগুলো তুলনা করুন।
আরও এগোনোর আগে নিশ্চিত করুন অ্যাডাপ্টারটি সত্যিই সাধারণ NAT। একটি ব্রিজড অ্যাডাপ্টার, একটি নামকৃত NAT নেটওয়ার্ক এবং গেস্টের ভিতরে দ্বিতীয় VPN ক্লায়েন্ট—প্রত্যেকের নিজস্ব কনফিগারেশন ও নিজস্ব ব্যাখ্যা আছে। এই পর্যায়ে অনুমান করা বাকি তদন্ত নষ্ট করে।
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet resolvectl status | head -40 cat /etc/resolv.conf
প্রথম কমান্ডটি অ্যাডাপ্টারের মোড এবং এতে সংযুক্ত যেকোনো NAT নেটওয়ার্ক দেখায়। Ubuntu গেস্টের ভিতরে দ্বিতীয়টি প্রতি-লিঙ্ক DNS সেটিংস তালিকাভুক্ত করে, আর তৃতীয়টি প্রায়ই শুধু একটি স্থানীয় স্টাব ঠিকানা প্রকাশ করে, অর্থাৎ আসল upstream অন্য কোথাও অবস্থিত।
রিজলিউশন ও পৌঁছানোযোগ্যতা আলাদা রাখুন। যে গেস্ট সঠিক ঠিকানা পায় কিন্তু সংযোগ খুলতে পারে না, তার রাউটিং, ফিল্টারিং বা পরিষেবা-অনুমতির সমস্যা আছে, এবং আরও DNS পরিবর্তন কখনো সেখানে পৌঁছাবে না। ঠিকানাটি আলাদাভাবে পরীক্ষা করুন এবং দুটির মধ্যে কোনটি ব্যর্থ হয়েছে লিখে রাখুন।
প্রক্সি মোড ও হোস্ট রিজলভার মোড ভিন্ন প্রক্রিয়া
প্রক্সি মোডে NAT ইঞ্জিন গেস্টের কোয়েরি এমন DNS সার্ভারে পাঠায় যা সে ইতিমধ্যে জানে। হোস্ট রিজলভার মোডে এটি কোয়েরিটি আটকায় এবং হোস্ট অপারেটিং সিস্টেমকে বলে নামটি এখন হোস্ট যা ব্যবহার করছে তা দিয়ে রিজলভ করতে। শুধু দ্বিতীয়টিই এমন VPN ক্লায়েন্ট অনুসরণ করে যা টানেল ওঠার সময় হোস্ট রিজলিউশন পুনর্লিখন করে। তাই দুইটি সেটিং একই মেশিনে ভিন্ন উত্তর দেয়।
এই পার্থক্যই এক বাক্যে গোটা সমস্যা। গেস্টকে সার্ভার ঠিকানার তালিকা দেওয়া আর Windows-কে তার কনফিগার করা রিজলভার দিয়ে নাম রিজলভ করতে বলা এক নয়, এবং বিভক্ত-DNS VPN-এ দুই উত্তর আলাদা হয়। অ্যাডাপ্টার অপশনটি প্রক্রিয়া নিয়ে, অনুমতি নিয়ে নয়।
কোনো মোডই কোনো কিছুতে প্রবেশাধিকার দেয় না। অনুমোদন VPN নীতিতে ও পরিষেবায় থাকে, আর কাজ করা লুকআপ শুধু বোঝায় একটি নাম ঠিকানায় পরিণত হয়েছে।
অ্যাডাপ্টার বদলান, তারপর গেস্ট কী পায় যাচাই করুন
প্রথমে VM-এর নেটওয়ার্ক ও DNS সেটিংস লিখে রাখুন, তারপর মেশিন বন্ধ করুন যাতে স্থায়ী কনফিগারেশনই সম্পাদনা করেন। work-ubuntu নামের VM-এর প্রথম অ্যাডাপ্টার NAT বহন করলে, প্রতি-অ্যাডাপ্টার অপশনটি হোস্ট থেকে সেট করা হয় VM বন্ধ থাকা অবস্থায়। এরপর আবার চালু করুন এবং exit status-এ ভরসা না করে ফলাফল পরীক্ষা করুন।
VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns
শেষ অঙ্কটি অ্যাডাপ্টার নম্বর বেছে নেয়, তাই এটি সর্বজনীন মান নয়; অ্যাডাপ্টার 2 সেটিং সেই স্থানে 2 বহন করবে। ইনস্টল করা VirtualBox সংস্করণের অন্তর্গত VBoxManage বাইনারি ব্যবহার করুন, কারণ পাথে থাকা পুরোনো একটি এমন সেটিংস লিখতে পারে যা চলমান সংস্করণ উপেক্ষা করে।
বরং প্রক্সি অপশন চালু করলে ভিন্ন প্রক্রিয়া বাছা হয় এবং তা আপনাকে হোস্ট রিজলভার আচরণ দেয় না। গেস্ট চালু হওয়ার পর তার প্রকৃত DNS কনফিগারেশন পরীক্ষা করুন, কারণ গেস্টের ভিতরে পিন করা রিজলভার বা এনক্রিপ্টেড-DNS সেটিং অ্যাডাপ্টার যা দেয় তা নির্বিশেষে অ্যাপ্লিকেশনগুলোকে অন্য পথে রাখে।
VPN জীবনের পুরোটা জুড়ে পরীক্ষা করুন, শুধু একবার নয়
গেস্টে দুইটি লুকআপ পুনরাবৃত্তি করুন, তারপর আসল অ্যাপ্লিকেশন খুলুন এবং এটি TLS হোস্টনাম যাচাই করতে দিন। শুধু IP-তে সংযোগ পরীক্ষা DNS-কে ভালোভাবে আলাদা করে, কিন্তু এটি সার্টিফিকেট পরীক্ষা নয় এবং তা হিসেবে রিপোর্ট করা উচিত নয়। নাম, ঠিকানা ও অ্যাপ্লিকেশন ফলাফল একসঙ্গে লিখুন।
অনুমোদিত উইন্ডোতে হোস্ট VPN বিচ্ছিন্ন ও পুনঃসংযুক্ত করুন এবং পরীক্ষাটি পুনরাবৃত্তি করুন। ফলাফল প্রবেশাধিকার নীতির সঙ্গে মিলা উচিত, আর পাবলিক রিজলিউশন আবার কাজ করা বলছে না প্রাইভেট কোয়েরি উদ্দিষ্ট পথে থেকেছে কি না।
হোস্ট রিজলভার মোড কিছু না বদলালে, লিখিত মানটি ফিরিয়ে দিন এবং পর্যবেক্ষণগুলো রাখুন। হাইপারভাইজার ট্রাফিক বাদ দেওয়া VPN ক্লায়েন্ট, পৌঁছানো যায় না এমন অভ্যন্তরীণ রিজলভার এবং পিন করা গেস্ট সেটিং—প্রত্যেকের আলাদা সংশোধন দরকার, আর অ্যাডাপ্টার ব্রিজ করা DNS রিসেট করার বদলে নেটওয়ার্ক নকশা বদলায়।