首页/云/云平台与虚拟化速查/virsh 管理 libvirt 网络
虚拟化操作94 条

virsh 管理 libvirt 网络

libvirt 网络以 XML 定义:net-define 注册、net-start 启用、net-autostart 固化;net-update 可在不回停机的情况下增删 DHCP 静态绑定等配置片段。

云平台与虚拟化速查云更新于 2026-10-13

是什么

libvirt 用一段网络描述定义宿主机上的虚拟网络:网段、地址范围、转发方式与地址分配规则都写在里面。管理命令覆盖注册、启用、设为开机自动启动与在线更新等操作。其中在线更新最有价值:往地址分配列表里加静态绑定不需要停机,也不必手工改文件再重启网络。

基本信息

列出网络virsh net-list --all,含未启用的定义
注册定义virsh net-define 网络描述文件
编辑virsh net-edit 直接修改描述并校验语法
启停virsh net-start 与 net-destroy,后者立即断开该网络上的虚机
自动启动virsh net-autostart 使宿主重启后网络自动恢复
在线更新virsh net-update 增删地址分配等配置片段

典型使用场景

  • 新建隔离网络:给测试虚机一段独立网段,避免与办公网冲突
  • 固定地址:把数据库等需要稳定地址的虚机按网卡地址绑定固定 IP
  • 批量上线:用描述文件加自动启动设置,让宿主重启后网络自动恢复
  • 排障:查看当前网络定义,确认地址范围是否与虚机实际地址匹配
  • 迁移准备:把网络定义做成模板,在新宿主上快速复制出相同网络

添加一条静态地址绑定

添加一条静态地址绑定
virsh net-dumpxml default | head -20   # 先看当前定义
sudo virsh net-update default add ip-dhcp-host \
  "<host mac='52:54:00:aa:bb:cc' name='vm1' ip='192.168.122.50'/>" \
  --live --config                        # 同时生效并持久化
virsh net-dumpxml default | grep -A2 ip-dhcp-host
# 只加 --live 不写 --config,宿主重启后绑定会丢失

命令与作用

命令作用风险提示
net-list查看已有网络及状态加 --all 才能看到未启用的定义
net-define注册新的网络定义只注册不启动,需再执行 net-start
net-destroy立即停用网络该网络上全部虚机的通信立刻中断
net-autostart设置宿主重启后自动启用忘记设置会造成重启后虚机网络不可用
net-update在线增删配置片段必须同时加 --live 与 --config 才完整生效
地址绑定要用网卡地址而不是虚机名做匹配:名字在虚机内可以随便改,网卡地址由虚机定义决定,更稳定;同时注意虚机重建后网卡地址会变化。
停用网络会直接断开该网络上所有虚机的通信,包括管理通道;执行前确认自己在带外或不受该网络影响的路径上。

易错点

  • 只加在线生效参数不写持久化配置,宿主重启后静态绑定消失
  • 停用网络时未评估影响,连同管理通道一起断开
  • 编辑网络定义后未校验语法就重启网络,网络起不来且虚机失联
  • 按虚机名做地址绑定,虚机内改名或重建后绑定失效

数据来源与参考

  • libvirt 文档:virsh net-update
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌