0

我试图过滤由 GOOSE 协议生成的第 2 层多播数据包(无 IP 标头)。

在此处输入图像描述

使用了以下命令(ebtable 和 iptables),但不起作用。任何人都可以给一些建议吗?

我使用 ebtables 是因为我读到 iptables 无法打开没有 ip 标头的数据包(至少第 3 层)。数据包从机器 A 发送到机器 B(客户端/服务器软件)。

一个。ebtables -A 输入 -j 删除 ebtables -A 输出 -j 删除

湾。iptables -A INPUT -m pkttype --pky-type multicast -j DROP iptables -A OUTPUT -m pkttype --pky-type multicast -j DROP

我尝试了上面的所有命令,但我无法停止我的多播数据包(DROP 仅用于测试目的)

先谢谢了...

4

1 回答 1

0

对于将来遇到相同问题的人,我设法解决了问题,首先,您现在应该 iptables 无法过滤不使用 ip 标头的协议,所以在我的情况下,我的协议是第 2 层(如 arp),最好的工具是 ebtables。

我已经意识到的 DROP 测试不起作用,因为我在正常接口中使用了 ebatbles,这是 ebtables 的问题,他不接受它,你应该在使用 ebtables 之前配置一个桥接接口。

这是我输入的创建桥的命令:

brctl addbr br0
brctl stp br0 off
brctl addif br0 eno16777736
ifconfig br0 10.0.0.131 netmask 255.255.255.0
ifconfig eno16777736 0 0.0.0.0
ip route add default via 10.0.0.1    

ebtables -t broute -A BROUTING -j DROP   

希望这将有助于将来的某些人

于 2016-06-17T12:20:01.523 回答