Linux

是否可以使用 iptables 阻止 dhcp 流量?

  • June 22, 2021

我有兩個帶有嵌入式 Linux 的設備。其中一台(機器 A)有兩個網路介面:用於將機器連接在一起的 eth 和用於通過 WiFi 連接到路由器的 wlan 介面。第二台機器(B)只有一個 eth 介面。我的目標是在機器 B 上啟用對 WiFi 網路的訪問。我使用了一些 iptables 規則來過濾從機器 A 到機器 B 的數據包,它可以工作。現在,我需要阻止第一台機器上的 dhcp 流量,這樣它就不會到達第二台機器。我一直在尋找一些 iptables 規則來做到這一點,但我發現 iptables 是不可能的。有沒有其他方法可以阻止該流量?

預先感謝您的任何幫助。

在此處輸入圖像描述

我相信這或多或少是您設想的設置。A 連接到 WiFi,並獲得一個 IP 地址。B 通過乙太網連接到 A,並擁有自己的(私有 RFC1918)IP。

您希望 B 訪問 WiFi 上的設備。

現在,A 使用 DHCP 在 WiFi 介面上獲取 IP。但它不會將 DHCP 轉發到不同的介面,除非您執行 DHCP 代理。此外,WLAN 客戶端通常不能代表多個 MAC 地址,因此您必須以某種方式為 A 分配一個額外的 IP - 或者讓 A 代表 B 在 WiFi 上的流量。

執行此操作的簡單方法是創建來自乙太網的 NAT 流量,並將其轉發到 wifi。這就是你的家庭路由器所做的,它將允許 B 與 WiFi 上的設備(和網際網路)交談。該網路上的設備會認為流量來自 A,因為它們根本看不到 B。

有關如何進行 NAT,請參見例如這個問題

您不應該嘗試複製地址或任何類似的愚蠢想法。IP 應該是唯一的。

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