qemu网络模式原理:https://zhuanlan.zhihu.com/p/721713059

一、辅助命令

  • 查看支持哪些网卡的模拟
    qemu-system-x86_64 -nic model=help

二、基本概念

1.网络主机

启动qemu的机器:物理机
qemu虚拟机自身:宿主机(本身类似于vmware,也是个虚拟机。)
qemu启动的虚拟机:客户机(虚拟机)

2.qemu网络配置前端与后端的概念

QEMU 中的网络分为两部分:
1)前端:虚拟机网络设备(qemu提供给虚拟机的虚拟网卡)。
2)后端:宿主机网络设备(虚拟机往虚拟网卡写入的数据都会由网络后端设备流出到真实的网络环境中)。

三、命令参数

新老qemu版本命令区别:https://blog.csdn.net/rikeyone/article/details/106767540

https://blog.csdn.net/weixin_30703911/article/details/96924549

1.-net、-netdev、-nic的区别:

-net选项可以定义前端和后端;
-netdev选项只能定义后端;
-nic可以一条命令定义前端和后端;

https://blog.csdn.net/OnlyLove_/article/details/124536607

1)-net

2)前端网络配置

  • -net配置
    -net nic,model=virtio-net-pci
  • -device配置
    需要与netdev参数配合
    -device virtio-net-pci,netdev=network0

3)后端网络配置

可以使用-net配置,也可以使用-netdev(官方建议)

  • -net配置
    -net bridge,br=br0
  • -netdev配置
    -netdev bridge,id=network0,br=br0

三、网络模式

https://cloud.tencent.com/developer/techpedia/2000/14595
https://blog.csdn.net/OnlyLove_/article/details/124536607
https://blog.51cto.com/u_16213719/10675700 (*****)
http://smilejay.cn/2016/09/kvm-nat-networking/ (系列型)

1.默认网络模式-用户模式

2.桥接模式

2-1.启动参数

2-1)语法1


qemu-system-x86_64 -m 1024M -drive file=openwrt.vmdk --nographic -net nic,model=virtio -net bridge,br=br0

2-2)语法2

qemu-system-x86_64 \
  -m 2048 \
  -netdev bridge,id=network0,br=mybr0 \
  -device e1000,netdev=network0 \
  /path/to/your/guest.img

2-2.启动报错

failed to parse default acl file /etc/qemu/bridge.conf‘ qemu-system-x86_64: -netdev bridge`
https://blog.csdn.net/qq_32202885/article/details/142998040
http://www.site-digger.com/html/weibo/2020/0112/779.html

创建bridge.conf文件,写入
echo 'allow br0' > /etc/qemu/bridge.conf
不同的系统bridge.conf文件位置可能不一样。

创建网桥,见:http://xinyiworld.top/wordpress_it/?p=9677

2-3.启动原理

采用桥接模式启动qemu,qemu会在物理上创建一个tap0的虚拟网卡,并将其搭到指定的网桥设备上。

-netdev bridge,helper=helper,bridge模式时会有一个默认的helper,对应qemu源码中的qemu-bridge-helper.c类,会在物理机上创建一个tap0的网卡。

3.TAP模式

先创建tap网络接口
sudo tunctl -t tap0ip tuntap add dev tap0 mod tap
qemu启动

  -netdev tap,id=tapnet,ifname=tap0,script=no,downscript=no \
  -device virtio-net-pci,netdev=tapnet

0 条评论

发表回复

您的电子邮箱地址不会被公开。