我在远程主机上有一个接口:
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
易表仅对通过桥接接口的帧起作用。
如果您想根据 MAC 地址阻止某个站点,请创建一个网桥并将您的接口添加到其中。然后通过网桥路由流量并使用 ebtables 阻止流量从网桥流出到该 mac 地址,如下所示:
ebtables -A 输出 -d 00:05:68:02:68:dd -j 删除
有用。
答案2
难道 ebtables 只适用于网桥,而不适用于任何以太网接口?
ebtables - 以太网桥接框架表管理