24 июл. 2007 г.

Mandriva 2007.1 Spring && VirtualBox

редства виртуализации совершенствуются с каждым днем. Еще недавно для установки Windows XP в Qemu нужно было в буквальном смысле "плясать с бубном"... сейчас же - мало того, что средств виртуализации появилось огромное количество, так и установка гостевых систем упростилась на столько, что даже рядовой linux-пользователь способен справиться с этой нетривиальной на данный момент задачей.
Я не буду вникать во всякие там XEN, KVM и прочие средства уровня ядра. По многим причинам: я не являюсь специалистом в данной области, никогда этим серьезно не занимался и, боюсь, мне эти заниматься не придется.
Не далее как пару дней назад, прочтав несколько статей в сети все-таки решил попробовать, что же это за зверь такой - VirtualBox? Тем более что для этого были свои причины: первое - запуск торгового терминала Rumus2 в Windows и огромное желание попробовать "на зуб" ArchLinux, с последующим возможным переходом на него.

Начал я с Windows XP.
Установка трудностей не вызвала:

#urpmi virtualbox
#/etc/init.d/virtualbox start

Для того, чтобы модуль ядра загружался автоматически при каждой загрузке системы делаем:

#chkconfig --levels 345 virtualbox on

И сам запуск графической оболочки виртуальной машины:

#/usr/bin/VirtualBox

Дальнейшее создание и установка гостевой ОС не вызывает трудностей. Следует заметить, что инсталятор предлагает установку гостевой ОС из трех источников: существующего раздела жесткого диска, с CD/DVD или iso-образа CD/DVD диска.
По личным наблюдениям - установка WinXP в виртуальной машине происходит как минимум в два раза быстрее, чем в реальной жизни.Странно, да?
Windows XP "стала" без проблем, практически все драйвера "подхватились" автоматом, а то что не поднялось при установке, было установлено автоматически через сеть с сайта Microsoft после настройки сети.

Настройка сети, в принципе, так-же не вызвала особых сложностей:

#urpmi parprouted

Перед запуском виртуальной машины я в Mandriva 2007.1 запустил такой скриптик:

#!/bin/sh
### BEGIN INIT INFO
# Provides: bridge (tunnel really) for virtualbox over wireless
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: set up tap device for sharing wifi interface with vbox
# Description: create a virtual tap interface and share it with vbox
# Author: Jack Knight - Open Source Migrations Ltd, UK (http://www.osml.co.uk)
### END INIT INFO

# Set up variables here:
DESC="Virtualbox IP tunnel"
VBOXUSER=me # имя пользователя, из-под которого запускаем виртю машину или root
PATH=/sbin:/bin:/usr/sbin:/usr/bin
TUNDEVICE=tap1 # Устройство, на которое будем биндить сетевую карту гостевой системы.
LANDEVICE=eth1 # Ваша сетевая карта
IPADDR=192.168.5.10 # сеть для гостевой системы (он же шлюз в настройках гостевой системы)

case "$1" in
start|restart|force-reload)
echo -n "Starting $DESC: "
chown root:vboxusers /dev/net/tun
tunctl -t $TUNDEVICE -u $VBOXUSER
ip link set $TUNDEVICE up
ip addr add $IPADDR dev $TUNDEVICE
arp -Ds $IPADDR $TUNDEVICE pub
iptables -t nat -P POSTROUTING DROP
iptables -t nat -A POSTROUTING -o $LANDEVICE -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/$TUNDEVICE/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/$LANDEVICE/proxy_arp
parprouted $LANDEVICE $TUNDEVICE
;;$TUN
stop)
echo -n "Stopping $DESC: "

iptables --table nat -F
killall parprouted
ip link set $TUNDEVICE down
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N start|stop" >&2
exit 1
;;
esac


Настраиваем NAT:

#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


В свойствах сети гостевой системы ставим:
"Присоединён к: хост-интерфейс"
"Имя интерфейса: tap1 "
Запускаем гостевую систему, прописываем там в настройках сети адрес который нужен из диапазона (в
моём случае - 192.168.5.11), реальные DNS.
Все работает. :)

На P-IV 2,66 Ghz 1Gb RAM у меня одновременно нормально работало три системы - Mandriva 2007.1, Windows XP, ArchLinux 2007.5

Комментариев нет: