วันอาทิตย์ที่ 28 กรกฎาคม พ.ศ. 2556

การติดตั้ง Bridge network for KVM บน Ubuntu 12.04

จากคำสั่งที่ เราใช้ในการรัน KVM  qemu ดังนี้ 

$ /my/qemu/bin/qemu-system-x86_64 -enable-kvm -smp 2 -m 2g -hda mydisk.img -boot c -net nic -net user -localtime -vnc :5

จะเห็นว่า ตอนนี้ เรากำหนด network  เป็น -net nic  -net user  ซึ่งเป็น network protocol ภายในเครื่อง เรียกว่า slirp protocol  ถ้าเรา  ดู ip ของเครื่องที่เรา virture ขึ้นมา เราจะได้ ip 10.0.2.15  และ  host จะได้เป็น 10.0.2.2  ซึ่งเป็น network แบบ private ภายในเครื่องเราเอง ภายนอก ไม่สามารถเรียกมาใช้งาน เครื่อง ที่ virture ขึ้นมาได้

network อีกแบบที่เราจะทดลองทำ คือ Bridge เราจะจำลอง network interface ให้เราสามารถที่จะเชื่อม virture machine  เข้ากับตัว  software linux Bridge ซึ่งหากเราทำแบบนี้แล้ว เราจะได้ ip ที่เป็น network วงเดียวกับ ตัว linux ที่ใช้ รัน virture ขึ้นมา อยู่ในระดับเดียวกัน

ขั้นตอนแรก ให้ทำการติดตั้ง software สำหรับ Bridge  โดยใช้คำสั่ง 
$ sudo apt-get install libcap2-bin bridge-utils

2. เปลี่ยน capacity  ให้กับ file สามารถใช้ความสามารถของ root ได้
$ sudo setcap cap_net_admin=ei  /my/bin/qemu_system_x86_64

3. เปลี่ยน interface config
$ sudo su
$ nano /etc/network/interfaces
  เริ่มต้น file จะมี  config ไว้ ตามภาพ 

  ทำการแก้ไข file ตามภาพ

4. restart network
$ /etc/init.d/networking restart

5. ทดลอง ifconfig ดูว่า network ใช้ได้หรือยัง 
$ ifconfig 



 หาก มีส่วนของ br0 ขึ้นมา แสดงว่า network ใช้ได้แล้ว

ขั้นตอนต่อไป ทดลอง รัน KVM โดยใช้ network ที่สร้างขึ้น 
$ /my/qemu/bin/qemu-system-x86_64 -enable-kvm -smp 2 -m 2g -hda mydisk.img -boot c -net nic,model=virtio,macaddr=00:78:00:12:34:45 -net tap,script=/etc/qemu/qemu-ifup,downscript=/etc/qemu/qemu-ifdown -localtime -vnc :5

** macaddr ใส่เลขที่จำลองขึ้นมา

จากการทดสอบเบื้องต้น พบว่า เกิดปัญหา ไม่สามารถ รัน script ได้  ตามภาพด้านล่าง

ตรวจสอบที่ directory  /etc/qemu/  พบว่า ไม่มี script  qemu-ifup  และ qemu-ifdown ให้ทำการสร้าง script ดังกล่าว ใน /etc/qemu/
$nano qemu-ifup



$nano qemu-ifdown


หากยังรันไม่ได้  ต้องทำการ chmod ทั้ง 2 file ให้อยู่ใน mode ที่ execute ด้วยคำสั่ง
$ chmod 755 qemu-* 

 ก็จะสามารถ รัน  KVM 
$ /my/qemu/bin/qemu-system-x86_64 -enable-kvm -smp 2 -m 2g -hda mydisk.img -boot c -net nic,model=virtio,macaddr=00:78:00:12:34:45 -net tap,script=/etc/qemu/qemu-ifup,downscript=/etc/qemu/qemu-ifdown -localtime -vnc :5

ขึ้นมาได้ เรียบร้อย เป็นอันเสร็จสิ้น 

เขียนโดย  เสกสรร แป้นงาม  

แหล่งข้อมูลเพิ่มเติม
http://john.wesorick.com/2012/01/setting-up-bridged-network-interface.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น