Настройка доступа к сети из гостевой Windows XP через TUN/TAP интерфейс для виртуальной машины QEMU в Debian/Ubuntu Linux.

Дано

  1. Хост-машина с Debian Squeeze и следующими сетевыми настройками

    $ sudo ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:1d:72:1c:d1:b9
              inet addr:192.168.0.64  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::21d:72ff:fe1c:d1b9/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3392 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3491 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:2516375 (2.3 MiB)  TX bytes:634302 (619.4 KiB)
              Interrupt:16
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:3515 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3515 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:992323 (969.0 KiB)  TX bytes:992323 (969.0 KiB)
  2. Установленная и активированная на хост-машине в виртуальной машине в qemu Windows XP Home Edition со следующими пераметрами запуска:

    /usr/bin/qemu \
        -monitor stdio \
        -soundhw es1370 \
        -m 192 \
        -localtime \
        -cdrom /home/r-asian/qemu/vpn-client.iso \
        -hda /home/r-asian/qemu/192.168.0.32.img \
        -boot c \
        -net nic,vlan=0,macaddr=00:9f:a5:71:b7:b5,model=rtl8139

Требуется

Настроить из виртуальной машины подключение в локальной сети, в которой находится хост-машина

Continue reading


Установка QEMU

Я решил отступить от своего принципа и собрать все из исходников. Для сборки qemu требуется библиотека Simple DirectMedia Layer (SDL). Кроме того надо будет установить акселератор kqemu, чтобы использовать такое преимущество этого эмулятора как скорость.

Исходные коды

Установка SDL

Тут все без шаманства. Зайти в каталог с исходниками SDL-1.2.13 и исполнить поочередно.

gzip -d SDL-1.2.13.tar.gz
tar -xf SDL-1.2.13.tar
cd SDL-1.2.13.tar.gz
./configure
./make
./make install

Если возникают проблемы, стандартный совет — читать логи и выхлоп.

Установка QEMU

Тоже все без сюрпризов.

gzip -d qemu-0.10.5.tar.gz 
tar -xf qemu-0.10.5.tar
cd qemu-0.10.5
./configure
./make
./make install

Одно предупреждение: компилироваться будет долго :-)

Установка KQEMU

Если ядро серии 2.6, то проблем быть никаких дополнительно не должно. При наличии ядра 2.4 не лишним будет прочитать QEMU Accelerator Installation for Linux

Чтобы модуль ускорителя стартовал при загрузке, достаточно в /etc/rc.d/rc.local добавить

# Load the KQEMU kernel module
/sbin/modprobe kqemu