neutron基础七(qemu tap)

本文详细介绍了如何利用qemu创建虚拟机,并通过配置tap设备将其绑定到桥接网络上,从而实现虚拟机与外部网络的通信。通过实例演示了虚拟机的创建过程,包括虚拟硬盘的初始化、网络设备的配置以及VNC远程访问的设置。同时讨论了在不同环境下使用qemu和kvm时需要注意的问题,如kvm的透传功能和libvirt的配置。此外,文章还涉及了虚拟机内部网络设备与宿主机网络设备之间的关系,以及如何在虚拟环境中模拟真实网络环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用qemu 建立个虚拟机
然后用tap设备,
根据基础六,tap设备绑定到桥上,就可以和其他vxlan的上的机器通信
简历虚拟机硬盘
虚拟机叫vm,承载虚拟机的机器叫host


qemu-img create -f qcow2 testnet.img 500G
qemu-img amend -f qcow2 -o compat=0.10 testnet.img

建立虚拟机

#!/bin/sh
#/usr/libexec/qemu-kvm -m 16384 -smp 2 -hda /home/haoning/qemu/testnet.img -cdrom /home/CentOS-7-x86_64-DVD-1503-01.iso -net nic -net tap,ifname=tap1,script=/home/haoning/qemu/qemu-ifup,downscript=no -vnc 192.168.140.11:17 -daemonize
#/usr/libexec/qemu-kvm -m 16384 -smp 2 -hda /home/haoning/qemu/testnet.img -net nic -net tap,ifname=tap1,script=/home/haoning/qemu/qemu-ifup,downscript=no -vnc 192.168.140.11:17 -daemonize
/usr/libexec/qemu-kvm -m 8192 -smp 2 -hda /home/hao/cirros-0.3.1-x86_64-disk.img -net nic -net tap,ifname=tap1,script=/home/hao/qemu-ifup,downscript=no -vnc 0.0.0.0:17 -daemonize

如果是没有lsmod|grep kvm只有一个没有kvm_intel的机器上,只能用qemu

/usr/libexec/qemu-kvm -m 8192 -machine pc-i440fx-rhel7.0.0,accel=tcg,usb=off -cdrom /home/hao/CentOS-7-x86_64-DVD-1503-01.iso -hda /home/hao/testnet.img -net nic -net tap,ifname=tap1,script=/home/hao/qemu-ifup,downscript=no -vnc 192.168.139.55:17 -daemonize

[color=red]如果是在kvm建的vm上,这vm上就无法再使用kvm了,坑爹[/color]
[b][color=red]若果想使用kvm on kvm需要在主机上打开nested,kvm的透传[/color][/b]

modprobe -r kvm_intel
modprobe kvm_intel nested=1

[color=red]并且libvert要设置建立的vm和主机的相同[/color]

<cpu mode='host-passthrough'/>

参见
[color=red]http://libvirt.org/formatdomain.html 中的 CPU model and topology 部分。[/color]

第一次加上-cdrom指定iso
qemu-ifup文件先什么也不写,如果写的话,

#!/bin/sh
switch=br0
echo "ifup qemu----"
#if [ -n "$1" ]; then
# ip link set $1 up
# sleep 1
# brctl addif ${switch} $1
# exit 0
#else
# echo "Error: no interface specified"
#fi


启动vm后安装系统,
进入系统后host设置
ip link
能发现多了个tap1


brctl addif br0 tap1
ip link set tap1 up


br0是主机上配置的桥,可以参考以前的内容

如果br0上有dhcp服务
直接在vm里面dhcp就行了

tap1就相当于veth peer 的veth0 ,vm里面的网卡就相当于veth1,放到namespace里面的,
vm就相当于namespace

现在,veth peer ,namespace,桥,vxlan,tap设备
有了这些,局域网的网络基本的内容就可以任意玩了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值