VPN চালু, VM-এ পৌঁছানো যাচ্ছে না? রুটটি সম্ভবত কখনোই সমস্যা ছিল না
হোস্ট-ওনলি নেটওয়ার্কের গেস্ট লুকিয়ে রাখার জন্য আপনি টানেলকে দোষ দিয়েছিলেন। সাধারণত পথটি স্থানীয়ই থাকে, আর ব্লক করে ক্লায়েন্ট ফিল্টার বা লিসেনার ঠিকানা।
VPN সংযোগ করুন, আর এক মিনিট আগেও সাড়া দেওয়া ডেভেলপমেন্ট VM নীরব হয়ে যায়। স্পষ্ট গল্পটি নিজেই লেখা হয়ে যায়: টানেল রুটটি দখল করেছে, হোস্ট এখন গেস্ট ট্রাফিক কর্পোরেট নেটওয়ার্কে পাঠাচ্ছে, আর সমাধান হলো একটি স্ট্যাটিক রুট যোগ করা বা অ্যাডাপ্টারকে ব্রিজ মোডে বদলানো। এই গল্পটি মাঝে মাঝে সত্য। কিন্তু এটি সাধারণ কারণ নয়, এবং প্রথমে এটি ধরে কাজ করলে সাধারণত অন্য কিছু ভেঙে যায়।
হোস্ট-ওনলি নেটওয়ার্কিং হলো হোস্টের মালিকানাধীন ও তার গেস্টদের সঙ্গে ভাগ করা একটি সফটওয়্যার নেটওয়ার্ক, যা যেকোনো ভৌত সংযোগ থেকে আলাদা। VPN ক্লায়েন্টের নিজস্ব ইন্টারফেসে কিছুই সেই নেটওয়ার্ক বদলায় না, তাই এটি স্পর্শ করার আগে জানুন চারটি স্তরের মধ্যে কোনটি সত্যিই ব্যর্থ হয়েছে।
রুট সাধারণত এখনও স্থানীয়ই থাকে
রাউটিং টেবিলের প্রথম পাতা নয়, কার্নেলকে জিজ্ঞাসা করুন। লিনাক্সে ip route get 192.168.56.10 ঠিক কোন রুট, ইন্টারফেস ও সোর্স ঠিকানা ব্যবহার হবে তা জানায়, যা ডিফল্ট রুট পড়ে অনুমান করার চেয়ে ভিন্ন উত্তর। যদি আউটপুটে হোস্ট-ওনলি ইন্টারফেসের নাম আসে, তবে ওই পথে টানেল আদৌ জড়িত নয়।
দুটি জিনিস সত্যিই এটি ভাঙতে পারে, আর দুটোই VPN-এর নয়, ঠিকানার সমস্যা। হোস্ট-ওনলি প্রিফিক্সের সঙ্গে ওভারল্যাপ করা দূরবর্তী সাবনেট আরও নির্দিষ্ট রুটকে জেতায়, আর কম মেট্রিকসহ প্রশস্ত রুট বসানো VPN ক্লায়েন্ট প্রিফিক্সটি টেনে নিতে পারে। দুটোই একই কমান্ডে দেখা যায়: আউটপুটে নাম আসা ইন্টারফেসটি হবে টানেল, আর সংশোধনটি সেই ঠিকানা পরিকল্পনার মালিকের কাজ।
রুট নির্বাচন ও প্যাকেট গ্রহণ আলাদা সিদ্ধান্ত
এই অংশটিই মানসিক মডেল সাধারণত বাদ দেয়। নিখুঁত স্থানীয় রুট থাকলেও VPN ক্লায়েন্ট প্যাকেটটি প্রত্যাখ্যান করতে পারে। অনেক ক্লায়েন্ট স্থানীয় নেটওয়ার্ক অ্যাক্সেস নীতি প্রয়োগ করে যা ঠিক করে টানেলের বাইরে কোন গন্তব্য অনুমোদিত, আর সংযুক্ত সাবনেট সেই তালিকা স্বয়ংক্রিয়ভাবে হালনাগাদ করে না।
তাই ব্যর্থতাটি অ্যাপ্লিকেশনের দিক থেকে রাউটিং সমস্যার মতোই দেখায়, আর ক্লায়েন্টের দিক থেকে সম্পূর্ণ আলাদা। যদি ip route get সঠিক ইন্টারফেসের নাম দেয় আর সংযোগ তবুও সময় শেষে ব্যর্থ হয়, রুট সম্পাদনা বন্ধ করুন এবং বদলে ক্লায়েন্টের নথিভুক্ত স্থানীয়-অ্যাক্সেস আচরণ পড়ুন। কিছু ক্লায়েন্ট স্থানীয় সাবনেটের জন্য অনুমোদিত তালিকা দেয়, কিছু টানেল নয় এমন সবকিছু ব্লক করে, আর কিছু কেবল কিল সুইচ চালু থাকলে ব্লক করে।
এই পার্থক্য গুরুত্বপূর্ণ কারণ সংশোধনগুলো পরস্পর বদলযোগ্য নয়। রুট যোগ করে ফিল্টার সন্তুষ্ট করা যায় না, আর একটি গেস্টে পৌঁছাতে ফিল্টার বন্ধ করা লক্ষণের ইঙ্গিতের চেয়ে অনেক বড় সিদ্ধান্ত।
গেস্টের না বলার তিনটি উপায় আছে
ইন্টারনেট ব্রাউজ করতে পারে এমন গেস্ট আপনার কাঙ্ক্ষিত সেবা সম্পর্কে কিছুই প্রমাণ করেনি। লিসেনারটি গেস্টের ভিতরে 127.0.0.1-এ বাঁধা থাকতে পারে, তখন পথ যতই ভালো হোক, হোস্ট থেকে কোনো অনুরোধ পৌঁছাতে পারে না। গেস্টে ss -ltn দিয়ে যাচাই করুন এবং কেবল পোর্ট নয়, স্থানীয় ঠিকানা কলামটিও দেখুন।
এরপর গেস্টের নিজের ফায়ারওয়াল। কঠোর ডিফল্টসহ একটি ডেভেলপমেন্ট ইমেজ হোস্টের প্যাকেট গ্রহণ করে সেবার সীমান্তে ফেলে দিতে পারে, যা এমন টাইমআউট তৈরি করে যা রাউটিং ব্ল্যাক হোলের মতোই দেখায়। শেষে আছে সেবার নিজের কনফিগারেশন: নির্দিষ্ট হোস্টনামে বাঁধা ওয়েব অ্যাপ, বা ক্লায়েন্ট ঠিকানার অনুমোদিত তালিকা, প্রতিটি প্যাকেট পৌঁছালেও হোস্ট-ওনলি সাবনেট থেকে আসা অনুরোধ প্রত্যাখ্যান করবে।
VM-এর নেটওয়ার্ক মোড বদলানোর কথা ভাবার আগে এই তিনটি শেষ করুন। প্রতিটি গেস্টের সংযোগ নতুন করে সাজানোর চেয়ে ছোট পরিবর্তন, আর প্রতিটিরই স্পষ্ট পরীক্ষা আছে।
ব্রিজ আসলে কী, আর তার খরচ কত
অ্যাডাপ্টারকে ব্রিজ মোডে বদলানো হোস্ট-ওনলি পথের মেরামত নয়। এটি হলো গেস্টকে অন্য নেটওয়ার্কে, সাধারণত ভৌত LAN-এ, রাখার সিদ্ধান্ত, যেখানে সে সেখানে থাকা সবকিছুর কাছে দৃশ্যমান হয়ে যায়। এটি ঠিক যা আপনি চান তা-ও হতে পারে। কিন্তু মূল কনফিগারেশন যা করছিল তা এটি নয়।
এটি ব্যবহার করুন যখন গেস্টের সত্যিই ওই LAN-এ সমকক্ষ হওয়া দরকার এবং প্রকাশ অনুমোদিত। একটি মাত্র সেবা সাড়া দেওয়া বন্ধ করেছে বলে এটি ব্যবহার করবেন না, কারণ পরিবর্তনটি গেস্টকে সেই বিচ্ছিন্নতা থেকে সরিয়ে নিতে পারে যা তাকে নিরাপদে ডেভেলপ করার উপযোগী করেছিল।
যেকোনো অনুমোদিত সংশোধনের পরে নির্দিষ্ট ক্রমে পরীক্ষা করুন: হোস্ট থেকে গেস্টে নতুন অনুরোধ, টানেল দিয়ে প্রয়োজনীয় কর্পোরেট রিসোর্স, এবং টানেল বন্ধ থাকা অবস্থায় প্রত্যাশিত প্রত্যাখ্যান আচরণ। যদি শেষটি আর খাটে না, সংশোধনটি সমস্যার সীমা ছাড়িয়ে গেছে।
VirtualBox-এর হোস্ট-ওনলি নেটওয়ার্কিং অংশ হোস্টের দিকের সফটওয়্যার ইন্টারফেস এবং এটি ব্রিজ সংযোগ থেকে কীভাবে আলাদা তা বর্ণনা করে, যা দুটি মোড বদলযোগ্য ধরে নেওয়ার আগে পড়ার যোগ্য তথ্যসূত্র।