启用隔离模型
# 由于安装管理kvm虚拟机的包组的时候,已经将bridge-utils-1.5-9.el7.x86_64包作为依赖安装了,因此可以直接使用brctl命令
# 获取帮助
brctl --help
# 创建虚拟桥
brctl addbr host_only_br0
# 激活虚拟桥
ifconfig host_only_br0 up
# 创建虚拟磁盘文件
mkdir /root/vm/
cp /root/cirros-0.3.3-x86_64-disk.img /root/vm/disk1.qcow2
cp /root/cirros-0.3.3-x86_64-disk.img /root/vm/disk2.qcow2
cp /root/cirros-0.3.3-x86_64-disk.img /root/vm/disk3.qcow2
# 修改创建的那两个脚本文件,将桥设备从 br0 改为 host_only_br0
###################################### 启动脚本的内容 ########################
#! /bin/bash
# 把这里修改为host_only_br0
bridge=host_only_br0
# 如果$1的值不为空
if [ -n "$1" ];then
# 启动网卡接口地址
ip link set $1 up
sleep 1
# 将网卡接口连接至物理桥上,此时为桥接模式
brctl addif $bridge $1
# 确保以上命令执行成功后退出
[ $? -eq 0 ] && exit 0 || exit 1
else
echo "Error: RONG interface" && exit 1
fi
###################################### 启动脚本的内容 ########################
chmod +x /etc/qemu-ifup
# 2:/etc/qemu-ifdown脚本, 且给脚本一个执行权限
###################################### 停止脚本的内容 ########################
#! /bin/bash
# 这里也需要修改为host_only_br0
bridge=host_only_br0
# 如果$1的值不为空
if [ -n "$1" ];then
# 停止网卡接口地址
ip link set $1 down
sleep 1
# 将网卡接口从物理桥上删除
brctl delif $bridge $1
# 确保以上命令执行成功后退出
[ $? -eq 0 ] && exit 0 || exit 1
else
echo "Error: RONG interface" && exit 1
fi
###################################### 停止脚本的内容 ########################
chmod +x /etc/etc/qemu-ifdown
# 创建第一个虚拟机实例,这里在创建实例的时候,ifname:为宿主机这端网卡的名称。script:指定创建虚拟机的时候,虚拟网卡连接的是哪个桥设备。downscript:执行在停止虚拟机的时候,如何删除虚拟网卡与桥设备的连接
qemu-kvm -name kvm_linux1 -m 200 -smp 2 -drive file=/root/vm/disk1.qcow2,media=disk,if=virtio,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:01:01:01 -net tap,ifname=virtual_eth1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -vnc :1 -daemonize
# 创建第二个虚拟机实例
qemu-kvm -name kvm_linux2 -m 200 -smp 2 -drive file=/root/vm/disk2.qcow2,media=disk,if=virtio,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:01:01:02 -net tap,ifname=virtual_eth2,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -vnc :2 -daemonize
# 连接到虚拟机的控制台(在windows上调用xmanager,在Mac上调用XQuartz)
# 使用vnc连接第一个虚拟节点
vncviewer :1
sudo ifconfig eth0 192.168.23.10/24 up
# 使用vnc连接第二个虚拟节点
vncviewer :2
sudo ifconfig eth0 192.168.23.11/24 up