KVM网络管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM网络管理相关的知识,希望对你有一定的参考价值。

系统centos7
虚拟机网络
物理网卡 ens33 10.72.60.155 网关 10.72.60.2
KVM虚拟机网络
虚拟网络 eth0 192.168.110.145 网关 192.168.110.1

KVM网络管理命令

net-autostart                  自动开始网络
net-create                     从一个 XML 文件创建一个网络
net-define                     定义一个永久网络或修改一个xml文件中定义的持久网络
net-destroy                    销毁(停止)网络
net-dhcp-leases                打印给定网络的租赁信息
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

这里以添加my_bro,删除default为例

添加my_bro

#通过XML文件创建my_bro
cd /etc/libvirt/qemu/networks/
#用default.xml生成my_bro.xml
cp default.xml my_bro.xml

default.xml与my_bro.xml对比

#删除了uuid,mac address,修改了forward mode、bridge name、ip address、range start

my_bro.xml

<network>
  <name>my_bro</name>
  <forward mode=‘route‘/>
  <bridge name=‘virbr1‘ stp=‘on‘ delay=‘0‘/>
  <ip address=‘192.168.110.1‘ netmask=‘255.255.255.0‘>
    <dhcp>
      <range start=‘192.168.110.2‘ end=‘192.168.110.254‘/>
    </dhcp>
  </ip>
</network>

default.xml

<network>
  <name>default</name>
  <uuid>b4f7d394-6b54-4ef1-ad9c-cf63f458dd63</uuid>
  <forward mode=‘nat‘/>
  <bridge name=‘virbr0‘ stp=‘on‘ delay=‘0‘/>
  <mac address=‘52:54:00:a9:8a:a6‘/>
  <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>

通过XML文件创建网络

永久创建网络

virsh net-define my_bro.xml

临时创建网络

virsh net-create my_bro.xml

查看网络列表

virsh net-list --all
技术分享图片

启动my_bro

virsh net-start my_bro

设置my_bro自动启动

virsh net-autostart my_bro

查看网络列表

virsh net-list --all
技术分享图片

删除default

禁止default自动启动

net-autostart default --disable

停止default自动启动

virsh net-destroy default

查看网络列表

virsh net-list --all
技术分享图片

删除default

virsh net-undefine default

修改虚拟机网络

virsh edit test1

修改前

<interface type=‘network‘>
    <mac address=‘52:54:00:3c:f2:fd‘/>
    <source network=‘default‘/>
    <model type=‘virtio‘/>
    <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x03‘ function=‘0x0‘/>
</interface>

修改后

<interface type=‘network‘>
    <source network=‘my_bro‘/>
    <model type=‘virtio‘/>
    <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x03‘ function=‘0x0‘/>
</interface>

重启虚拟机

virsh shutdown test1
virsh start test1
virsh reboot test1

修改虚拟机ifcfg-eth0

#修改IP地址和网关

技术分享图片

物理机做NAT,外网登录KVM虚拟机

将物理网卡和virbr1虚拟网络放在同一个域

firewall-cmd --zone=internal --change-interface=ens33 --permanent
firewall-cmd --zone=internal --change-interface=virbr1 --permanent

开启所在域的NAT功能

firewall-cmd --permanent --zone=internal --add-masquerade

重新导入规则

firewall-cmd --reload

查看NAT功能是否开启

firewall-cmd --query-masquerade --zone=internal

NAT规则

firewall-cmd --add-forward-port=port=8022:proto=tcp:toport=22:toaddr=192.168.110.145 --permanent --zone=internal

重新导入规则

firewall-cmd --reload

查看规则

firewall-cmd --list-all --zone=internal

访问测试

技术分享图片

以上是关于KVM网络管理的主要内容,如果未能解决你的问题,请参考以下文章

KVM虚拟化管理平台的实现

虚拟化技术kvm

KVMNova 通过 libvirt 管理 QEMU/KVM 虚机

KVM虚拟化平台部署

KVM虚拟化平台部署

KVM 初探