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

来源:互联网 发布:凸函数 海森矩阵 编辑:程序博客网 时间:2024/04/28 16:46

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功能时,需要上述配置文件确定虚拟机的包过滤规则,找不到就会出现上述错误!

0 0
原创粉丝点击