虚拟机:QEMU虚拟机和主机无线网络通讯设置

电子说

1.2w人已加入

描述

步骤如下:

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

qemu

这样,任何目标地址为

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分