আমার কাছে আপনাদের জন্য একটি কফি আকর্ষণীয় সমস্যা আছে। এটি কিছুটা জটিলও। বলুন আপনি ভার্চুয়ালবক্স ব্যবহার করছেন আপনার পছন্দের ভার্চুয়ালাইজেশন টুল হিসেবে। বলুন আপনি ৩D এক্সিলারেশনের সাথে সমস্যা পাচ্ছেন—ব্ল্যাক স্ক্রিন এবং সব। আমার টিউটোরিয়ালে দেখানো ফিক্স হলো রেপো-প্রোভাইডেড গেস্ট অ্যাডিশন ব্যবহার করা। কিন্তু এই রেপো সেট, যা ডিস্ট্রিবিউশন দ্বারা প্রদান করা হয়ে, অফিসিয়াল ISO দ্বারা প্রদান করা অ্যাডিশনদের মতো, শেয়ার্ড ফোল্ডার ড্রাইভার ধারণ করে না। এর মানে আপনার এই ফাংশন্যালিটি উপলব্ধ নেই।
জিনিসগুলিকে আরও জটিল করতে, বলুন আপনি জিনিসপত্র শেয়ার করতে চান। আমরা এই बारेে অন্য একটি টিউটোরিয়ালে আলোচনা করেছি, উপযুক্তভাবে নেটওয়ার্ক অ্যান্ড শেয়ারিং নামে, কিন্তু আপনি NAT ব্যবহার করছেন ব্রিজড নেটওয়ার্কিং এর বদলে, তাই গেস্ট মেশিন আপনার হোস্ট থেকে কোনো নরমাল মেনস দ্বারা অ্যাক্সেসযোগ্য নয়। এবং আপনি Samba বা সোভাবে ব্যবহার করতে চান না, তাই পুরো পরিস্থিতি আরও জটিল। ঠিক আছে, আমি আপনাকে দেখাবো কীভাবে আপনি হোস্ট থেকে গেস্টে ফাইল ট্রান্সফার করতে পারেন শেয়ার্ড ফোল্ডার ছাড়া NAT ব্যবহার করে। কোনো ইন্টারনেট টমফুলারি নেই। আমরা সব লোকাল করছি। আফTER মি।
সমস্যা স্টেটমেন্ট
আপনি যেমন দেখছেন, আমাদের একটি ইস্যু আছে যেখানে মনে হয় আমাদের মেশিনকে আরও দৃশ্যমান করতে হবে ব্রিজড নেটওয়ার্ক অ্যাডাপ্টার করে, যা আপনি কাঙ্খিত নাও করতে পারেন, বিশেষ করে আপনার একটি 'নויזি' ভার্চুয়াল মেশিন থাকলে, প্লাস আপনাকে ফাইল শেয়ারিং সার্ভার সেটআপ করতে হতে পারে এবং ইত্যাদি, যেগুলো ত্রিবিয়াল পরিমাণের বেশি কাজ নেয়। অন্য অপশন হলো ভার্চুয়ালবক্স ISO ব্যবহার করা, এই নির্দিষ্ট কেসে ৩D এক্সিলারেশন ডিজেবল করা—যতক্ষণ না ব্ল্যাক স্ক্রিন ইস্যু চলে যায়— কিন্তু এটিকে প্রোভারbial সমস্যা ধরে রাখুন যেকোনো ধরনের—এবং তারপর আমরা শেয়ার্ড ফোল্ডার ফিচার ব্যবহার করতে পারি।
সেই টপিকে, আপনি যদি রেপো প্যাকেজ ব্যবহার করেন, তবে আপনি অধিকাংশ জিনিস পাবেন—গ্রাফিক্স এক্সিলারেশন, মাউস ইন্টিগ্রেশন, স্ক্রিন রিসাইজিং, ক্লিপবোর্ড শেয়ারিং, এবং আরও কিছু—কিন্তু ফোল্ডারগুলো নেই। আপনি যদি ম্যানুয়ালি শেয়ার্ড ফোল্ডার মাউন্ট করার চেষ্টা করেন, আপনি কিছুটা এরর পাবেন:
mount -t vboxsfmount: unknown filesystem type 'vboxsf'
সমাধান: পোর্ট ফরওয়ার্ডিং
ভার্চুয়ালবক্স আপনাকে আপনার NAT করা মেশিনের জন্য অ্যাডভান্সড নেটওয়ার্ক রুল কনফিগার করতে দেয়। একে ববে, এটি আপনার রাউটার কীভাবে কাজ করে তার থেকে আলাদা নয় যখন লোকাল IP অ্যাড্রেস পাবলিক-ফেসিং একটিতে ট্রান্সলেট করে, এবং বিপরীত। সত্যিই, ভার্চুয়ালবক্স এখানে আপনার রাউটার। আমরা ডকারের সাথেও একই জিনিস দেখেছি, যেখানে আপনি হোস্ট পোর্ট কন্টেইনার পোর্টে ম্যাপ করতে পারেন, তাই আপনি কার্যকরভাবে আপনার লোকাল সিস্টেম অ্যাক্সেস করছেন কিন্তু আপনি আসলে একটি কন্টেইনারের সাথে সংযুক্ত হচ্ছেন, অথবা এই কেসে, একটি ভার্চুয়াল মেশিন।
যে যাক, আপনার ভার্চুয়াল মেশিন সিলেক্ট করুন > Settings। Networking-এর অধীনে, নেটওয়ার্ক টাইপ NAT-এর জন্য, আডভান্সড সেকশন এক্সপ্যান্ড করুন নিচের দিকে। তারপর Port Forwarding-এ ক্লিক করুন। এটি একটি টেবিল ওপেন করবে যেখানে আপনি প্রয়োজনীয় ডিটেইল ইনপুট করতে পারেন। Host IP - যে ইন্টারফেসের IP অ্যাড্রেস আপনি ব্যবহার করতে চান; আপনার একাধিক হতে পারে, কিন্তু সবচেয়ে সহজ সমাধান হলো শুধু localhost (127.0.0.1) ব্যবহার করা, কারণ এটি কাজ করবে এমনকি আপনার অন্যান্য ইন্টারফেস ডাউন থাকলে, অথবা আপনার হোস্টের বাইরে কানেক্টিভিটি নাও থাকলে। Host Port - হবে 'ভার্চুয়াল' অ্যাড্রেস যেটিতে আপনি কানেক্ট করবেন। উদাহরণস্বরূপ, SSH-এর জন্য, হিন্ট হিন্ট, আমরা পোর্ট ২২২২ কে Host Port হিসেবে ম্যাপ করতে পারি। এর মানে আপনি এই পোর্টে কানেক্ট করলে, আপনি কার্যকরভাবে গেস্ট IP-এ প্রাসঙ্গিক গেস্ট পোর্টে সংযুক্ত হচ্ছেন যা টেবিলে স্পেসিফাইড। সত্যিই, অন্যান্য দুটি ফিল্ড ভার্চুয়াল মেশিন ইনফরমেশনের জন্য, ঠিক যেমন আমরা হোস্টের সাথে করেছি।
SSH দিয়ে সংযোগ করুন
এখন আমাদের আসল কানেকশন আছে। আপনি বলতে পারেন ওয়াইট, SSH লিনাক্সের জন্য! হ্যাঁ, কারণ লিনাক্সে আমাদের একটি সমস্যা আছে। উইন্ডোজের সাথে কোনো ব্ল্যাক স্ক্রিন ইস্যু নেই, তাই ৩D এক্সিলারেশন জিনিসটা + ISO থেকে গেস্ট অ্যাডিশন ভালো কাজ করবে। এर्गো, লিনাক্স।
এখন আমরা আমাদের হোস্ট থেকে গেস্টের সাথে SSH (পোর্ট ২২২২-এ) ব্যবহার করে সংযোগ করতে পারি। কিন্তু অবশ্যই, প্রথম ধাপ হলো নিশ্চিত করা যে openssh-server ইনস্টল্ড এবং রানিং আছে গেস্ট অপারেটিং সিস্টেমে। আমাদের নিশ্চিত করতে হবে গেস্ট কোনো ফায়ারওয়াল ব্যবহার করছে না যা ইনকামিং কানেকশন ব্লক করছে। এখন আমরা টেস্ট করি কী হয়।
ssh -p 2222 roger@127.0.0.1 The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established. ECDSA key fingerprint is SHA256:Eq0ow03sffLb7G49e3KNMgMrpVV/8wFfN6uicdxPnEL. Are you sure you want to continue connecting (yes/no)?
এটি শুধু কানেক্টিভিটি টেস্ট করার জন্য। আমরা আসলে SCP দরকার ফাইল কপি করতে হোস্ট থেকে গেস্টে। এখানেও কাস্টম পোর্ট স্পেসিফাই করতে হবে। কিন্তু দয়া করে লক্ষ্য করুন: SSH lowercase `-p` ব্যবহার করে পোর্ট স্পেসিফাই করার জন্য, কিন্তু SCP uppercase `-P` ফ্ল্যাগ ব্যবহার করে পোর্ট নম্বরের জন্য। গো ফিগার। তাই পুরো জিনিসটা কিছুটা এভাবে হবে:
scp -P 2222 "file" roger@127.0.0.1:/home/roger/"location"/ "file" 100% 8244KB 135.0MB/s 00:00
উপসংহার
আমি এই ধরনের এক্সারসাইজ পছন্দ করি, কারণ এগুলো ইন্নোভেটিভ এবং ফান হতে পারে—যেমন আমার KVM অ্যান্ড ব্রিজড নেটওয়ার্ক ট্রিক। প্রথম নজরে, আপনি ভাবতে পারেন আপনাকে ব্রিজড নেটওয়ার্কিং ব্যবহার করতে হবে, Samba বা NFS সেটআপ করতে হবে, বা ফাইল ইমেইল করতে হবে, যা তেড়সোম হতে পারে। বরং, আমরা পোর্ট-ফরওয়ার্ডিং এবং SSH দিয়ে ইস্যু ওয়ার্কঅরাউন্ড করি, যদুই সহজ, নন-ইনট্রুসিভ এবং খুব সহজে সেটআপ বা ডিজেবল করা যায় যদি দরকার না হয়।
তাহলে, আজ আমরা কফি কিছু শিখলাম—রেপো গেস্ট অ্যাডিশনে মিসিং ফিচার, অ্যাডভান্সড নেটওয়ার্কিং রুল এবং পোর্ট ফরওয়ার্ডিং ব্যবহার, SSH এবং SCP এবং সাবটল ডিফারেন্স কীভাবে সেগুলো পোর্ট নম্বর ব্যবহার করে, এবং কিছু অন্যান্য কনসেপ্ট। এটিই সব। মনে রাখুন, সমস্যা সমাধানের সবসময় একটি নিট পথ থাকে, আপনি যদি ধৈর্য এবং মেথডিক্যাল হন। যত্ন রাখুন।
চিয়ার্স।