preliminaries
এটি নিম্নলিখিত উবুন্টু 12.04 এর জন্য আমার পক্ষে কাজ করেছে। এটি পরীক্ষা করার সাথে সাথে আপনার কম্পিউটারের ফায়ারওয়ালটি অক্ষম করা উচিত যাতে এটি হস্তক্ষেপ না করে।
/ Etc / default / qemu-kvm ফাইলটি মূলত ইনস্টল করা উচিত।
আপনার ব্রিজ-ইউজেস কিউমু-কেভিএম এবং লিবারভিট-বিন ইনস্টল করা দরকার। ভার্চুয়াল মেশিন ব্যবহার করা কোনও ব্যবহারকারীকে libvirtd গ্রুপে যুক্ত করা উচিত।
CAP_NET_ADMIN সামর্থ্য যোগ করার দরকার নেই বলে মনে হয়।
নেটওয়ার্ক সেটআপ
ডিফল্ট নেটওয়ার্ক মোডটি ইউজার মোড, তাকে এসএলআইআরপিও বলা হয়। এটি একটি পূর্বনির্ধারিত ভার্ভির0 সেতু ব্যবহার করেছে যা অতিথি কম্পিউটারে NAT কে রাউটেড। NAT রাউটিংটি কার্নেলের ip_forwarding বৈশিষ্ট্য এবং iptables ব্যবহার করে । ব্রিজ মোড অতিথিতে একটি ভার্চুয়াল ব্রিজ ব্যবহার করে যার সাথে (সংখ্যাযুক্ত) ইথারনেট ইন্টারফেস সংযুক্ত হয় এবং যার উপর হোস্ট এবং অতিথি উভয়েরই নেটওয়ার্ক ইন্টারফেস থাকে।
নিম্নলিখিত চিত্রগুলি পার্থক্য পরিষ্কার করতে পারে:
আপনি দেখতে পাচ্ছেন যে ডিফল্ট ব্যবহারকারী নেটওয়ার্কটি এর সাথে কীভাবে সংজ্ঞায়িত হয়:
virsh net-dumpxml default
আমি নিম্নলিখিত পদ্ধতির সাহায্যে ব্রিজ মোড সেট আপ করতে পারি:
/ ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসে (আপনার প্রশ্নের যে পোস্টটি আপনি উল্লেখ করেছেন তার ব্রিজিং অংশ থেকে):
অটো লো
iface লো inet লুপব্যাক
# অটো এথ0
#iface eth0 inet dhcp
স্বয়ংক্রিয় eth0
iface eth0 inet ম্যানুয়াল
অটো br0
iface br0 inet dhcp
ব্রিজ_পোর্টস এথ0
সেতু_ স্টপ বন্ধ
ব্রিজ_এফডি 0
সেতু_ম্যাক্সয়েট 0
পুনরায় বুট করুন; এবং ওয়্যারলেস নেটওয়ার্কিং সক্রিয় না রয়েছে তা নিশ্চিত করুন। এর সাথে ডিফল্ট আইপি রুটটি পরীক্ষা করে দেখুন ip route
। এটি অবশ্যই br0 ইন্টারফেস ব্যবহার করা উচিত।
এনবি যদি আপনার ইথারনেটটি পরিবর্তন না করা হয় তবে আপনার ইথারনেট কেবলটি প্লাগ ইন করা এবং ক্যারিয়ার বা বুট পেতে দুটি মিনিটের জন্য স্তব্ধ থাকতে হবে এবং আপনার নেটওয়ার্কের সক্ষমতা থাকবে না কারণ এথ 0 ইন্টারফেস, এই ফাইলটিতে থাকা, বুটটি স্বাভাবিকভাবে এগিয়ে যাওয়ার আগে অবশ্যই উপস্থিত হওয়া উচিত।
এনবি সাধারণত আপনি একাধিক ম্যাক ঠিকানা ব্যবহার করতে অক্ষমতার কারণে আপনি ইথ 0 এর পরিবর্তে একটি বেতার নেটওয়ার্ক ব্যবহার করতে পারবেন না (আমি সে অনুমান করি যে সেতুর জন্য তাদের দ্বিতীয়টির প্রয়োজন)।
বিকল্প হিসাবে আপনি ইথারনেটের ব্যবহার নিষ্ক্রিয় করতে পারেন এবং নিশ্চিত করতে পারেন যে এটির কোনও আইপি ঠিকানা নেই এবং এটির সাথে কোনও ডিফল্ট রুট সেট আপ করা নেই ip route
। তারপর:
sudo ifconfig eth0 0.0.0.0 up
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo ifconfig br0 up
sudo dhclient br0 &
ডিফল্ট রুট এবং ডিএনএস ঠিকানা সংজ্ঞায়নের পাশাপাশি আপনি এখানে একটি স্থির আইপি ঠিকানা সরবরাহ করতে পারেন। এই উদাহরণস্বরূপ এটি dhclient
করে।
আমার রুটের টেবিলটি এখানে:
ip আইপি রুটের তালিকা
192.168.1.1 ডেভ বিআর0 মেট্রিক 100 এর মাধ্যমে ডিফল্ট
169.254.0.0/16 dev br0 স্কোপ লিঙ্ক মেট্রিক 1000
192.168.1.0/24 dev br0 প্রোটো কার্নেল স্কোপ লিঙ্ক src 192.168.1.45
192.168.122.0/24 দেব কুমারী00 প্রোটো কার্নেল স্কোপ লিঙ্ক src 192.168.122.1
কেভিএম ব্যবহার করা হচ্ছে
এর পরে আমি একটি ব্রিজযুক্ত কেভিএম মেশিনটি বুট করতে পারি:
$ sudo kvm -name Quantal -m 1024 -hda foo.qcow2 --soundhw ac97 -device virtio-net,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0
-netdev tap
পরামিতি তোলে প্রয়োজন sudo। ভিএম শুরু করার সাথে সাথে কেমু-কেভিএম নিম্নলিখিত কমান্ডগুলি চালায়:
ifconfig vnet0 0.0.0.0 আপ
brctl addif brctl addif br0 vnet0
এটি / etc / qemu-ifup দ্বারা সম্পন্ন হয়
VM এর vnet0 ইন্টারফেসটি br0 ব্রিজের সাথে যুক্ত করা হয়েছে কারণ উপরের ডিফল্ট রুটটি সেতু ইন্টারফেসটি ব্যবহার করে। এটি না থাকলে তার পরিবর্তে ট্যাপ ইন্টারফেসটি ভার্ভির0 ইন্টারফেসে যুক্ত করা হবে। যেহেতু এটি ইন্টারনেটের সাথে সংযুক্ত নেই, তাই NAT আমার অতিথিদের এবং হোস্ট এবং ইন্টারনেটের সাথে আমার পরীক্ষাগুলিতে সংযুক্ত করতে ব্যবহৃত হত। আপনি vnet0 কে / etc / default / qemu-kvm এর একটি নির্দিষ্ট ব্রিজের দিকে নির্দেশ করতে পারেন। নীচে গুণ-পরিচালক ব্যবহার করে আপনি কোন ব্রিজের সাথে সংযোগ স্থাপন করবেন তা স্পষ্টভাবে নির্দেশ করতে পারেন।
উপরোক্ত কমান্ডগুলি qemu-kvm দ্বারা জারি করা এবং -netdev tap,id=tunnel,ifname=vnet0
পরামিতিগুলির কারণে, vm ভার্চুয়াল মেশিনটি vnet0 টানেলের সাথে সংযুক্ত এবং টানেলটি br0 ব্রিজের সাথে সংযুক্ত রয়েছে।
আমি এখন সরাসরি আমার নেটওয়ার্কের অন্য কম্পিউটার থেকে এই অতিথি ভিএম-এ সরাসরি প্রবেশ করতে পারি।
আমার হোস্ট ifconfig
(ভিএম চলছে যখন আমার নেটওয়ার্কে প্রদর্শিত vnet0 ইন্টারফেস নোট করুন):
জন্য $ ifconfig
br0 লিঙ্ক এনক্যাপ: ইথারনেট HWaddr 00: 1 ই: 33: 88: 07: e5
ইনেট অ্যাডার: 192.168.1.45 বিস্তৃত: 255.255.255.255 মাস্ক: 255.255.255.0
inet6 সংযোজক: fe80 :: 21e: 33 এফ: fe88: 7e5 / 64 স্কোপ: লিঙ্ক
ইউরো ব্রডকাস্ট চলমান মাল্টিকাস্ট এমটিইউ: 1500 মেট্রিক: 1
আরএক্স প্যাকেট: 6526 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 7543 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ক্যারিয়ার: 0
সংঘর্ষ: 0 txqueuelen: 0
আরএক্স বাইট: 2712940 (2.7 মেগাবাইট) টিএক্স বাইট: 1071835 (1.0 এমবি)
এথ0 লিঙ্ক এনক্যাপ: ইথারনেট এইচডাব্ল্ডার 00: 1 ই: 33: 88: 07: e5
ইউরো ব্রডকাস্ট চলমান মাল্টিকাস্ট এমটিইউ: 1500 মেট্রিক: 1
আরএক্স প্যাকেট: 7181 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 7740 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ক্যারিয়ার: 0
সংঘর্ষ: 0 txqueuelen: 1000
আরএক্স বাইট: 2974585 (2.9 এমবি) টিএক্স বাইট: 1096580 (1.0 এমবি)
বাধা: 43 বেস ঠিকানা: 0x6000
লিংক এনক্যাপ: স্থানীয় লুপব্যাক
ইনেট অ্যাডার: 127.0.0.1 মাস্ক: 255.0.0.0
inet6 সংযোজক: :: 1/128 সুযোগ: হোস্ট
ইউপি লুপব্যাক চলমান এমটিইউ: 16436 মেট্রিক: 1
আরএক্স প্যাকেট: 10 ত্রুটি: 0 বাদ: 0 ওভাররান: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 10 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ক্যারিয়ার: 0
সংঘর্ষ: 0 txqueuelen: 0
আরএক্স বাইট: 664 (664.0 বি) টিএক্স বাইট: 664 (664.0 বি)
vnet0 লিঙ্ক এনক্যাপ: ইথারনেট HWaddr সিএ: 0c: 73: c3: বিসি: 45
inet6 অ্যাডার: fe80 :: c80c: 73ff: fec3: বিসি 45/64 স্কোপ: লিঙ্ক
ইউরো ব্রডকাস্ট চলমান মাল্টিকাস্ট এমটিইউ: 1500 মেট্রিক: 1
আরএক্স প্যাকেট: 226 ত্রুটি: 0 বাদ: 0 ওভাররান: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 429 ত্রুটি: 0 বাদ: 0 ওভাররান: 0 ক্যারিয়ার: 0
সংঘর্ষগুলি: 0 txqueuelen: 500
আরএক্স বাইট: 26919 (26.9 কেবি) টিএক্স বাইট: 58929 (58.9 কেবি)
virbr0 লিঙ্ক এনক্যাপ: ইথারনেট HWaddr d6: 18: 22: db: ff: 93
ইনেট অ্যাডার: 192.168.122.1 বিকাশ: 192.168.122.255 মাস্ক: 255.255.255.0
ইউপি ব্রোডকাস্ট মাল্টিকাস্ট এমটিইউ: 1500 মেট্রিক: 1
আরএক্স প্যাকেট: 0 টি ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 0 টি ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ক্যারিয়ার: 0
সংঘর্ষ: 0 txqueuelen: 0
আরএক্স বাইট: 0 (0.0 বি) টিএক্স বাইট: 0 (0.0 বি)
ভিএম চালানোর সময় আমার ব্রিজ কনফিগারেশন:
ct brctl শো
ব্রিজ নাম ব্রিজ আইডি এসটিপি সক্ষম ইন্টারফেস
br0 8000.001e338807e5 নথ E0 নয়
vnet0
virbr0 8000.00000000000000 হ্যাঁ
নোট করুন যে ভার্চুয়াল মেশিনের vnet0 ইন্টারফেস এবং eth0 ইন্টারফেস উভয়ই br0 ব্রিজের সাথে সংযুক্ত।
এবং ব্র্যাক ইন্টারফেসে ম্যাকের:
ct brctl শোম্যাকস br0
পোর্ট কোন ম্যাক অ্যাডার স্থানীয়? বার্ধক্যজনিত টাইমার
1 00: 05: 5 ডি: সিএফ: 64: 61 না 2.54
1 00: 19: d2: 42: 5d: 3f ন 36.76
1 00: 19: ডিএফ: দা: আফ: 7 সি নং 2.86
1 00: 1 ই: 33: 88: 07: ই 5 হ্যাঁ 0.00
1 00: 60: 0f: e4: 17: d6 না 0.79
2 52: 54: 00: 12: 34: 56 না 0.80
1 58: 6 ডি: 8 এফ: 17: 5 বি: সি 0 নং 5.91
1 সি 8: আ: 21: হতে: 8 ডি: 16 ন 167.69
2 সিএ: 0 সি: 73: সি 3: বিসি: 45 হ্যা 0.00
নোট করুন যে br0 ইন্টারফেসটি আমার হোস্ট কম্পিউটারটিকে অতিথি দ্বারা ব্যবহৃত একই ব্রিজের সাথে সংযুক্ত করে।
আপনি নিজের নেট থেকে নেট ব্যবহারের পরিবর্তে ব্রিজ হয়ে গেছেন তা পরীক্ষা করতে পারেন traceroute 8.8.8.8
। প্রথম নোডটি যদি অতিথির আইপি ঠিকানার পরিবর্তে আপনার নেটওয়ার্কের রাউটার হয় তবে আপনার নেটওয়ার্কটি সঠিকভাবে কাজ করা উচিত।
এই ডকুমেন্টেশন দেখুন ।
virt-manager- র
নিশ্চিত হয়ে নিন যে আপনি ইনস্টল করেছেন virt-manager
এবং hal
। hal
প্যাকেজের জন্য একটি প্রস্তাবিত নির্ভরতা হয় virt-manager
এবং তৈরি অথবা সম্পাদনা অতিথি যখন আপনার সিস্টেমের নেটওয়ার্ক কনফিগারেশন নির্ধারণ করতে ব্যবহৃত হয়।
উপরোক্ত হিসাবে সংজ্ঞায়িত BR0 ব্রিজটি রাখার সময় আমি নিখুঁত-পরিচালকের সাহায্যে একটি ভার্চুয়াল মেশিন তৈরি করেছি:
আমি এই অতিথিটির কাছ থেকে সরাসরি আমার বাকী হোম নেটওয়ার্ক এবং ইন্টারনেটে যেতে সক্ষম হয়েছি। আমি আমার হোম নেটওয়ার্কের অপর (হোস্ট-অ-অতিথি) উবুন্টু কম্পিউটার থেকে এটিতে প্রবেশ করতে সক্ষম হয়েছি।
এখানে kvm
গুটি-ম্যানেজার দ্বারা চালিত খুব দীর্ঘ কমান্ডটি রয়েছে (ইএপাবস বা অন্য কারও সাথে এটির সমস্যায় পড়ার সাথে তুলনা করার জন্য):
/ usr / bin / kvm -S -M pc-1.0 -able-kvm -m 1024 -smp 1, সকেট = 1, কোর = 1, থ্রেড = 1-নাম সুনির্দিষ্ট -uuid f057a729-eda6-4b85-84dc-f100c9ae3789 - nodefconfig -nodefaults -chardev সকেট, id = Charmonitor, পথ = / var / lib / libvirt / qemu / precise.monitor, সার্ভার, nowait -mon Chardev = Charmonitor, id = মনিটর, মোড = নিয়ন্ত্রণ-আর্টিক বেস = utc-no- শাটডাউন -ড্রাইভ ফাইল = / মিডিয়া / ন্যাটি / হোম / গ্রুবার / উবুন্টু-কেভিএম / tmpW8gSGB.qCO2, যদি = কিছুই না, আইডি = ড্রাইভ-আদর্শ0-0-0, ফর্ম্যাট = কিউকিও 2-ডিভাইস আইডিয়া-ড্রাইভ, বাস = আদর্শ.0 , ইউনিট = 0, ড্রাইভ = ড্রাইভ-আদর্শ0-0-0, আইডি = আদর্শ0-0-0, বুটইন্ডেক্স = 1-নেটদেব ট্যাপ, এফডি = 18, আইডি = হোস্টনেট 0-ডিভাইস rtl8139, নেটদেব = হোস্টনেট0, আইডি = নেট 0, ম্যাক = 52: 54: 00: 0 এ: দা: 9 বি, বাস = পিসিআই.0, অ্যাডার = 0x3 -চরদেব পিটিআই, আইডি = চার্সিয়েরেল-ডিভাইস ইসা-সিরিয়াল, চরদেব = চরস্রিয়েল 0, আইডি = সিরিয়াল 0-ইউএসবি -ভিএনসি 127.0.0.1: 0 -ভিগা সিরাস-ডিভাইস ইন্টেল-এইচডিএ, আইডি = সাউন্ড 0, বাস = পিসিআই.0, অ্যাডার = 0x4-ডিভাইস এইচডিএ-দ্বৈত, আইডি = সাউন্ড 0-কোডেক 0, বাস = শব্দ0.0,ক্যাড = 0-ডিভাইস ভারিটিও-বেলুন-পিসিআই, আইডি = বেলুন 0, বাস = পিসিআই.0, অ্যাড্রার = 0x5
/Etc/libvirt/qemu/quantal.xML এ ভার্চুয়াল মেশিনের বর্ণনার নেটওয়ার্ক অংশ এখানে রয়েছে
<interface type='bridge'>
<mac address='52:54:00:b0:8e:aa'/>
<source bridge='br0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
মতে এই লিঙ্ক, কর্মক্ষমতা এবং নির্ভরযোগ্যতা জন্য, এটা ভাল হতে পারে নেটওয়ার্কের ডিভাইস মডেল সেট করতে virtio
টিপে, আপনি হলে virt-দর্শক এর মধ্যে এটা করতে পারেন আমি , বোতাম এনআইসি সেটিং গিয়ে এবং "ডিভাইস মডেল সেটিং "থেকে virtio
। আপনি লাইনটি যুক্ত করে উপরের এক্সএমএলে এটি যুক্ত করতে পারেন:
<model type='virtio'/>
সংক্ষেপে
এই সমস্ত 12.04 এ নিয়েছে:
- গুণ-পরিচালক, ব্রিজ-ইউজগুলি, qemu-kvm, এবং সম্পর্কিত প্যাকেজ ইনস্টল করা হচ্ছে
- নিশ্চিত করুন যে কেভিএম ব্যবহার করতে ইচ্ছুক প্রতিটি ব্যবহারকারী লিবিভার্দিড গ্রুপে আছেন।
- উপরের হিসাবে / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস সংজ্ঞায়িত করা (যা উদ্ধৃত নিবন্ধের সাথে মিলে)
- পুনরায় বুট করুন, ইথারনেটটি প্লাগ ইন করা হয়েছে এবং ওয়্যারলেস (যদি থাকে) বন্ধ রয়েছে তা নিশ্চিত করে।
- হয় কোনও চিত্রের সাথে সরাসরি
-device e1000,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0
কেভিএম চালান , উদাহরণস্বরূপ , অথবা ফ্যাহ্যু-ম্যানেজারের সাথে একটি ভার্চুয়াল মেশিন তৈরি করুন, ধাপ 4-> অ্যাডভান্সড অপশন প্যানেলের অধীনে নেটওয়ার্ক ব্রিজ বি0-কে নির্দিষ্ট করে।
নেটওয়ার্কিং, ক্ষমতা, টেমপ্লেট বা কনফিগারেশনগুলিতে আর কোনও পরিবর্তন দরকার হয়নি।
আপনার নতুন অতিথির কোনও পরিষেবা ইন্টারনেটে প্রকাশের জন্য আপনার উচিত:
- আপনার প্রয়োজন হবে এমন যে কোনও ফায়ারওয়াল পরিষেবা প্রস্তুত এবং কনফিগার করুন।
- হয় আপনার অতিথির কনফিগারেশন বা আপনার ডিএইচসিপি পরিষেবাতে একটি স্থির ঠিকানা বরাদ্দ করুন।
- যদি আপনি কোনও NAT রাউটার ব্যবহার করেন তবে পরিষেবাটির জন্য একটি পোর্ট খুলুন আপনি এটি অতিথির আইপি ঠিকানায় নির্দেশনা প্রয়োগ করছেন।
আপনার হোস্ট কম্পিউটারের জন্য ফায়ারওয়াল পরিষেবাটি পরীক্ষা এবং পুনরায় সক্ষম করতে মনে রাখবেন। অতিথির কাছে ট্র্যাফিক ফরওয়ার্ড করার জন্য এটি কোনও প্রবেশের প্রয়োজন হতে পারে।
দেখুন https://help.ubuntu.com/community/KVM/Installation , https://help.ubuntu.com/community/KVM/Networking এবং https://help.ubuntu.com/12.04/serverguide/libvirt। এইচটিএমএল ।
ifconfig
,brctl show
,brctl showmacs br0
, এবংip route
। অতিথি অন:ifconfig
,ip route
,ping 8.8.8.8
,ping <your internet router>
, এবংtraceroute 8.8.8.8
। আমি বলতে পারি না যে আপনার মতো করে আমি কেভিএম কনফিগার করেছি, তবেkvm
কমান্ডটি ব্যবহার করে আমি ব্রিজিং পেয়েছি । আমার ওয়্যারলেসটি ইন্টারনেটের সাথে সংযোগ স্থাপন করবে এবং আমাকে উদ্ধৃত নির্দেশাবলী হিসাবে ইথারনেটের সাথে আপনার ইন্টারনেটের সাথে সংযোগ স্থাপন করতে হবে তাই আমার ওয়্যারলেসটি সংযোগ বিচ্ছিন্ন করতে হয়েছিল।