কেভিএম ব্রিজড নেটওয়ার্ক কাজ করছে না


23

আমি এই গাইড অনুসারে আমার উবুন্টু সার্ভারে কেবলমাত্র কেভিএম ইনস্টল করেছি: https://help.ubuntu.com/commune/KVM/ সূচনা

তারপরে এখানে বর্ণিত ব্রিজযুক্ত নেটওয়ার্ক প্রস্তুত করুন: https://help.ubuntu.com/commune/KVM/ নেটওয়ার্কিং

তারপরে, আমি গুণ-পরিচালক দিয়ে একটি ভার্চুয়াল মেশিন তৈরি করেছি। আমি বেশ কয়েকবার চেষ্টা করেছি কিন্তু অতিথি নেটওয়ার্কে সংযোগ দিতে ব্যর্থ হয়েছে! কোন সাহায্য?

ifconfig:

      br0       Link encap:Ethernet  HWaddr d0:27:88:b0:e4:38  
                inet addr:192.168.20.100  Bcast:192.168.20.255  Mask:255.255.255.0
                inet6 addr: fe80::d227:88ff:feb0:e438/64 Scope:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:62 errors:0 dropped:0 overruns:0 frame:0
                TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0 
                RX bytes:10493 (10.4 KB)  TX bytes:8433 (8.4 KB)

      eth0      Link encap:Ethernet  HWaddr d0:27:88:b0:e4:38  
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:62 errors:0 dropped:0 overruns:0 frame:0
                TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000 
                RX bytes:11361 (11.3 KB)  TX bytes:8479 (8.4 KB)
                Interrupt:41 

      lo        Link encap:Local Loopback  
                inet addr:127.0.0.1  Mask:255.0.0.0
                inet6 addr: ::1/128 Scope:Host
                UP LOOPBACK RUNNING  MTU:16436  Metric:1
                RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0 
                RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

      virbr0    Link encap:Ethernet  HWaddr 5a:8c:57:95:af:3b  
                inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
                UP BROADCAST MULTICAST  MTU:1500  Metric:1
                RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0 
                RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ব্র্যাকটিএল শো:

 bridge name    bridge id      STP enabled    interfaces
 br0       8000.d02788b0e438   no        eth0
 virbr0         8000.000000000000   yes  

brctl শোম্যাকস br0:

 port no   mac addr       is local? ageing timer
   1  5c:d9:98:67:b6:28   no          48.33
   1  d0:27:88:b0:e4:38   yes          0.00
   1  e0:2a:82:f9:6c:09   no           0.00

আইপি রুট:

 default via 192.168.20.1 dev br0  metric 100 
 192.168.20.0/24 dev br0  proto kernel  scope link  src 192.168.20.100 
 192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

* অতিথিতে * আমি অতিথির কাছ থেকে তথ্যটি পেস্ট করতে পারি না কারণ এটিতে প্রেরণ করা যায় না। এটি ডিএইচসিপি থেকে কোনও আইপ পায় না। এটি ম্যানুয়ালি সেট আপ করার পরেও কাজ করবে না।


আমি কি আপনাকে নিম্নলিখিত কমান্ডগুলি থেকে আউটপুট সরবরাহ করার পরামর্শ দিতে পারি? হোস্ট অন: 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কমান্ডটি ব্যবহার করে আমি ব্রিজিং পেয়েছি । আমার ওয়্যারলেসটি ইন্টারনেটের সাথে সংযোগ স্থাপন করবে এবং আমাকে উদ্ধৃত নির্দেশাবলী হিসাবে ইথারনেটের সাথে আপনার ইন্টারনেটের সাথে সংযোগ স্থাপন করতে হবে তাই আমার ওয়্যারলেসটি সংযোগ বিচ্ছিন্ন করতে হয়েছিল।
জন এস গ্রুবার

@ জনএসগ্রুবার আপনার অনুরোধ করা তথ্য সবেমাত্র যুক্ত করেছে। তবে আমি অতিথির কাছ থেকে তথ্যটি অনুলিপি করতে অক্ষম হলাম কারণ এটিতে প্র্রকাশ করতে পারে না। এটি ডিএইচসিপি থেকে কোনও আইপ পায় না। এটি ম্যানুয়ালি সেট আপ করার পরেও কাজ করবে না।
THpubs

brctl showmacs br0উপরের তালিকায় আপনি যে ম্যাক ঠিকানাটি অতিথিকে অর্পণ করেছেন তা কি ?
জন এস গ্রুবার

আমি ম্যাক ম্যানুয়ালি যোগ করিনি .. তবে এটি যে ম্যাক পেয়েছে তা আমাকে চেক করতে দিন ..
THpubs

@ জনএসগ্রুবার না আমি এখানে যে ম্যাক দেখছি না!
THpubs

উত্তর:


22

preliminaries

এটি নিম্নলিখিত উবুন্টু 12.04 এর জন্য আমার পক্ষে কাজ করেছে। এটি পরীক্ষা করার সাথে সাথে আপনার কম্পিউটারের ফায়ারওয়ালটি অক্ষম করা উচিত যাতে এটি হস্তক্ষেপ না করে।

/ Etc / default / qemu-kvm ফাইলটি মূলত ইনস্টল করা উচিত।

আপনার ব্রিজ-ইউজেস কিউমু-কেভিএম এবং লিবারভিট-বিন ইনস্টল করা দরকার। ভার্চুয়াল মেশিন ব্যবহার করা কোনও ব্যবহারকারীকে libvirtd গ্রুপে যুক্ত করা উচিত।সেতু-ব্যবহারগুলি ইনস্টল করুন Qemu-kvm ইনস্টল করুনLibvirt-bin ইনস্টল করুন

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এবং halhalপ্যাকেজের জন্য একটি প্রস্তাবিত নির্ভরতা হয় 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 এ নিয়েছে:

  1. গুণ-পরিচালক, ব্রিজ-ইউজগুলি, qemu-kvm, এবং সম্পর্কিত প্যাকেজ ইনস্টল করা হচ্ছে
  2. নিশ্চিত করুন যে কেভিএম ব্যবহার করতে ইচ্ছুক প্রতিটি ব্যবহারকারী লিবিভার্দিড গ্রুপে আছেন।
  3. উপরের হিসাবে / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস সংজ্ঞায়িত করা (যা উদ্ধৃত নিবন্ধের সাথে মিলে)
  4. পুনরায় বুট করুন, ইথারনেটটি প্লাগ ইন করা হয়েছে এবং ওয়্যারলেস (যদি থাকে) বন্ধ রয়েছে তা নিশ্চিত করে।
  5. হয় কোনও চিত্রের সাথে সরাসরি -device e1000,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0কেভিএম চালান , উদাহরণস্বরূপ , অথবা ফ্যাহ্যু-ম্যানেজারের সাথে একটি ভার্চুয়াল মেশিন তৈরি করুন, ধাপ 4-> অ্যাডভান্সড অপশন প্যানেলের অধীনে নেটওয়ার্ক ব্রিজ বি0-কে নির্দিষ্ট করে।

নেটওয়ার্কিং, ক্ষমতা, টেমপ্লেট বা কনফিগারেশনগুলিতে আর কোনও পরিবর্তন দরকার হয়নি।

আপনার নতুন অতিথির কোনও পরিষেবা ইন্টারনেটে প্রকাশের জন্য আপনার উচিত:

  1. আপনার প্রয়োজন হবে এমন যে কোনও ফায়ারওয়াল পরিষেবা প্রস্তুত এবং কনফিগার করুন।
  2. হয় আপনার অতিথির কনফিগারেশন বা আপনার ডিএইচসিপি পরিষেবাতে একটি স্থির ঠিকানা বরাদ্দ করুন।
  3. যদি আপনি কোনও NAT রাউটার ব্যবহার করেন তবে পরিষেবাটির জন্য একটি পোর্ট খুলুন আপনি এটি অতিথির আইপি ঠিকানায় নির্দেশনা প্রয়োগ করছেন।

আপনার হোস্ট কম্পিউটারের জন্য ফায়ারওয়াল পরিষেবাটি পরীক্ষা এবং পুনরায় সক্ষম করতে মনে রাখবেন। অতিথির কাছে ট্র্যাফিক ফরওয়ার্ড করার জন্য এটি কোনও প্রবেশের প্রয়োজন হতে পারে।

দেখুন https://help.ubuntu.com/community/KVM/Installation , https://help.ubuntu.com/community/KVM/Networking এবং https://help.ubuntu.com/12.04/serverguide/libvirt। এইচটিএমএল


হাই, আমার কাছে সেই মেশিনে একটি ওয়্যারলেস কার্ড নেই। কেবলমাত্র ইথারনেট :)
THPubs

আমি বুঝতে পারি আপনার ওয়্যারলেস নেই - তবে অন্যরা এই প্রশ্নটি পড়তে পারে। আপনি যা ব্যবহার করেছেন সেহেতু আমি একটি গুণ-পরিচালক বিভাগ পোস্ট করেছি। ভার্চুয়াল মেশিনটি তৈরি করার সময় আপনি কী ধাপে 4 উন্নত বিকল্পে ব্রিজকে ব্রিজযুক্ত উল্লেখ করেছেন? কেভিএম কমান্ডের নেটওয়ার্কিং পরামিতিগুলি ম্যাচ মাইনের দ্বারা চালু করা হয়েছে? (আপনি এটি চালিয়ে দেখতে পারেন ps aux | grep kvm)
জন এস গ্রুবার

হাই, উন্নত বিকল্পগুলিতে, ভার্চুয়াল ম্যানেজারটি ব্যবহার করে ভার্চুয়াল মেশিন তৈরি করার সময়, আমি eth0 এবং br0 দেখতে পাই না।
THPubs

হ্যাঁ সম্ভবত এটিই সমস্যা - এটি গুণ-পরিচালকের অধীনে কাজ করার মূল চাবিকাঠি। আপনি কি এমন মেশিনে চালাচ্ছেন যা এটি হোস্ট করবে (এবং brctl showআপনার প্রশ্নে যেমন রয়েছে তেমন সংজ্ঞা দেওয়া আছে?) আপনি উবুন্টুর কোন সংস্করণটি চালাচ্ছেন? হয়তো এটাই পার্থক্য। পুণ্য-পরিচালকের কী সংস্করণ? (খনি 0.9.1-1ubuntu5.1)।
জন এস গ্রুবার

আমি উবুন্টু 12.04 চালাচ্ছি এবং গুণ-পরিচালক 0.9.1-1ubuntu5.1। আসলে, আমার কাছে হোস্টে পুণ্য-পরিচালক ইনস্টল করা নেই। আমার এটি একটি রিমোট মেশিনে আছে এবং আমি এটি হোস্টের সাথে সংযোগ করতে ব্যবহার করি। আমার কি সমস্যা হচ্ছে?
THpubs

6

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

দেখুন: https://bugs.launchpad.net/ubuntu/+source/ufw/+bug/573461

বিশেষত, এই বিভাগ: "চূড়ান্ত পদক্ষেপটি সেতুতে নেটফিল্টারটি অক্ষম করা:

# cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
EOF

3

এই দুটি স্ক্রিপ্ট আমি ব্রিজ তৈরি করতে ব্যবহার করি qemu-kvm

প্রথমে হোস্টটিকে আইপি রাউটারে পরিণত হতে দিন।

লিপি ip-router.sh:

#!/bin/bash

internetinterface="eth0"

username=`whoami`

if [ "x$username" != "xroot" ] ; then

    echo    
    echo "You must be root in order to run this script..."
    echo    

    exit    

fi  

if [ "x$1" != "x" ] ; then
    internetinterface="$1"
fi  

if [ "x$1" == "xdel" ] || [ "x$2" == "xdel" ] ; then
    disable="1"
else
    disable="0"
fi  

if [ "$disable" == "0" ] ; then
    echo "Enabling IP forward and setting up masquerade NAT on interface $internetinterface"

    echo 1 > /proc/sys/net/ipv4/ip_forward

    iptables -t nat -A POSTROUTING -o $internetinterface -j MASQUERADE
else
    echo "Disable IP forward and setting down masquerade NAT on interface $internetinterface"

    echo 0 > /proc/sys/net/ipv4/ip_forward

    iptables -t nat -D POSTROUTING -o $internetinterface -j MASQUERADE
fi  

তারপরে, আপনার ডিফল্ট ইন্টারফেসের সাথে tun-tapইন্টারফেস এবং bridgeএটি তৈরি করুন (সাধারণত একটি ইন্টারনেট সংযোগযুক্ত একটি)।

লিপি create-qemu-bridged-tuntap.sh:

#!/bin/bash

bridgename=br0
tapinterface=tap0
outinterface=eth1

if [ "x$1" != "x" ] ; then
    outinterface="$1"
fi  

ifaces=`awk -F: '{print $1}' /proc/net/dev | tail -n +3`
iffound="0"

for i in $ifaces
do  
    if [ "$outinterface" == "$i" ] ; then
            iffound="1"
    fi  
done

if [ "$iffound" == "0" ] ; then
    echo
    echo "Can't find the output interface."
    echo
    exit 1
fi  

outifaceip=`ifconfig | grep -A1 $outinterface | tail -1 | awk -F: '{print $2}' | awk '{print $1}'`
outifaceiptokens=`echo $outifaceip | awk -F \. '{print NF}'`

if [ "$outifaceiptokens" != "4" ] ;  then
    echo
    echo "The selected output interface $outinterface doesn't seem to have a valid IP address."
    echo
    exit 1
fi  

hostaddress="192.168.1.1"
guestaddress="192.168.1.95"

sudo tunctl -t $tapinterface

sudo brctl addbr $bridgename
sudo brctl addif $bridgename $tapinterface

sudo ip link set $bridgename up
sudo ip addr add $hostaddress/24 dev $bridgename

sudo route add -host $guestaddress dev $bridgename
sudo parprouted eth1 $bridgename

sudo ~/scripts/ip-router.sh $outinterface

আমি এই স্ক্রিপ্টগুলি প্রতিদিন ব্যবহার করি, সুতরাং সেগুলিও আপনার পক্ষে ভালভাবে কাজ করা উচিত। এই সমস্ত কাজ করার জন্য আপনাকে কিছু প্যাকেজ ইনস্টল করতে হবে। ব্যবহার:

dlocate `which COMMAND`

আপনি দেখতে পারেন কোন প্যাকেজ থাকা দরকার COMMAND। উদাহরণস্বরূপ কোন প্যাকেজটি থাকা দরকার তা দেখার জন্য brctl, কেবল চালান:

dlocate `which brctl`

এবং আপনার আছে:

bridge-utils: /sbin/brctl

এই স্ক্রিপ্টগুলির সমস্ত কমান্ডের জন্য একই পদ্ধতির ব্যবহার করে আপনার (কমপক্ষে) এই aptitudeকমান্ড লাইনটি চালানো উচিত :

sudo aptitude install dlocate iproute parprouted iptables uml-utilities bridge-utils net-tools

শেষ অবধি, আপনি মূল স্ক্রিপ্টটি চালু করতে পারেন (সাধারণ ব্যবহারকারী হিসাবে):

#> create-qemu-bridged-tuntap.sh eth0
Set 'tap0' persistent and owned by uid 0
Enabling IP forward and setting up masquerade NAT on interface eth0

চলমান ip addrআপনি একটি দেখতে পাবেন br0IP ঠিকানার সাথে ইন্টারফেস 192.168.1.1, যেমন ভিতরে নিদিষ্ট create-qemu-bridged-tuntap.shস্ক্রিপ্ট:

#> ip addr
8: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 36:76:ee:d6:63:b2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 scope global br0

এই host addressহিসাবে দেখা হিসাবে guest। বিপরীতে, অতিথির আইপি ঠিকানা হিসাবে থাকবে 192.168.1.95(আবার এটি মূল স্ক্রিপ্টের ভিতরে সহজেই পরিবর্তন করা যেতে পারে)।

এখন, ব্যবহার করে virt-manager, আপনাকে br0শারীরিক ইন্টারফেস হিসাবে ব্যবহার করতে আপনার অতিথিকে ঠিক সেটআপ করতে হবে ।

virt-manager- র-br0-NIC

এর ভিতরে guest, আপনাকে কেবল eth0একটি আইপি ঠিকানা দিতে হবে 192.168.1.95এবং সবকিছু ঠিকঠাক চলতে হবে।

Slackware13:~> ifconfig 
eth0      Link encap:Ethernet  HWaddr 52:54:00:F7:6A:78  
          inet addr:192.168.1.95  Bcast:192.168.1.255  Mask:255.255.255.0

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

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

@ অ্যাভিও না আমার বন্ধু, আমার মেশিনে আমার দূরবর্তী প্রবেশাধিকার প্রয়োজন। যদি আমি NAT সেট করি এবং ভিএম তৈরি করি তবে এটি কার্যকর হয়।
THPubs

একটি সমস্যা, যে আমার কাছে তা থাকত যেখানে আইপি ফরওয়ার্ডিং বন্ধ ছিল এখানে একটি খেই cat /proc/sys/net/ipv4/ip_forwardদিলেন 0। এটি সক্ষম করা এবং এটি চালিয়ে যাওয়া আমার পক্ষে সমস্যাটি পরিষ্কার হয়ে গেছে, এই পোস্টের নির্দেশাবলী
জ্যাক কোব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.