TAP(官网参考地址)
TAP,即Tunneling traffic access point,是一种在Linux上使用的虚拟网卡技术,它可以为应用程序提供安全的网络连接。可以利用TAP搭建桥接网络,bridge两端分别为host和qemu虚拟机。
安装桥接工具
sudo apt-get install bridge-utils
sudo apt-get install uml-utilities
创建bridge0(eth0为bridge0 host端适配器名称)
# Create a bridge named br0
brctl addbr br0
# Add eth0 interface to bridge
brctl addif br0 eth0
# Create tap interface.
tunctl -t tap0 -u `whoami`
# Add tap0 interface to bridge.
brctl addif br0 tap0
# Check/Bring up all interfaces.
ifconfig eth0 up
ifconfig tap0 up
ifconfig br0 up
# Check if bridge is set properly.
brctl show
# Assign IP address to bridge 'br0'.
dhclient -v br0
启动QEMU
#If using Zynq UltraScale+ MPSoC in a PetaLinux project, boot QEMU using the command below:
petalinux-boot --qemu --kernel --qemu-args="-net nic -net nic -net nic -net nic -net tap,ifname=tap0,script=no,downscript=no"
# Or if using Versal Adaptive SoC in a PetaLinux project:
petalinux-boot --qemu --kernel --qemu-args="-net nic -net nic -net tap,ifname=tap0,script=no,downscript=no"
最终效果
由于host ubuntu桥接至windows,而windows连接路由器并通过dhcp分配ip,所以qemu虚拟机也由路由器分配ip