День потратил чтобы соединиться из установленной в Qemu windows-машины к vpn-серверу на одноименной платформе. Долго пытался понять почему соединения отваливаются сразу после авторизации.
Оказалось до банального просто. Qemu я запускал от своего имени (не root) с параметром -net user и поэтому наружу могли идти только пакеты протоколов TCP и UDP, а все другие отбрасывались - в том числе пакеты icmp и gre протоколов.
Чтобы преодолеть данное препятствие qemu стал запускать с tap-интерфейсом:
qemu -hda windows-disk.img -cdrom Windows-image.iso \
-net nic,model=rtl8139 -net tap,ifname=tap0,script=qemu-if-1.sh
где qemu-if-1.sh - скрипт настройки tap-интерфейса
$ cat > qemu-if-1.sh
#!/bin/sh
/sbin/ifconfig tap0 inet 10.0.3.1 netmask 255.255.255.0
$ chmod +x qemu-if-1.sh
Qemu следует запускать от имени пользователя root, чтобы поднялся tap-интерфейс. И в нашем случае виртуальную машину надо вручную настроить на ip-адрес из диапазона 10.0.3.0/24, с шлюзом по адресу 10.0.3.1.
понедельник, 22 октября 2007 г.
Особенности Qemu
Подписаться на:
Комментарии к сообщению (Atom)
4 комментария:
root не нужен, если выставить:
net.link.tap.user_open=1
$ sudo sysctl net.link.tap.user_open=1
Password:
error: "net.link.tap.user_open" is an unknown key
Система: Linux 2.6.22-gentoo-r9
sysctl для freebsd.
а отчего блог-то "freebsd ..." называется, а?
Кому интересно Виртуализация с помощью Qemu
Так сказать маленький howto
Отправить комментарий