Текущая версия VirtualBox? - 1.5.2 Долго ли, коротки ли - но иногда требуется реализации особо извращенной схемы, когда любимый chroot не в состоянии помочь (да и героев в связке chroot и оффтопик трудно найти ). Долгое время, начиная еще с 7-го РедХата и практически по сей день, для таких работ пользовал VMWare Workstation. Практически все устраивало, даже ключики были именные ( с времен бэта тестирования 3й ВМВари), но стало постепенно доставать. Скорость разворачивания после обновления системы, поиски нужных any-patch'ей и тп заставило посмотреть на альтернативные системы. После очередной зарубы (срочно потребовался софт работающий исключительно под оффтопиком ) решил обратить свой взгляд к VirtualBox , одним из решающих факторов было то, что под Etch есть готовый пакет под AMD64 (у нас с хозяином данного сайта совершенно одинаковые предпочтения в технике и практически одинаковые ноуты). Установка банальна: #dpkg -i virtualbox_1.4.0-21864_Debian_etch_amd64.deb По сути есть только одна сложность, настройка сети (вполне вероятно что есть еще другие подводные камни, но у меня как то обошлось) Для этого в окне свойств виртуальной машины указать : Хост-интерфейс, имя интерфейса - tap1 (проверьте, установлены ли в Вашей системе нужные пакеты: bridge-utils, uml-utilities) Для формирования набора нужных интерфейсов ( br0 и tap1) и формирования нужных цепочек iptables используем скрипт (vboxup): #!/bin/sh # set PATH for the case we are called via sudo or su root PATH=/sbin:/usr/bin:/bin:/usr/bin:/usr/sbin INTIF="br0" EXTIF="eth0" TAPIF="tap1" # create a tap #<user> - пользователь в контексте которого запускается VirtualBox tunctl -t tap1 -u <user> ip link set up dev tap1 # create the bridge brctl addbr br0 brctl addif br0 tap1 # set the IP address and routing ip link set up dev br0 ip addr add 10.1.1.1/24 dev br0 ip route add 10.1.1.0/24 dev br0 echo 1 > /proc/sys/net/ipv4/ip_forward # clear existing iptable rules, set a default policy iptables -P INPUT ACCEPT iptables -F INPUT iptables -P OUTPUT ACCEPT iptables -F OUTPUT iptables -P FORWARD DROP iptables -F FORWARD iptables -t nat -F # set forwarding and nat rules iptables -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE После завершения работы виртуальной машины желательно все привести к начальному виду, используем скрипт (vboxdown): #!/bin/sh # set PATH for the case we are called via sudo or su root PATH=/sbin:/usr/bin:/bin:/usr/bin:/usr/sbin INTIF="br0" EXTIF="eth0" TAPIF="tap1" # disable forwarding echo 0 > /proc/sys/net/ipv4/ip_forward #clear routing ip route del 10.1.1.0/24 dev br0 ip addr del 10.1.1.1/24 dev br0 ip link set down dev br0 # close tap ip link set down dev tap1 # delete bridge brctl delbr br0 # clear existing iptable rules, set a default policy iptables -P INPUT ACCEPT iptables -F INPUT iptables -P OUTPUT ACCEPT iptables -F OUTPUT iptables -P FORWARD DROP iptables -F FORWARD iptables -t nat -F Переход на VirtualBox? v1.5.0 Бег по граблям, как вид спорта. Вскрылась довольно любопытная подробность. Конфиги от разных версий не совпадают и довольно принципиально. Если при переходе получаем такое сообщение при попытке запуска VM: Could not load the settings file '~.VirtualBox/Machines/winders/winders.xml' (VERR_OPEN_FAILED). FATAL ERROR: Required attribute 'hostMode' was not provided Location: '/home/pabs/.VirtualBox/Machines/winders/winders.xml', line 45, column 77. то делаем просто: открываем на редактирование ~/.VirtualBox/Machines/VM/VM.xml ( конфиг данной VM) находим секцию: <Uart> <Port IOBase="1016" IRQ="4" enabled="false" server="true" slot="0"/> <Port IOBase="1016" IRQ="4" enabled="false" server="true" slot="1"/> </Uart> и банально ее удаляем. Вуаля...работает. Не буду обсуждать зачем и почему, просто констатирую факт. Более подробно с данным багом можно ознакомится в нашем "родном"Дебиановском linux.debian.bugs.dist: http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/694ed27a3de34b07/fe4b9214b5f76cf5 Продолжение: теперь немного о использовании USB. Поскольку по роду своих занятий частенько приходится работать со всякими интересными железяками, в том числе и с COM портами ( коих у меня на ноуте просто нет ) то просто жизненно необходимо было решить вопрос о доступе к RAW USB. По сути дела в мануале на VB четко все сказано на эту тему, то немного подумав получается такое решение. добавляем пользователей которые пользуются Vbox в группу vboxusers (gid=2001) добавляем в /etc/fstab: none /proc/bus/usb usbfs devgid=2001,devmode=664 0 0 после чего, запустив VirtualBox? добавляем устройства в фильтр USB и наслаждаемся. Проверено и на оффтопике и на linux. Работает. Пока все, по мере появления новых коментов, будем дополнять. P.S. Тем кто не догадался. В "гостевой" ОС адрес ставим из 10.1.1.0/24 сети, def gate = 10.1.1.1 Создано: GV последнее изменение: Sunday 21 October 2007 [15:52:59 UTC] автор GV |
Вход |