找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 24|回复: 0

虚拟机通过libvirt钩子实现使用无线网卡网络

[复制链接]

1

主题

10

回帖

146

积分

管理员

积分
146
发表于 2025-10-15 00:28:51 | 显示全部楼层 |阅读模式

思路

借助libvirt的qemu钩子, 在虚拟机启动时, 自动添加default网络, 实现虚拟机通过无线网卡上网

过程

系统版本 0.9.18, 虚拟机win10

激活default网络

sudo virsh net-list --all 查看default网络状态

sudo virsh net-autostart default 设置开机启动

确认虚拟机名称

命令行使用的虚拟机名称和飞牛管理界面显示的不一致

ll /etc/libvirt/qemu 查看已有虚拟机配置文件

查看每个xml文件内容,通过其中的title属性(即飞牛界面显示的名称)确认要配置的虚拟机配置文件,文件名即是虚拟机名称(如名称vzkknstu的虚拟机,对应的配置文件名为vzkknstu.xml)

配置钩子

sudo vi /etc/libvirt/hooks/qemu 创建钩子文件,内容:

#!/bin/bashnohup sh /etc/libvirt/hooks/my-action.sh "$1" "$2" "$3" >> /var/log/libvirt/hooks_qemu.log 2>&1 &

sudo vi /etc/libvirt/hooks/my-action.sh 创建执行脚本,内容:

#!/bin/bashVM_NAME="$1"EVENT="$2"PHASE="$3"echo " $(date +'%Y-%m-%d %H:%M:%S') : $VM_NAME $EVENT $PHASE"if [ "$VM_NAME" = "上一步找到的虚拟机名称" ] && [ "$EVENT" = "started" ] && [ "$PHASE" = "begin" ]; then    echo "attach $VM_NAME network default"    virsh attach-interface "$VM_NAME" network defaultfi

sudo touch /var/log/libvirt/hooks_qemu.log 创建日志文件

分配权限

sudo chmod a+w /var/log/libvirt/hooks_qemu.logsudo chmod a+x /etc/libvirt/hooks/qemusudo chmod a+x /etc/libvirt/hooks/my-action.sh

重启飞牛系统(如果只重启libvirtd服务,飞牛的虚拟机管理界面用不了)
重启之后, default网络应该会自动启动, 在飞牛虚拟机管理界面,启动虚拟机后,会触发钩子给虚拟机添加网络, 虚拟机就可以正常上网了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站由纳斯五零(NAS50.CN),版权所有,保留部分权利。豫ICP备2023035803号-1

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-10-24 04:25 , Processed in 0.096253 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表