使用 ebtables 阻止流量到 mac 地址

使用 ebtables 阻止流量到 mac 地址

我在远程主机上有一个接口:

2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:05:68:02:68:dd brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.1/24 brd 192.168.3.255 scope global eth0

在我的本地机器上有:

2: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:13:3b:0f:24:fc brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.150/24 brd 192.168.3.255 scope global eth6
       valid_lft forever preferred_lft forever
    inet6 fe80::213:3bff:fe0f:24fc/64 scope link 
       valid_lft forever preferred_lft forever

然后做:

ebtables -A OUTPUT -d 00:05:68:02:68:dd -j DROP

所以我得到:

Bridge chain: OUTPUT, entries: 1, policy: ACCEPT
-d 0:5:68:2:68:dd -j DROP

我执行上述操作是为了阻止所有与 mac 地址的通信(在远程接口上)00:05:68:02:68:dd

但是我仍然可以使用 192.168.3.1 ping 我的远程接口。为什么?我是否必须以某种方式启用 eptables?

答案1

易表仅对通过桥接接口的帧起作用。

如果您想根据 MA​​C 地址阻止某个站点,请创建一个网桥并将您的接口添加到其中。然后通过网桥路由流量并使用 ebtables 阻止流量从网桥流出到该 mac 地址,如下所示:

ebtables -A 输出 -d 00:05:68:02:68:dd -j 删除

有用。

答案2

难道 ebtables 只适用于网桥,而不适用于任何以太网接口?

ebtables - 以太网桥接框架表管理

相关内容