Ubuntu 中使用 hostapd 進行客戶端隔離

Ubuntu 中使用 hostapd 進行客戶端隔離

hostapd我們已經在 Ubuntu 中建立了一個 wifi 熱點或無線存取點。我們如何像某些存取點中的「客戶端隔離」一樣隔離 wifi 用戶端?有什麼方法可以結合起來iptableshostapdwifi 客戶端之間應用一些防火牆規則嗎?

答案1

在輸入和輸出上建立 iptables 規則,允許來源位址範圍與路由器/預設網關通信,為該子網路上的任何伺服器或其他資源建立附加規則。

建立一條最終規則,丟棄來源位址範圍和來源位址範圍之間的封包。

iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d 192.168.1.1 -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d $SOMESERVERIP -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d $SOMEOTHERSERVERIP -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d 192.168.1.0/24 -j DROP

這一系列事件的基礎是:

  1. 如果它位於子網路中並且正在與網關通信,則接受它
  2. 如果它位於子網路中並且正在與伺服器通信,請接受它
  3. 重複規則 2,直到用完可接受的伺服器
  4. 如果它位於子網路中並且正在與子網路中的其他任何設備通信,請將其丟棄

答案2

此時,iptables規則對wifi介面直接轉送的資料包沒有影響,根據

好消息是 Hostapd 2.9 有一個名為 的選項,ap_isolate它可以完全按照您的描述進行操作。你可以閱讀相關內容這裡

設定好該標誌後,來自存取點網路上的裝置的所有資料包都將被存取點丟棄。

相關內容