KVM-管理虚拟机网络

虚拟机的网络模式

1、三种模式

	基于NAT(NetworkAddressTranslation)的虚拟网络
	基于网桥(Bridge)的虚拟网络
	用户自定义的隔离的虚拟网络

2、模式具体概念

桥接( Bridge)网络模式
	桥接网络是指本地物理网卡和虚拟网卡通过 VMnet0 虚拟交换机进行桥接,物理网卡和虚拟网卡在拓
	扑图上处于同等地位, 那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现
	实网络中的交换机 ,所以两个网卡的 IP 地址也要设置为同一网段
NAT 网络模式
	NAT 模式中,就是让虚拟机借助 NAT(Network Address Translation,网络地址转换 )功能,通过宿
	主物理机所在的网络来访问公网。
	NAT 模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在 KVM 中提供
	的一个虚拟网络。
隔离网络模式( Host-Only)
	在隔离网络( Host-Only)模式下,虚拟网络是一个全封闭的网络环境,它唯一能够访问的就是宿主
 	物理机。其实 Host-Only 网络和 NAT 网络很相

利用virsh管理虚拟网络

1、qemu-kvm的虚拟网络配置文件:/etc/libvirt/qemu/networks/

2、virsh的网络管理命令帮助

autostart  default.xml
[root@KVM01 networks]# virsh help network
 Networking (help keyword 'network'):
    net-autostart                  自动开始网络
    net-create                     从一个 XML 文件创建一个网络
    net-define                     定义一个网络
    net-destroy                    销毁(停止)网络
    net-dhcp-leases                print lease info for a given network
    net-dumpxml                    查看XML 中的网络信息
    net-edit                       为网络编辑 XML 配置
    net-event                      Network Events
    net-info                       网络信息
    net-list                       列出网络
    net-name                       把一个网络UUID 转换为网络名
    net-start                      开始一个(以前定义的)不活跃的网络
    net-undefine                   取消网络的定义
    net-update                     更新现有网络配置的部分
    net-uuid                       把一个网络名转换为网络UUID

利用CenOS7图形化界面管理虚拟网络

CentOS mini系统添加图形化界面

[root@kvm01 ~]# yum groupinstall "Server with GUI"  -y
[root@kvm01 ~]# systemctl set-default graphical.target
重启虚拟机

1、基于NAT的虚拟网络

(1)图形界面向虚拟机中添加一块NAT网卡

[root@KVM01 ~]$ virt-manager
#调用图形化界面

[1]选中虚拟机–点击编辑–点击连接详情 进入该页面
在这里插入图片描述
[2]点击虚拟机网络–点击左下角+号–编辑网络名称 进入该页面
在这里插入图片描述
[3]点击前进
在这里插入图片描述
[4]点击前进—到达该页面—点击转发到物理网络(默认NAT)—点击完成
在这里插入图片描述
[5]创建完成
在这里插入图片描述
[6]终端进行查看

[root@KVM01 networks]# virsh net-list 
 名称               状态     自动开始  持久
----------------------------------------------------------
 default              活动     是           是
 network1             活动     是           是

[7]删除虚拟网络 选择网络net1----点击下面的红点停止网络—点击红点右侧圈x删除网络
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)修改配置文件向虚拟机中添加一块NAT网卡

[root@KVM01 ~]# cd /etc/libvirt/qemu/networks
#进入记载网络的目录下
[root@KVM01 networks]# ls
autostart  default.xml  network1.xml
[root@KVM01 networks]# cp network1.xml network2.xml 
#将net1的网络复制
[root@KVM01 networks]# vim network2.xml 
#修改net2中的参数 (网络名 、bridge name、uuid、mac address、ip address、range)
[root@KVM01 networks]# cat network2.xml 
<network>
  <name>network2</name>
  <uuid>ad9f1dfa-3212-4dcf-81c5-a96ed1157834</uuid>
  <forward mode='nat'/>
  <bridge name='virbr2' stp='on' delay='0'/>
  <mac address='52:54:00:87:f3:23'/>
  <domain name='network2'/>
  <ip address='192.168.200.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.200.128' end='192.168.200.254'/>
    </dhcp>
  </ip>
</network>

[root@KVM01 networks]# virsh net-define network2.xml 
从 network2定义网络network2.xml
[root@KVM01 networks]# virsh net-start network2 
网络 network2 已开始
[root@KVM01 networks]# virsh net-autostart network2
网络network2标记为自动启动
[root@KVM01 networks]# virsh net-list 
 名称               状态     自动开始  持久
----------------------------------------------------------
 default              活动     是           是
 network1             活动     是           是
 network2             活动     是           是

**删除和取消定义虚拟网络**
[root@KVM01 networks]# virsh net-destroy network2 
网络 network2 被删除
[root@KVM01 networks]# virsh net-undefine network2
网络 network2 已经被取消定义

2、基于网桥的虚拟网络

(1)图形界面向虚拟机中设置桥接网络

[1]终端输入命令

[root@KVM01 network-scripts]# nm-connection-editor

在这里插入图片描述
[2]点击+ 号—选择桥接模式—点击create
在这里插入图片描述
[3]编辑连接名称、接口名称—点击add
在这里插入图片描述
[4]选择连接类型(以太网)—点击create
在这里插入图片描述
[5]选择设备–点击保存
在这里插入图片描述
[6]点击IPV4设置—方法选择手动—点击add—编辑IPV4地址及其DNS服务器----点击保存
在这里插入图片描述
[7]完成
在这里插入图片描述
[8]删除
终端输入命令调出图形界面

[root@KVM01 network-scripts]# nm-connection-editor

选择网卡点击“-”删除
在这里插入图片描述

(2)virsh命令行向虚拟机中设置桥接网络

[root@KVM01 networks]# cd /etc/sysconfig/network-scripts/
[root@KVM01 network-scripts]# virsh iface-bridge ens33 br1
使用附加设备 br1 生成桥接 ens33 失败
已启动桥接接口 br1
[root@KVM01 network-scripts]# systemctl restart network
#重启服务
[root@KVM01 network-scripts]# virsh iface-list 
 名称               状态     MAC 地址
---------------------------------------------------
 br1                  活动     e2:7e:c3:52:80:91
 lo                   活动     00:00:00:00:00:00
[root@KVM01 network-scripts]# nmcli connection show 
NAME          UUID                                  TYPE      DEVICE 
br1           3835124b-038f-4b65-aed9-b6ba0f06b2bd  bridge    br1    
virbr0        2cfc14a5-d4a5-4138-b89a-2f50a5eb4ac6  bridge    virbr0 
vnet0         7c077f64-5f65-4bee-9955-33e47ec07286  tun       vnet0  
System ens33  c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  --  
#桥接成功

**ping 不同外界网络时,修改配置文件**
[root@KVM01 network-scripts]# cat ifcfg-br0 
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=192.168.16.55
NETMASK=255.255.255.0
GATEWAY=192.168.16.2
STP=yes
DELAY=0

[root@KVM01 network-scripts]# cat ifcfg-ens33 
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

**网络测试**
[root@KVM01 network-scripts]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=224 ms
**取消桥接**
[root@KVM01 network-scripts]# rm -f ifcfg-br1
#删除文件
[root@KVM01 network-scripts]# cat ifcfg-ens33 
#重新编辑ens33
DEVICE=ens33
IPADDR=192.168.16.55
NETMASK=255.255.255.0
ONBOOT=yes
NAME=ens33
GATEWAY=192.168.16.2
DNS1=223.5.5.5
BOOTPROTO=none  
[root@KVM01 network-scripts]# systemctl restart network
#重启服务或重启虚拟机
[root@KVM01 network-scripts]# nmcli con show  #查看
NAME    UUID                                  TYPE      DEVICE 
ens33   c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  ens33  
br1     3835124b-038f-4b65-aed9-b6ba0f06b2bd  bridge    br1    
virbr0  2cfc14a5-d4a5-4138-b89a-2f50a5eb4ac6  bridge    virbr0 
vnet0   7c077f64-5f65-4bee-9955-33e47ec07286  tun       vnet0  
[root@KVM01 network-scripts]# virsh iface-list  #查看
 名称               状态     MAC 地址
---------------------------------------------------
 ens33                活动     00:0c:29:48:54:8c
 lo                   活动     00:00:00:00:00:00

在这里插入图片描述
在这里插入图片描述

(3)编辑配置文件向虚拟机中设置桥接网络


```powershell
[root@KVM01 ~]# cd /etc/sysconfig/network-scripts/
#进入到含有桥接网络文件目录下
[root@KVM01 network-scripts]# vim ifcfg-ens33  #编辑文件
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

[root@KVM01 network-scripts]# vim ifcfg-br0  #编辑文件
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=192.168.16.55
NETMASK=255.255.255.0
GATEWAY=192.168.16.2
STP=yes
[root@KVM01 network-scripts]# systemctl restart network
#重启服务
[root@KVM01 network-scripts]# nmcli connection show  # 查看
NAME          UUID                                  TYPE      DEVICE 
网桥 br0      d2d68553-f97e-7549-7a26-b34a26f29318  bridge    br0    
virbr0        6a57297f-0459-4fca-827a-cd9a21884ccf  bridge    virbr0 
System ens33  c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  ens33  
vnet0         01136caa-c23a-41ca-b3a5-6dd734846768  tun       vnet0  
[root@KVM01 network-scripts]# virsh iface-list   #查看
 名称               状态     MAC 地址
---------------------------------------------------
 br0                  活动     00:0c:29:48:54:8c
 lo                   活动     00:00:00:00:00:00

**测试**
[root@KVM01 network-scripts]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=221 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=209 ms

**取消桥接**
[root@KVM01 network-scripts]# rm -f ifcfg-br1
#删除文件
[root@KVM01 network-scripts]# cat ifcfg-ens33 
#重新编辑ens33
DEVICE=ens33
IPADDR=192.168.16.55
NETMASK=255.255.255.0
ONBOOT=yes
NAME=ens33
GATEWAY=192.168.16.2
DNS1=223.5.5.5
BOOTPROTO=none  
[root@KVM01 network-scripts]# systemctl restart network
#重启服务或重启虚拟机

猜你喜欢

转载自blog.csdn.net/m0_46289868/article/details/109209813