qemu-kvm支持的网络

虚拟机的网络模式

  • 基于NAT(Network Address Translation)的虚拟网络
  • 基于网桥(Bridge)的虚拟网络ü 用户自定义的隔离的虚拟网络
  • 直接分配网络设备(包括VT-d和SR-IOV)

查看qemu网络配置文件

cat test1.xml
<interface type='network'>
  <mac address='52:54:00:23:03:eb'/>
  <source network='default'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

默认是default

virsh命令查看

virsh net-list
virsh net-info default
virsh net-dumpxml default

每当打开一台虚拟机,都将多一个网卡

brctl show

NAT模式

查看网络默认配置

cat /etc/libvrt/qemu/network/default.xml
<network>
  <name>default</name>
  <uuid>5830c53d-e0f9-4153-979b-4dd03e57495b</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:63:69:d2'/>
  <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>

默认是nat模式

如果要向虚拟机添加虚拟网络

可以通过xml文档添加

<interface type='network'>
<mac address='52:54:00:aa:18:d1'/>
<source network='default'/> //网络模式
<model type='virtio'/> //网卡类型
<address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
</interface>

桥接模式

Redhat/CentOS配置网桥的常用方法:
nmcli

nmcli connection add con-name virbr1 type bridge ifname virbr1 //添加网桥
nmcli connection add type bridge-slave con-name ens33 ifname ens33 master virbr1 //桥接物理网卡
nmcli connection up ens33 //激活连接

brctl (需要安装bridge-utils包)

brctl addbr virbr1
brctl addif virbr1 ens33

brctl命令对网桥的配置需要以文件形式保存下来,这样系统再次启动后所有配置仍能生
效。

[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=virbr1
[root@localhost network-scripts]# cat ifcfg-virbr1 
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.19.100
GATEWAY=192.168.19.254
DNS1=114.114.114.114
NAME=virbr1
DEVICE=virbr1
ONBOOT=yes
[root@localhost network-scripts]# systemctl restart network

通过virsh attach-interface 添加

[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=virbr1
[root@localhost network-scripts]# cat ifcfg-virbr1 
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.19.100
GATEWAY=192.168.19.254
DNS1=114.114.114.114
NAME=virbr1
DEVICE=virbr1
ONBOOT=yes
[root@localhost network-scripts]# systemctl restart network

virsh attach-interface test1 bridge virbr1 --model virtio  --current  立即生效
virsh attach-interface test1 bridge virbr1 --model virtio  --config	  永久生效

最后连接到虚拟机即可

用户自定义的隔离的虚拟网络

打开虚拟系统管理器
在这里插入图片描述
双击进入QUME/KVM
在这里插入图片描述
点击虚拟网络 +
在这里插入图片描述
起个名字然后下一步
在这里插入图片描述
然后一直下一步最后完成就添加成功了一个虚拟网卡

会多出一个xml文件

cat /etc/libvirt/qemu/networks/network1.xml
<network>
  <name>network1</name>
  <uuid>76061a8a-5226-499d-a1d7-5dd245d8055b</uuid>
  <bridge name='virbr2' stp='on' delay='0'/>
  <mac address='52:54:00:4a:b5:7c'/>
  <domain name='network1'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254'/>
    </dhcp>
  </ip>
</network>

virsh # net-list --all
 名称               状态     自动开始  持久
----------------------------------------------------------
default              活动     是           是
network1             活动     是           是

以桥接网络安装虚拟机

vol-create-as  vm   test3.qcow2 2G --format qcow2
virt-install -n test3 -r 512 --vcpus 1 -l /iso/CentOS-7-x86_64-DVD-1611.iso  --disk vol=vm/test3.qcow2 --network bridge=virbr1 --nographics -x "console=ttyS0"
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐