libvirtd的nwfilter功能丢失no-mac-spoofing报错分析

在虚机管理中遇到libvirtError提示'no-mac-spoofing'过滤器缺失,通过检查发现nwfilter-list确实缺少该规则。解决方法是安装libvirt-daemon-config-nwfilter并重启libvirtd服务,之后过滤器恢复正常。nwfilter是libvirt提供的网络过滤功能,用于精细化控制虚拟机的网络流量,规则配置以xml格式保存,对于OpenStack等调用libvirt的环境,配置文件的完整至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查看虚机的宿主机/var/log/nova/nova-compute.log

显示libvirtError: internal error: referenced filter 'no-mac-spoofing' is missing

 

2、输入命令virsh nwfilter-list显示确实缺少no-mac-spoofing

 

3、解决方法:

yum install libvirt-daemon-config-nwfilter

Systemctl restart libvirtd.service

再次输入virsh nwfilter-list查看no-mac-spoofing存在

 

报错原理分析:

libvirt是一套支持Linux下主流虚拟化工具的C函数库,它起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序,目前支持包括 Xen KVM,以及 QEMU 等在内的一些虚拟产品。

libvirtnwfilter功能,全称为network filtering,其目的在于可让系统管理员在host上通过一套抽象的标准化的配置方式实现对vm的网络数据包的过滤,可以准确的控制到每个vm的每块网卡上。同一个filter规则可以被不同的vm重复使用,当然也可以为每一个vm创建不同的filter规则。

nwfilter规则配置好之后,启动vm的时候libvirt会自动将配置规则转换为对应的iptables或者ebtables规则,加载到vm对应的网卡tap设备上。

nwfilter规则配置文件和libvirt其他资源配置一样使用xml格式,文件位置在:/etc/libvirt/nwfilter/no-mac-spoofing.xml

[root@computer01 nova]# cat /etc/libvirt/nwfilter/no-mac-spoofing.xml

openstack调用libvirt库的nwfilter功能时,需要上述配置文件确定虚拟机的包过滤规则,找不到就会出现上述错误!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值