KVM虚拟机网络模式

KVM虚拟机三种网络模式简介

桥接(Bridge)网络模式

桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。 所以当我们要在局域网使用虚拟机,用来对局域网其他计算机提供服务时,例如提供FTP,SSH,HTTP等服务时,那么就要选择桥接模式。

NAT网络模式

NAT模式中,就是让虚拟机借助NAT(Network Address Translation,网络地址转换)功能,通过宿主物理机所在的网络来访问公网。

NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在KVM中提供的一个虚拟网络。

隔离网络模式(Host-Only)

在隔离网络(Host-Only)模式下,虚拟网络是一个全封闭的网络环境,它唯一能够访问的就是宿主物理机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能通过宿主物理机连接到公网。 Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。

KVM虚拟机网络模式

NAT模式

[root@kvm ~]# virt-install \
> --name template \  # 虚拟机名
> --ram=512 \		 # 虚拟机内存大小,单位M
> --vcpus=1 \		 # 虚拟机CPU核心数
> --cdrom=/home/iso/CentOS-7-x86_64-Minimal-1708.iso \    # 镜像文件位置
> --disk path=/var/lib/libvirt/images/template.qcow2,format=qcow2,size=5 \   # 磁盘
> --network network=default \    # 网络模式 default 为默认选项,即NAT模式
> --graphics vnc,listen=0.0.0.0 \    # 显示类型,监听范围
> --os-type=linux \			# 非必选项,系统类型
> --os-variant=rhel7		# 非必选项,系统版本
> --virt-type kvm 			# 非必选项,虚拟化的类型

桥接模式

如果是新创建一个虚拟机要使用桥接模式,如下:

# 先创建桥接网卡
[root@kvm ~]# virsh iface-bridge ens33 br0
[root@kvm ~]# systemctl restart network
# 安装指定网络为桥接模式的虚拟机
[root@kvm ~]# virt-install \
> --name template1 \  # 虚拟机名
> --ram=512 \		 # 虚拟机内存大小,单位M
> --vcpus=1 \		 # 虚拟机CPU核心数
> --cdrom=/home/iso/CentOS-7-x86_64-Minimal-1708.iso \    # 镜像文件位置
> --disk path=/var/lib/libvirt/images/template1.qcow2,format=qcow2,size=5 \   # 磁盘
> --network bridge=br0\    # 网络模式 default 为默认选项,即NAT模式
> --graphics vnc,listen=0.0.0.0 \    # 显示类型,监听范围
> --os-type=linux \			# 非必选项,系统类型
> --os-variant=rhel7		# 非必选项,系统版本
> --virt-type kvm 			# 非必选项,虚拟化的类型

# 取消桥接网卡
virsh iface-unbridge br0

如果是将NAT模式改为桥接模式,则为:

  1. 先定义桥接网卡
[root@kvm ~]# virsh iface-bridge ens33 br0
[root@kvm ~]# systemctl restart network
  1. 修改虚拟机配置文件
# 须在虚拟机关机状态下操作,如果是在开机状态下修改配置文件,修改完毕后,需先 virsh shutdown 再 virsh start 这时配置才生效
[root@kvm2 ~]# virsh edit domain
<interface type='network'>
      <mac address='52:54:00:9c:a4:67'/>
      <source network='default'/>
      <model type='virtio'/>
<interface type='bridge'>
      <mac address='52:54:00:9c:a4:67'/>
      <source bridge='br0'/>
      <model type='virtio'/>

上一篇:MPAndroidChart使用


下一篇:LVS负载均衡群集部署之——NAT模式部署