查找错误原因是:
ebtables安装和使用
原创
©著作权归作者所有:来自51CTO博客作者葱花哥哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
ebtables的功能和语法和iptables的类似,只是iptables是在ip层对数据包进行过滤和NAT的,而ebtables则是在mac层实现类似功能。最近在做虚拟机数据包流量监控的工作,需要用到ebtables。在安装的过程中发现遇到些问题,这里晒一下。
一开始在官方网站上下载ebtables的rpm包,并从帮助文档中得知需要2.4以后的内核才能支持ebtables,且2.4内核需要安装补丁。用命令(uname -a)查看内核为2.6.18-128.el5。符合要求。
安装rpm包,成功后执行命令:
ebtables -L
得到错误提示:
error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
找到解决方法:
将/usr/lib/ebtables/添加到 /etc/ld.so.conf文件中
执行命令:/sbin/ldconfig -v 使其更新生效
再次执行命令:
ebtables -L
又得到错误:
The kernel doesn't support the ebtables 'filter' table.
查找错误原因是:
查找错误原因是:
机器是64位的,rpm包是32位的,需要重新下载源码编译。
安装时需要内核头文件,用命令查看内核版本
cat /proc/version
到网站下载对应的内核程序。将内核压缩包解压到/usr/srv/目录下:
tar -xjf ***.tar.bz2
将目录更换名字:
mv ***.linux linux
回到ebtables安装目录,用命令编译ebtables:
make install KERNEL_INCLUDES=/usr/srv/include/
再测试
ebtables -L
成功显示信息。
应用举例:
ebtables -t nat -A PREROUTING -s 00:11:22:33:44:55 -j dnat --to-destination 11:22:33:44:55:66
功能:将原地址是 00:11:22:33:44:55 的数据包全部转发到11:22:33:44:55:66上。
作用:通过在物理机上添加此ebtables的nat表规则,可以将物理机上,虚拟机mac地址为00:11:22:33:44:55 的数据包都发给网络上mac为11:22:33:44:55:66的机器,从而实现对虚拟机网络的监控。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章