一个kvm虚拟机由两部分组成
1.配置文件
/etc/libvirt/qemu
2.磁盘镜像文件 装好系统之后的虚拟机磁盘
/var/lib/libvirt/images
一 .nat
1.创建一台三层交换
cp /etc/libvirt/qemu/networks/{default.xml,nat1.xml}
vim /etc/libvirt/qemu/networks/nat1.xml
修改前
<network>
<name>default</name>
<uuid>99bbcca9-ffa7-475b-9c1d-bd0639c4662c</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:95:1b:29'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>修改后
<network>
<name>nat1</name>
<uuid>99bbcca9-ffa7-475b-9c1d-bd0659c4662c</uuid>
<forward mode='nat'/>
<bridge name='virbr1' stp='on' delay='0'/>
<mac address='52:54:00:98:1b:29'/>
<ip address='192.168.123.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.123.2' end='192.168.123.254'/>
</dhcp>
</ip>
</network>
2.把虚拟机插到三层交换上
vim /etc/libvirt/qemu/VM5.xml
<interface type='network'>
<mac address='52:54:00:62:36:4e'/>
<source network='nat1'/> //从default修改成nat1
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>virsh define /etc/libvirt/qemu/VM5.xml //重新定义文件
systemctl restart libvirtd //重启服务,遇到问题就重启
3.打开三层交换机
[root@localhost ~]# virsh net-list --all
名称 状态 自动开始 持久
-------------------------------------
default 活动 是 是
nat1 不活跃 否 是[root@localhost ~]# virsh net-start nat1
网络 nat1 已开始[root@localhost ~]# virsh net-autostart nat1
网络nat1标记为自动启动[root@localhost ~]# virsh net-list --all
名称 状态 自动开始 持久
-----------------------------------
default 活动 是 是
nat1 活动 是 是
二.桥接
cp /etc/sysconfig/network-script/{ifcfg-ens33,ifcfg-br0}
vim ifcfg-br0 //修改配置文件
TYPE="Bridge"
BOOTPROTO="none"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
PREFIX=24
IPADDR=192.168.196.10
NETMASK="255.255.255.0"
GATEWAY=192.168.196.2
DNS1=192.168.196.2
vim ifcfg-ens33 //修改后的配置文件
TYPE="Ethernet"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=br0
vim ifcfg-ens33 //原配置文件,在此作为备份
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1574230a-fd71-4d67-a1df-22d055542f11"
DEVICE="ens33"
ONBOOT="yes"
测试桥接
[root@localhost ~]# yum install -y bridge-utils
[root@localhost ~]# brctl delif virbr0 virbr0-nic
[root@localhost ~]# brctl addif virbr0 virbr0-nic
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c2940723c no ens33
vnet0
virbr0 8000.525400943e78 yes virbr0-nic
virbr1 8000.000000000000 yes
查看kvm虚拟机IP地址
[root@localhost ~]# virsh domifaddr vm1
名称 MAC 地址 Protocol Address
-------------------------------------------------------------------------------
vnet0 52:54:00:fb:18:5c ipv4 192.168.123.242/24