Skip to content

firewall4:OpenWrt 的 nftables 防火牆與區域

22.03 起為預設,區域與 UCI 寫法不變。

自 22.03 起,OpenWrt 預設的防火牆是 firewall4(fw4)。它產生的是 nftables 規則而非 iptables,並在 /etc/config/firewall 中沿用舊版 fw3 的 UCI 語法。

以區域為單位,而不是規則清單

Section titled “以區域為單位,而不是規則清單”
  • 介面會被分組成區域,通常是 lan 和 wan。政策與轉送是在區域之間設定的。
  • 在預設設定下,LAN 與 WAN 是不同的區域,LAN 流量會被轉送到 WAN。除非你新增規則,否則從 WAN 進入你網路的連線不會被轉送。
  • 新介面(例如訪客網路或 WireGuard 通道)通常需要自己的區域,或需要加入既有的區域。
Terminal window
uci show firewall | grep '=zone'
fw4 print

fw4 print 會印出 fw4 將載入的 table、chain 與規則結構,但不會套用任何東西。編輯設定後,執行 fw4 reload 即可套用。

  • 以 iptables -A … 指令為基礎的教學不適用於 fw4。請改用 UCI 來表達規則。
  • 新介面的區域設錯,是通道或訪客網路「已連線但無法上網」的常見原因。

來源

Router.Homes

獨立的 OpenWrt 實作筆記。每頁都寫明韌體、裝置、套件管理員與復原途徑。

圖示:Solar by 480 Design, CC BY 4.0