QEMU в Дебиан

Тук е обяснено как се инсталират и настройват програми под Linux.

Модератори: Freya, Kulu Ngile

QEMU в Дебиан

Мнениеот Kulu Ngile » Пет 01, Юни, 2007 23:17

QEMU е великолепен заместител на VMWARE. Ето и основните стъпки при инсталирането и използването му:

1. Инсталиране
Код за потвърждение: Избери целия код
apt-get install qemu kqemu uml-utilities bridge-utils


2. Зареждане на модула kqemu за да имаме ускорение на работата с виртуалната машина
Код за потвърждение: Избери целия код
modprobe kqemu

Може да добавите kqemu в /etc/modules, за да се вдига при зареждане на системата

3. Създаване на img файл
Код за потвърждение: Избери целия код
mkdir $HOME/qemu_imgs
cd $HOME/qemu_imgs
qemu-img create -f qcow deb.img 1G

Така създавам img файл, чиято максимална големина ще е 1G и на него ще инсталирам дебиан :)


4. Инсталиране на ОС в/у създаденото виртуално у-во
Код за потвърждение: Избери целия код
qemu -hda deb.img -cdrom debian-iso.img -boot d


5. Конфигуриране на network bridge
- проверяваме за поддръжка на TUN/TAP в ядрото, т.е. трябва да имаме CONFIG_TUN=m или CONFIG_TUN=y в конфига
Код за потвърждение: Избери целия код
grep CONFIG_TUN= /boot/config-`uname -r`

При мен е като модул, т.е.
Код за потвърждение: Избери целия код
gaara@debian:~/temp$ grep CONFIG_TUN= /boot/config-`uname -r`
CONFIG_TUN=m
gaara@debian:~/temp$


- добавяме в /etc/network/interface настройката на bridge-а (трябва да сте root)
Код за потвърждение: Избери целия код
....................................
# The bridge network interface(s)
auto br0
iface br0 inet static
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
bridge_ports ppp0 #понеже съм на pppoe
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off


- редактираме файла /etc/qemu-ifup, като изтриваме всичко и добавямес ледните редове (трябва да сте root)
Код за потвърждение: Избери целия код
#!/bin/sh

echo "Executing /etc/qemu-ifup"
echo "Bringing up $1 for bridged mode..."
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0..."
sudo /usr/sbin/brctl addif br0 $1
sleep 2


- редактираме /etc/sudoers (трябва да сте root), като добавяме
Код за потвърждение: Избери целия код
# Cmnd alias specification
Cmnd_Alias      QEMU=/sbin/ifconfig,/sbin/modprobe,/usr/sbin/brctl,/usr/sbin/tunctl
# User privilege specification
root    ALL=(ALL) ALL
gaara     ALL=NOPASSWD: QEMU

като вместо gaara, слагате вашият потребител, т.е. изхода от whoami :P

6. Задаваме права за изпълнение на /dev/net/tun и /etc/qemu-ifup (трябва да сте root)
Код за потвърждение: Избери целия код
debian:/home/gaara# chmod 755 /dev/net/tun
debian:/home/gaara# chmod 755 /etc/qemu-ifup


7. Отиваме в директорията, в която инсталирахме вируталната ОС и създаваме скрипта qemu-tap
Код за потвърждение: Избери целия код
cd $HOME/qemu_imgs
touch qemu-tap
gedit/kedit/vim/nano qemu-tap #един от всичките редактори

В скрипта поставяте следните редове
Код за потвърждение: Избери целия код
#!/bin/sh
# script to manage tap interface allocation
# for linux kernels >= 2.6.18

# set up a tap interface for qemu
# USERID - uid qemu is being run under.
USERID=`whoami`
iface=`sudo tunctl -b -u $USERID`

# generate a random mac address for the qemu nic
# shell script borrowed from user pheldens @ qemu forum
ranmac=$(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ; \
do echo -n `echo ":$RANDOM$RANDOM" | cut -n -c -3` ;done)

# specify which NIC to use - see qemu.org for others
model=ne2k_pci
# model=ne2k_isa

# start qemu with our parameters
qemu $@ -net nic,vlan=0,macaddr=$ranmac,model=$model \
        -net tap,vlan=0,ifname=$iface

# qemu has stopped - no longer using tap interface
sudo tunctl -d $iface &> /dev/null


8. Зареждаме tun модула и стартираме скрипта:
Код за потвърждение: Избери целия код
sudo modprobe tun
sh qemu-tap -hda deb.img -localtime



Настройката на виртуалната мрежа е както следва:
- IP 192.168.1.3 или каквото си пожелаете, стига да е по-голямо от 2 в 4-ят октет
- NETMASK 255.255.255.0
- GW 192.168.1.2
- DNS-те са ви като на реалната машина

Остана само да изпълним:
Код за потвърждение: Избери целия код
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Източници:
QEMU - Debian - Linux - TUN/TAP - network bridge
FAQ
The Qemu Howto
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Назад към Инсталиране и работа с приложения

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron