firewall4:OpenWrt 的 nftables 防火牆與區域
自 22.03 起,OpenWrt 預設的防火牆是 firewall4(fw4)。它產生的是 nftables 規則而非 iptables,並在 /etc/config/firewall 中沿用舊版 fw3 的 UCI 語法。
以區域為單位,而不是規則清單
Section titled “以區域為單位,而不是規則清單”- 介面會被分組成區域,通常是
lan和wan。政策與轉送是在區域之間設定的。 - 在預設設定下,LAN 與 WAN 是不同的區域,LAN 流量會被轉送到 WAN。除非你新增規則,否則從 WAN 進入你網路的連線不會被轉送。
- 新介面(例如訪客網路或 WireGuard 通道)通常需要自己的區域,或需要加入既有的區域。
在你的路由器上查看
Section titled “在你的路由器上查看”uci show firewall | grep '=zone'fw4 printfw4 print 會印出 fw4 將載入的 table、chain 與規則結構,但不會套用任何東西。編輯設定後,執行 fw4 reload 即可套用。
- 以
iptables -A …指令為基礎的教學不適用於 fw4。請改用 UCI 來表達規則。 - 新介面的區域設錯,是通道或訪客網路「已連線但無法上網」的常見原因。