কম্পিউটার

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

ঠিক আছে, এখন পর্যন্ত, আপনি কেভিএম এর সাথে মোটামুটি পারদর্শী। আমাদের কাছে কয়েকটি মুষ্টিমেয় টিউটোরিয়াল রয়েছে, যার মধ্যে রয়েছে প্রাথমিক পরিচিতি এবং মধ্যবর্তী সেটআপ এবং ব্যবহার, নেটওয়ার্ক এবং স্টোরেজ কনফিগারেশন এবং ভার্চুয়ালবক্সের পাশাপাশি KVM সেট আপ করা। পরবর্তী যৌক্তিক পদক্ষেপ হল ব্রিজড নেটওয়ার্কিং সম্বন্ধে জানা যাতে আমরা আমাদের ভার্চুয়াল মেশিনগুলিকে ব্যবহারযোগ্য বাহ্যিক আইপি ঠিকানা দিতে পারি, যদি আমাদের পোর্ট ফরওয়ার্ড করতে হয় এবং কী না।

আজ আমি আপনাকে যা দেখাতে যাচ্ছি তা আপনি অন্য কোথাও বেশিরভাগ টিউটোরিয়াল দেখেছেন তার থেকে একটু ভিন্ন হতে চলেছে। যথা, আমি ব্রুট-ফোর্স পদ্ধতির চারপাশে কাজ করার চেষ্টা করব যা আপনি হয়তো অন্যান্য টিউটোরিয়ালগুলিতে দেখেছেন। আমি আপনাকে আপনার ভার্চুয়াল মেশিনগুলিকে বাহ্যিক বিশ্বের কাছে প্রকাশ করার দুটি সম্ভাব্য পদ্ধতি দেখাব। একটি পদ্ধতি একটি হ্যাক, কিন্তু এটা একেবারে প্রতিভা. আপনি এটি আগে কখনও দেখেনি! এবং আমরা সীমাবদ্ধতা এবং সম্ভাব্য সমস্যা সম্পর্কে একটু কথা বলব।

দ্রষ্টব্য:ছবি উইকিপিডিয়া থেকে নেওয়া, CC BY-SA 3.0 এর অধীনে লাইসেন্সকৃত; সূচক টিজার, একই পদ।

মৌলিক প্রস্তুতি

আসুন একটি বাস্তবতা পরীক্ষা দিয়ে শুরু করি। ব্রিজড নেটওয়ার্কিং একটু কুৎসিত এবং লিনাক্স কমান্ড লাইন সম্পর্কে কিছু বোঝার প্রয়োজন। যাইহোক, কখনও কখনও সেতু প্রয়োজন হয়. আপনি যদি ভার্চুয়াল মেশিনের মধ্যে কোনো ধরনের সার্ভার চালাতে চান, তাহলে আপনি এটিকে একটি বাহ্যিক আইপি ঠিকানা দিতে চাইতে পারেন, যাতে অন্যান্য হোস্ট সরাসরি এটির সাথে যোগাযোগ করতে পারে।

উদাহরণ:আপনার রাউটার 10.0.0.X রেঞ্জে ঠিকানা দেয়। আপনার শারীরিক হোস্ট 10.0.0.4 ব্যবহার করে, কিন্তু আপনার ভার্চুয়াল মেশিন 192.168.2.133 দিয়ে চলে। সিস্টেম কীভাবে প্যাকেটগুলিকে পেছন পেছন প্রেরিত ব্যাখ্যা করে তার কিছু পরিবর্তন না করে, 10.0.0 নেটওয়ার্কের ক্লায়েন্টরা 192.168.2 নেটওয়ার্কে ক্লায়েন্টদের সাথে কথা বলতে পারবে না।

আপনি ব্রিজিং ব্যবহার করে সমস্যার চারপাশে কাজ করতে পারেন। এটি আপনার ভার্চুয়াল মেশিনগুলিকে রাউটারের সাথে সংযোগ করতে এবং বাহ্যিক আইপি ঠিকানাগুলি পেতে অনুমতি দেবে। এই প্রেক্ষাপটে, বাহ্যিক মানে যা কিছু আপনার শারীরিক হোস্ট ব্যবহার করছে, অপ্রয়োজনীয় অ-ব্যক্তিগত ঠিকানা নয়।

ডিফল্টরূপে, KVM তার নিজস্ব সেতু তৈরি করে, 192.168.122.1। এই ডিভাইসটি আপনার ভার্চুয়াল মেশিনগুলির জন্য একটি ভার্চুয়াল রাউটার হিসাবে কাজ করে এবং এই পরিসরে তাদের আইপি ঠিকানাগুলি প্রদান করবে৷ যাইহোক, আমরা চাই যে আমাদের মেশিনগুলি বহিরাগত ঠিকানাগুলি ইজারা দেবে৷ এই টিউটোরিয়ালে, এটি হল 192.168.2 পরিসর।

দুটি বিকল্প সমাধান

দুটি উপায়ে আমরা এটি করার চেষ্টা করতে পারি।

এক, আমরা একটি সেতু তৈরি করব। দুটি ডিভাইস সেতু হবে। আমাদের ভৌত ডিভাইস eth1 এবং ভার্চুয়াল ডিভাইস যাকে বলা হয় vnet0। আমাদের সেতু সঠিকভাবে কাজ করছে তা নিশ্চিত করার পরে, আমরা ডিস্কের একটি নেটওয়ার্ক কনফিগারেশন ফাইলে পরিবর্তনগুলি কমিট করব। ভার্চুয়াল মেশিন রাউটার থেকে তাদের আইপি ঠিকানা লিজ করবে। এটি আমরা ভার্চুয়ালবক্সের সাথে যা করেছি তার অনুরূপ। এই পদ্ধতিটি আমরা এখানে কভার করব।

দ্বিতীয় পদ্ধতিটি কাজ করার গ্যারান্টিযুক্ত নয়, তবে এটি হতে পারে। যদি আপনার নেটওয়ার্ক অ্যাডাপ্টার বাক্সের বাইরে ব্রিজিং সমর্থন করে, তাহলে আপনি এটি সরাসরি ব্যবহার করতে সক্ষম হতে পারেন। KVM-এ আপনার ভার্চুয়াল ব্রিজে অ্যাড্রেসের একটি ছোট সাবনেট বরাদ্দ করতে হবে, যা নেটওয়ার্কে ফিজিক্যাল হোস্ট দ্বারা ব্যবহৃত ঠিকানাগুলির সাথে ওভারল্যাপ করে না।

সীমাবদ্ধতা

ভুল হতে পারে যে অনেক জিনিস আছে. আপনার রাউটার ব্রিজিং সমর্থন নাও করতে পারে। আপনার নেটওয়ার্ক ইন্টারফেস ব্রিজিং সমর্থন নাও করতে পারে৷ আপনার উপলব্ধ আইপি ঠিকানা ইজারা পুল সীমিত হতে পারে. আপনি একটি ফায়ারওয়াল হস্তক্ষেপ করতে পারে. অবশেষে, বিশেষত উবুন্টুর জন্য, নেটওয়ার্ক ম্যানেজার ব্রিজড ইন্টারফেস পরিচালনা করলে আপনি সমস্যা এবং দ্বন্দ্বের সম্মুখীন হতে পারেন।

আরও পড়ার জন্য, অনুগ্রহ করে নিম্নলিখিত ডকুমেন্টেশনটি দেখুন:

লিনাক্স ফাউন্ডেশন

এ ব্রিজ সেটআপ

KVM নেটওয়ার্কিং - উবুন্টু কমিউনিটি ডকুমেন্টেশন

ঠিক আছে, এখন আপনি জানেন আমাদের সামনে কী আছে। ব্রিজিং অবশ্যই একটি সহজ জিনিস নয়. আপনাকে বেশ কিছু বিষয় বিবেচনা করতে হবে। প্রথমত, আপনার নেটওয়ার্ক অ্যাডাপ্টার কি আদৌ ব্রিজিং সমর্থন করে? উদাহরণস্বরূপ, কিছু ল্যাপটপে, ওয়্যারলেস অ্যাডাপ্টারগুলি এই কাজের মোডটিকে সত্যিই সমর্থন করে না। দ্বিতীয়ত, আপনি কি নেটওয়ার্ক সেটিংসের সাথে ফিডিং করতে স্বাচ্ছন্দ্য বোধ করেন? তৃতীয়, আপনি কি অর্জন করার চেষ্টা করছেন? সম্ভবত NAT আপনার জন্য যথেষ্ট ভাল?

মৌলিক নেটওয়ার্কিং ধারণা

যদিও আমার পরীক্ষার বাক্সটি উবুন্টু, আমি চাই এই টিউটোরিয়ালটি ডিস্ট্রো-অজ্ঞেয়বাদী হোক। উবুন্টু কেভিএম সম্প্রদায়ের ডকুমেন্টেশন অনুসরণ করা একটি ভাল জিনিস, তবে এটি শুধুমাত্র ডেবিয়ান ভিত্তিক সিস্টেমের জন্য কাজ করবে। অতএব, আসুন একটু বিচ্যুতি করি এবং নেটওয়ার্কিং ধারণাগুলি প্রবর্তন করি যা RedHat এবং SUSE উভয় সিস্টেমের জন্যই প্রযোজ্য।

উবুন্টুর মতো ডেবিয়ান-ভিত্তিক সিস্টেমে, স্থায়ী নেটওয়ার্ক কনফিগারেশনগুলিকে /etc/network/interfaces-এর অধীনে রাখা হয়। RedHat-ভিত্তিক সিস্টেম প্লাস SUSE বন্ধু এবং পরিবারে, নেটওয়ার্ক কনফিগারেশনগুলিকে /etc/sysconfig/network-এর অধীনে পৃথক ফাইলগুলিতে সংরক্ষণ করা হয়, সাধারণত ifcfg-ethX বা ifcfg-eth-MAC-ঠিকানা দিয়ে প্রিফিক্স করা হয়। আপনার সিস্টেমে ifconfig কমান্ড ব্যবহার করে জেনেরিক eth-কে সংশ্লিষ্ট ইন্টারফেসের নাম দিয়ে প্রতিস্থাপন করুন।

আপনি আপনার কনফিগারেশন ফাইলে পরিবর্তন না করেও কমান্ড লাইনে brctl ইউটিলিটি ব্যবহার করে ব্রিজ তৈরি করতে পারেন, কিন্তু আপনি যখনই নেটওয়ার্ক পরিষেবা পুনরায় চালু করবেন তখন সেটিংস হারিয়ে যাবে। কোনো সিস্টেম ফাইল সম্পাদনা করার আগে এটি প্রথমে জিনিসগুলি পরীক্ষা করার একটি প্রস্তাবিত উপায়। এবং ফিডলিং করার আগে আপনার কনফিগারেশনের ব্যাকআপ নিতে ভুলবেন না। নেটওয়ার্ক সেটআপ সম্পর্কে আরও বিশদ বিবরণের জন্য, অনুগ্রহ করে আমার লিনাক্স কমান্ড নিবন্ধটি দেখুন।

সেতু তৈরি করুন

এখন, আমরা খেলার জন্য প্রস্তুত। আমি আপনাকে brctl, ifconfig এবং dhclient কমান্ড ব্যবহার করে শুরু করার পরামর্শ দিচ্ছি। আপনি আমাকে ক্ষমা করবেন যদি আমি এগুলি কীভাবে ব্যবহার করা হয় সে সম্পর্কে খুব বেশি বিশদে না যাই। জনপ্রিয় চাহিদা থাকলে, একটি অতিরিক্ত টিউটোরিয়াল হতে যাচ্ছে। সাধারণভাবে, ক্রমটি নিম্নরূপ (সুডো বা রুট সহ) - ধরা যাক br0, শারীরিক এবং/অথবা ভার্চুয়াল ডিভাইস eth0/1 এবং সুইচ বা রাউটার থেকে DHCP লিজ:

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
dhclient br0

অনুগ্রহ করে মনে রাখবেন যে ভার্চুয়াল অ্যাডাপ্টারটি উপলব্ধ নাও হতে পারে যতক্ষণ না আপনি ভার্চুয়াল মেশিন তৈরি এবং চালু করেন। অতএব, আপনাকে এখনও ভার্চুয়াল অ্যাডাপ্টার যোগ করতে হবে না। আপনি যদি উন্নত বিকল্পগুলির মধ্যে ব্রিজড নেটওয়ার্কিং বেছে নেন তাহলে KVM আপনার জন্য স্বয়ংক্রিয়ভাবে এটি করবে।

আপনি যদি দেখেন যে আপনার ব্রিজ ইন্টারফেস এর DHCP সার্ভার থেকে বাহ্যিক ঠিকানা লিজ দিচ্ছে, তাহলে আপনি সঠিক পথে আছেন। হোম ব্যবহারকারীদের জন্য, DHCP সার্ভার রাউটার হবে। আপনার যদি সরাসরি ইন্টারনেট সংযোগ থাকে তবে এটি সম্ভব নাও হতে পারে, কারণ আপনার আইএসপি প্রতি ব্যবহারকারীর একাধিক আইপি ঠিকানার অনুমতি নাও দিতে পারে।

একবার ব্রিজড ইন্টারফেসটি এসে গেলে, নিশ্চিত করুন যে আপনার নেটওয়ার্ক কার্যকারিতা অপরিবর্তিত রয়েছে। আপনাকে আপনার /etc/resolv.conf সম্পাদনা করতে হবে এবং সম্ভবত রাউটিং টেবিলটি ঠিক করতে হবে।

যদি এটি কাজ করে, আপনি নেটওয়ার্ক কনফিগারেশন ফাইলে পরিবর্তনগুলি করতে চাইতে পারেন। দয়া করে মনে রাখবেন যে আমার উদাহরণটি জেনেরিক, সম্প্রদায়ের ডকুমেন্টেশনে দেখানো একটির সাথে খুব মিল। উদাহরণস্বরূপ, একাধিক হপ বা চক্রাকার রুটগুলিকে সঠিকভাবে পরিচালনা করতে আপনাকে আপনার সেতুতে স্প্যানিং ট্রি প্রোটোকল (STP) সক্ষম করতে হতে পারে।

বিশেষ করে, আমাদের ক্ষেত্রে, আমরা /etc/network/interface সম্পাদনা করতে চাই এবং সেখানে br0 যোগ করতে চাই। আপনার যদি STP-এর প্রয়োজন হয়, তাহলে অনুগ্রহ করে bridge_stp off থেকে bridge_stp চালু করুন৷ আপনি btctl show কমান্ড জারি করে আপনার সেতু কি করে তা যাচাই করতে পারেন।

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

এবং কিছু STP মজা - দুষ্টু শোনাচ্ছে, তাই না।

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

ভার্চুয়াল মেশিন তৈরি করুন

আমরা আগে শিখেছি কিভাবে এটি করতে হয়, তাই এটি একটি নতুন জিনিস নয়. চূড়ান্ত পর্যায়ে, উন্নত বিকল্পের অধীনে, নেটওয়ার্ক ঠিকানা অ্যাসাইনমেন্ট পরিবর্তন করুন এবং নিশ্চিত করুন যে ভার্চুয়াল অ্যাডাপ্টারের একটি অনন্য MAC ঠিকানা রয়েছে যা অন্য কোনোটির সাথে বিরোধপূর্ণ নয়।

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

আপনি যদি ভাগ্যবান হন, তাহলে আপনাকে বিশেষ ব্রিজিং স্থাপনের প্রয়োজনও নাও হতে পারে; আপনার নেটওয়ার্ক অ্যাডাপ্টার এটিকে বাক্সের বাইরে সমর্থন করতে পারে এবং তারপরে আপনি ঠিক আছেন! কিন্তু আপনি সম্ভবত ভাগ্যবান হতে যাচ্ছেন না, তাই কিছু কঠিন কীবোর্ড শ্রম আশা করুন।

সবকিছু কাজ করে তা নিশ্চিত করতে:

কিভাবে KVM-এ ব্রিজড নেটওয়ার্কিং সেটআপ করবেন - টিউটোরিয়াল

আপনি যদি এটি পিং করতে পারেন তবে আপনি এটি হ্যাক করতে পারেন। ভার্চুয়ালবক্সের সাথে আমরা যা করেছি তা প্রায় একই রকম। এখন, আপনি পরিষেবাগুলি প্রকাশ করতে পারেন, ডেটা ভাগ করতে পারেন এবং আপনার যা কিছু প্রয়োজন। উপভোগ করুন।

বিকল্প সেটআপ (কাজ নাও করতে পারে, কিন্তু এটি দুর্দান্ত)

আপনি এত ভাগ্যবান নাও হতে পারে. নেটওয়ার্ক ম্যানেজার সহযোগিতা করতে অস্বীকার করতে পারে এবং আপনার সেটআপের সাথে আরও অনেক সমস্যা থাকতে পারে। এই লক্ষ্যে, আপনি একটি পৃথক ভার্চুয়াল নেটওয়ার্ক অ্যাডাপ্টার তৈরি করতে এবং এটিকে একটি শারীরিক ডিভাইসে রুট করতে চাইতে পারেন যা আপনি বিশ্বাস করেন যে বাক্সের বাইরে ব্রিজিং সমর্থন করে৷ বিরোধপূর্ণ IP ঠিকানা মনে রাখবেন.

অবশেষে, যদি এটি আপনার জন্য কাজ করে, তাহলে আপনি একটি খুব নোংরা হ্যাক চেষ্টা করতে পারেন। একটি ভার্চুয়াল নেটওয়ার্ক তৈরি করুন যা আপনার নেটওয়ার্কের সাথে একই /24 স্থান ভাগ করে। উদাহরণস্বরূপ, যদি আপনার রাউটারটি 192.168.2.0 নেটওয়ার্কে থাকে, তাহলে একটি ভার্চুয়াল নেটওয়ার্ক তৈরি করুন যা 192.168.2.160 থেকে শুরু হয় এবং এটিকে শুধুমাত্র একটি ছোট পরিসর দিন, সম্ভবত মোট 16টি ঠিকানা। নিশ্চিত করুন যে আপনার রাউটার কখনই সেই ঠিকানাগুলি নেটওয়ার্কের অন্যান্য ক্লায়েন্টদের দেয় না।

এখানে একটি উদাহরণ:আমি একটি নেটওয়ার্ক 192.168.2.160/28 তৈরি করেছি। আমি আশা করছি না যে আমার রাউটার কখনো সেই পরিসরে একটি ঠিকানা ইজারা দেবে, তবে আমি এর DHCP অ্যাসাইনমেন্ট সীমিত করতে পারি। তারপর, ভার্চুয়াল নেটওয়ার্কটিকে একটি শারীরিক ডিভাইসে রুট করুন, এই ক্ষেত্রে, একটি ওয়্যারলেস অ্যাডাপ্টার eth1।

এবং এখন, উপরের মত আপনার ভার্চুয়াল মেশিন এবং eth1 রুট তৈরি করুন। একবার এটি অনলাইন হলে, সুন্দর সহযোগিতা লক্ষ্য করুন। হোস্টের .102 ঠিকানা আছে, ভার্চুয়াল NIC virbr1-এর আছে .161 ঠিকানা, আর ভার্চুয়াল মেশিনে .168 ঠিকানা রয়েছে।

এবং এখানে একই নেটওয়ার্কের একটি ফিজিক্যাল উইন্ডোজ 7 বক্স থেকে একটি পিং, .103 ঠিকানা সহ, ভার্চুয়াল অ্যাডাপ্টারটিকে উবুন্টু লুসিড বক্সে .161 ঠিকানা দিয়ে পিং করা হয়েছে, উভয়ই ওয়্যারলেস, উভয়ই একই রাউটারের মাধ্যমে সংযুক্ত, এটি কত সুন্দর এবং স্মার্ট দেখাচ্ছে সেটআপ সত্যিই হয়. এখন, এটি সবসময় কাজ করবে না, কিন্তু যখন এটি করে, এটি প্রতিভা।

বিদ্যমান ভার্চুয়াল মেশিন

ইতিমধ্যে বিদ্যমান ভার্চুয়াল মেশিনগুলির জন্য, আপনি /etc/libvirt/ এর অধীনে নির্দেশাবলী পরিবর্তন করে সেটিংস সম্পাদনা করতে পারেন। প্রতিটি ভার্চুয়াল মেশিনের একটি পৃথক .xml কনফিগারেশন ফাইল রয়েছে। যেকোনো পরিবর্তন কার্যকর করার জন্য আপনাকে আপনার ভার্চুয়াল মেশিনগুলিকে পাওয়ার সাইকেল করতে হবে। উদাহরণস্বরূপ:

<ইন্টারফেস প্রকার='ব্রিজ'>

<উৎস সেতু='br0'/>

উপসংহার

KVM ব্রিজড নেটওয়ার্কিং সেটআপ সত্যিই স্বজ্ঞাত নয়। এটি প্রায় দুই বা তিন বছর আগে ভার্চুয়ালবক্সের মতো বন্ধুত্বপূর্ণ। তবে এটি পরিচালনাযোগ্য, যদিও আপনার আসল সীমাবদ্ধতা হবে নেটওয়ার্ক টপোলজির বোঝা এবং কার্যকারিতা। এটা অবশ্যই সময়ের সাথে আরও ভাল হবে।

যদি আপনি ভাগ্যবান হন, আপনার নেটওয়ার্ক অ্যাডাপ্টারগুলি বাক্সের বাইরে ব্রিজিং সমর্থন করবে৷ যদি না হয়, আপনাকে একটি ব্রিজ অ্যাডাপ্টার তৈরি করতে হবে এবং শারীরিক এবং ভার্চুয়াল নেটওয়ার্ক ডিভাইসগুলি বরাদ্দ করতে হবে। তারপরে, DNS, DHCP বা রাউটিং এর সাথে যেকোনো সম্ভাব্য সমস্যা সমাধান করুন। অবশেষে, একটি নোংরা হ্যাক হিসাবে, আপনি আপনার নেটওয়ার্ক রেঞ্জের অপব্যবহার এবং একটি সাবনেটের মধ্যে একটি সাবনেট তৈরি করার চেষ্টা করতে চাইতে পারেন, নিশ্চিত করুন যে IP ঠিকানাগুলি কখনই ওভারল্যাপ না হয় এবং তারপরে আপনার ভার্চুয়াল অ্যাডাপ্টারকে আপনার শারীরিক ডিভাইসে রুট করুন৷

এই টিউটোরিয়ালটি একটি ধূর্ত মোচড়ের সাথে মোটামুটি মৌলিক, তবে অনেক সমস্যা উন্মোচিত হতে পারে। আপনার যদি KVM-এ কঠিন নেটওয়ার্ক সেটআপগুলি কাটিয়ে ওঠার বিষয়ে প্রশ্ন, পরামর্শ বা টিপসের প্রয়োজন থাকে, তাহলে আমাকে একটি মেল পাঠান এবং আমি এই নতুন সমস্যাগুলি কীভাবে সমাধান করতে পারি তার একটি সিক্যুয়েল তৈরি করতে পারি।

চিয়ার্স।


  1. ভার্চুয়ালবক্স এবং ব্রিজড নেটওয়ার্কিং আর কাজ করে না

  2. ভার্চুয়ালবক্স এবং NAT নেটওয়ার্ক কনফিগারেশন টিউটোরিয়াল

  3. কিভাবে KVM-তে স্টোরেজ পরিচালনা করবেন - টিউটোরিয়াল

  4. ভার্চুয়ালবক্সে কীভাবে ডিস্ক ক্লোন করবেন - টিউটোরিয়াল