跳至主要内容

定義防火牆區域

FirewallZone 定義 WAN、LAN、management network 的 interface role 與 stateful role-matrix default 的流程

適用情境

「WAN 無法到達 LAN、LAN 可以到達 WAN、管理路徑可以到達所有地方」,這是家庭與 SOHO 路由器的基本策略矩陣。 若以個別的 accept / drop 規則來撰寫,不僅重複性高,也容易出錯。

routerd 的解決方式

使用 FirewallZone 將介面與**角色(role)**綁定。 routerd 會根據內建的角色矩陣,自動推導各方向的預設動作,因此在典型配置下,甚至不需要撰寫任何 FirewallRule

role用途
untrustWAN 側(上游線路、DSLite 隧道、PPPoE 虛擬介面)
trust一般 LAN 區段
mgmt帶外管理網路

隱含的矩陣如下:

from \ toselftrustmgmtuntrust
mgmtacceptacceptn/aaccept
trustacceptacceptdropaccept
untrustdropdropdropn/a
selfacceptacceptacceptaccept

established/related 的連線一律允許。

範例

- apiVersion: firewall.routerd.net/v1alpha1
kind: FirewallZone
metadata:
name: wan
spec:
role: untrust
interfaces:
- Interface/wan
- DSLiteTunnel/ds-lite-primary

- apiVersion: firewall.routerd.net/v1alpha1
kind: FirewallZone
metadata:
name: lan
spec:
role: trust
interfaces:
- Interface/lan

- apiVersion: firewall.routerd.net/v1alpha1
kind: FirewallZone
metadata:
name: management
spec:
role: mgmt
interfaces:
- Interface/mgmt

對於典型的家庭路由器,這樣就已足夠。FirewallRule 只在需要表達例外時才新增。

相關項目