Страница 1 из 1

qemu: как настроить NAT для выхода guest ОС во внешний мир

Добавлено: 08 фев 2008, 19:45
poligraph
собственно сабж.
нужно настроить, чтобы guest OS с айпишнегом host машины выходила в инет.

читал вот это
http://lists.gnu.org/archive/html/qemu- ... 00150.html

но как-то все равно не осилил настроить

Добавлено: 08 фев 2008, 20:55
Quantum
1. Запускаеш qemu з опцыямі -net nic -net tap
Па запуску qemu у цябе зьяўляецца сеткавы інтэрфейс, прыкладам tap0, з адрасам, прыкладам 172.20.0.1
2. Даеш гасьцявой АС IP-адрас, прыкладам 172.20.0.2 (спадзяюся, ведаеш, як гэта зрабіць)
3. У гасьцявой АС настаўляеш дапомны маршрут
route add default gw 172.20.0.1
4. У галоўнай АС настаўляеш NAT
iptables -t nat -A POSTROUTING -i tap+ -j MASQUERADE (калі маеш дынамічны вонкавы IP)
iptables -t nat -A POSTROUTING -i tap+ -j SNAT --to-source <_> (калі маеш статычны вонкавы IP)
5. Умыкаеш маршрутызацыю
echo 1 > /proc/sys/net/ipv4/ip_forward
6. І сачы, каб правілы файрвола ня рэзалі пакетаў з/да гасьцявой АС.

Добавлено: 11 фев 2008, 17:46
poligraph
non-root
qemu -no-quit -hda solaris_10_x86.img -boot c -m 512M -net nic -net tap
warning: could not configure /dev/net/tun: no virtual network emulation
Could not initialize device 'tap'

root
/etc/qemu-ifup: could not launch network script
Could not initialize device 'tap'

Добавлено: 11 фев 2008, 19:20
Llama
modprobe tun ?

Добавлено: 11 фев 2008, 23:45
poligraph
Llama, делал.
тут походу замес в том, что qemu не могет получить доступ к tun девайсу

Добавлено: 12 фев 2008, 01:50
Quantum
У цябе няма скрыпта /etc/qemu-ifup
У мяне ён вызірае так

Код: Выделить всё

#!/bin/sh
sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1