qemu服务器虚拟机与主机通讯,虚拟机:QEMU虚拟机和主机无线网络通讯设置

步骤如下:

1. 创建 tap 设备:

sudo ip tuntap add dev tap0 mode tap

2. enable tap0接口:

sudo ip link set tap0 up

3. 添加路由:

sudo ip route add 192.168.0.10/32 dev tap0

或者用旧的命令:

sudo route add -host 192.168.1.10 tap0

qemu服务器虚拟机与主机通讯,虚拟机:QEMU虚拟机和主机无线网络通讯设置_第1张图片

qemu服务器虚拟机与主机通讯,虚拟机:QEMU虚拟机和主机无线网络通讯设置_第2张图片

qemu服务器虚拟机与主机通讯,虚拟机:QEMU虚拟机和主机无线网络通讯设置_第3张图片

这样,任何目标地址为

192.168.1.10

的包都会被 route到tap0.

4. 使用 ARP proxy:

sysctl net.ipv4.conf.tap0.proxy_arp=1

sysctl net.ipv4.conf.wlp3s0.proxy_arp=1

或者:

echo 1 》 /proc/sys/net/ipv4/conf/tap0/proxy_arp

echo 1 》 /proc/sys/net/ipv4/conf/wlp3s0/proxy_arp

5. Enable IP forwarding

sysctl net.ipv4.ip_forward=1

或者:

echo 1 》 /proc/sys/net/ipv4/ip_forward

6.启动虚拟机:

。/qemu-2.8.0/arm-softmmu/qemu-system-arm -M vexpress-a9 -m 1024 -smp 4 -kernel 。/linux-4.9.13/arch/arm/boot/zImage

-sd rootfs.img -append “root=/dev/mmcblk0 rw rootfs=ext4 rootdelay=3 physmap.enabled=0 console=ttyAMA0 console=tty0”

-dtb 。/linux-4.9.13/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -netdev tap,id=mytest,ifname=tap0,scripts=no,downscript=no

-device virtio-net-device,netdev=mytest -nographic

然后,设置虚拟机IP地址:

ip addr add 192.168.0.10 dev eth0

添加路由:

ip route add default via 192.168.0.101 dev eth0

设置和主机一样的nameserver:

cat 》》 /etc/resolv.conf

nameserver 192.168.0.1

Ctrl-D

#ping www.baidu.com

qemu服务器虚拟机与主机通讯,虚拟机:QEMU虚拟机和主机无线网络通讯设置_第4张图片

你可能感兴趣的:(qemu服务器虚拟机与主机通讯)