我在遠端主機上有一個介面:
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 - 乙太網路橋接器幀表管理