Fedora

如何通過 MAC 地址使用防火牆阻止內部主機訪問 Internet

  • October 21, 2021

我試圖阻止網路上的一些主機外出/打電話回家。

所以我有2個區域。

[root@eagle ~]# firewall-cmd --get-active-zones 
external
 interfaces: enp2s0
internal
 interfaces: eno1

偽裝成external

[root@eagle ~]# firewall-cmd --zone=internal --query-masquerade
no
[root@eagle ~]# firewall-cmd --zone=external --query-masquerade
yes

而且我有一個豐富的規則來刪除我想要的 MAC 地址的數據

[root@eagle ~]# firewall-cmd --zone=external --list-rich-rules 
rule source mac="40:16:3B:63:72:E0" drop

但這似乎不起作用。我檢查的明顯事情是將它們添加為永久並確保我重新載入了規則。

任何幫助表示讚賞

您正在外部區域添加 MAC 規則,即enp2s0. 通過該介面發送的乙太網幀enp2s0的源 MAC 地址為 MAC 地址。

如果要匹配內部網路中的設備,需要在internalzone中添加MAC匹配規則,該區域使用interface eno1,當接收到來自客戶端的幀時,將客戶端MAC地址作為源MAC地址。

這意味著您還需要在規則中添加目標 IP 地址匹配。

引用自:https://serverfault.com/questions/1081206