Brise

QEMU로 bridged(브릿지) 네트워크로 된 VM 생성(windows guest OS) 본문

Linux

QEMU로 bridged(브릿지) 네트워크로 된 VM 생성(windows guest OS)

naudhizb 2015. 8. 20. 17:11
반응형


--


qemu의 네트워크는 default설정 시에는 NAT로 설정되어 내부에서 외부로 나가는 접근은 가능하여 인터넷이 가능하지만, 외부에서 내부로 들어오는 네트워크는 불가능하다는 단점이 있다.


때문에, 약간의 수고를 기울여 브릿지 네트워크를 만들게 되면, 호스트 운영체제와 동등한 네트워크를 얻기 때문에 네트워크 접근을 하는데 매우 편리하다. 



1. 먼저 필요한 패키지들을 다운로드 한다.


$ sudo apt-get install qemu qemu-kvm bridge-utils uml-utilities



2. VM을 생성할 이미지를 생성한다.


$ qemu-img create -f raw Windows.img 8G



3. 윈도우 이미지와 qemu를 이용하여 윈도우를 설치한다.

** 구글에서 windows xp e1000 driver로 검색하여 미리 드라이버를 받아놓자.


$ sudo qemu-system-i386 -enable-kvm -hda windows.img




4. 네트워크 설정파일(/etc/network/interfaces)에 브릿지 네트워크를 추가하고 eth0과 관련된 설정을 주석처리한다.


$ sudo vi /etc/network/interfaces


#eth0관련된 부분은 주석처리

#auto eth0

#iface eth0 inet dhcp 


#아래의 줄을 추가. 

auto br0

iface br0 inet dhcp

    bridge_ports eth0

    bridge_stp off

    bridge_maxwait 0

    bridge_fd 0 



후에 br0브릿지를 추가하고 네트워크를 재시작

$ brctl addbr br0

$ /etc/init.d/networking restart



5. 네트워크 생성 스크립트를 /etc/qemu-ifup-br에 생성


$sudo vi /etc/qemu-ifup-br



#!/bin/sh

set -x


switch=br0


if [ -n "$1" ];then

        /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1

        /usr/bin/sudo /sbin/ip link set $1 up

        sleep 0.5s

        /usr/bin/sudo /sbin/brctl addif $switch $1

        exit 0

else

        echo "Error: no interface specified"

        exit 1




6. 실행 옵션을 추가한다.


$ sudo chmod +x /etc/network/interfaces

$ sudo chmod +x /etc/qemu-ifup-br



7. qemu를 실행하여 드라이버를 설치한다.


sudo qemu-system-i386 -enable-kvm -hda windows.img -smp 4,sockets=1,cores=5,threads=1 -device ivshmem,size=128M,shm=myshm -net nic -device e1000,netdev=net0 -netdev tap,id=net0,script=/etc/qemu-ifup-br


* ivshmem 옵션 : -device ivshmem,size=128M,shm=myshm


* qemu의 기본 설정인 rtl8139드라이버는 VLAN을 지원하지 않기 때문에 다른 드라이버(e1000)를 사용한다.

이 포스트에서는 인텔의 e1000 드라이버를 사용하였는데 windows XP에서는 자동적으로 드라이버를 잡지 못하기 때문에 수동으로 인터넷에저 잡아 주어야 한다. 용용


출처 : 

http://anddev.tistory.com/108

http://www.linux-kvm.org/page/Networking

http://toast.djw.org.uk/qemu.html


--




반응형
Comments