Re: qemu сетевой доступ из VM в HOST
rm-f@yandex.ru -> debian-russian@lists.debian.org @ Tue, 24 Apr 2007 12:15:53 +0400:
r> $ cat /etc/qemu.ifup
r> #!/bin/sh
r> HOST_IP=192.168.55.1
r> GUEST_IP=192.168.55.2
r> # configure tun0 device (UML and newer versions of Qemu use tap0 here!)
r> sudo -p "Password for $0:" /sbin/ifconfig $1 $HOST_IP
r> # activate ip forwarding
r> sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
r> # set up routing to the guest IP
r> sudo route add -host $GUEST_IP dev $1
r> # activate ARP proxy to "spoof" arp address
r> sudo bash -c "echo 1 > /proc/sys/net/ipv4/conf/$1/proxy_arp"
r> # set "spoofed" arp address
r> sudo arp -Ds $GUEST_IP eth0 pub
r> $ ifconfig
r> eth0 Link encap:Ethernet HWaddr 00:14:85:8C:01:3B
r> inet addr:192.168.0.241 Bcast:192.168.0.255 Mask:255.255.255.0
r> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
r> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
r> TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
r> collisions:0 txqueuelen:1000
r> RX bytes:0 (0.0 b) TX bytes:3039 (2.9 KiB)
r> Interrupt:50 Base address:0x6000
r> ...
r> tap0 Link encap:Ethernet HWaddr 3A:C3:FC:0C:BB:60
r> inet addr:192.168.55.1 Bcast:192.168.55.255 Mask:255.255.255.0
r> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
r> RX packets:275 errors:0 dropped:0 overruns:0 frame:0
r> TX packets:272 errors:0 dropped:0 overruns:0 carrier:0
r> collisions:0 txqueuelen:500
r> RX bytes:260248 (254.1 KiB) TX bytes:37867 (36.9 KiB)
r> ...
r> ...
r> 192.168.100.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
r> 192.168.55.2 0.0.0.0 255.255.255.255 UH 0 0 0 tap0
r> 192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
r> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
r> ...
r> $ qemu ... -net nic,vlan=0,model=rtl8139 -net
r> tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup ...
r> В итоге, c хоста есть сетевой доступ в ВM,
r> но нет возможности достучаться до ip хоста из ВМ.
Вывод tcpdump на tap0 при попытке достучаться? Небось, на хосте файрвол настроен...
r> Решение с инета. Фокусы с ARP не понял, может нужно для широковещательных
r> пакетов?
Нет, для ситуации, когда у тебя адрес VM из той же сети, что и eth0.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Максимум интеллекта у человеческих особей приходится на группу из двух-трех
человек.
П.Шумил, "Осколки Эдема"
Reply to: