先學六個網路名詞
第一次實驗只需要 WAN、LAN、IP 位址、閘道、DHCP 和 DNS。指南不假設你已有網路經驗,會用簡短方式說明。
WANLANDHCPDNS
先描述路由器,再決定何時變更網路。
routerd 將 WAN、LAN、DNS、NAT、路由和系統設定明確寫入一份 YAML。請從實驗主機開始,並保留主控台或獨立管理介面:live 執行可能改變連線能力。
第一次實驗只需要 WAN、LAN、IP 位址、閘道、DHCP 和 DNS。指南不假設你已有網路經驗,會用簡短方式說明。
WANLANDHCPDNS使用備用 VM 或主機,並保留主控台或獨立管理 NIC。不要在正式環境或唯一的路由器上進行第一次 live 變更。
Ubuntu Server主控台存取獨立管理 NIC先從介面與單一 LAN 服務開始,再逐一加入 DHCP、DNS 和對外 IPv4 NAT。
InterfaceDHCPv4ServerNAT44Rule已有安裝配置與服務管理整合的基礎工作,但原生平台轉譯器和功能對等性仍待完成。第一台路由器請使用 Ubuntu Server。
Ubuntu Server 為主FreeBSD 基礎工作NixOS 基礎工作請依這個順序進行。驗證與 dry-run 不會變更主機網路;在主控台執行的 live apply 與守護程式可能會。請使用主控台或獨立管理路徑,並只在守護程式啟動後使用 routerctl。
WAN / LAN / DHCP / DNS主控台 / 管理 NICrouter.yamlrouterd validaterouterd apply --once --dry-runrouterd apply --oncerouterd serve → routerctl請在備用的 Ubuntu Server VM 或主機安裝 routerd,將範例 YAML 放到下列路徑;進行 live 步驟前,保留主控台或獨立管理路徑。
此步驟會檢查 YAML 和資源規則,不會變更主機網路,也不需要 routerd 守護程式正在執行。
sudo routerd validate --config /usr/local/etc/routerd/router.yaml此步驟會使用暫存的 state、ledger 與 status 路徑執行一次套用流程,不會套用網路變更或寫入 routerd 的正常狀態檔。它仍是獨立操作,不需要守護程式或 routerctl。
LAB_DIR="$(mktemp -d)"
sudo routerd apply --config /usr/local/etc/routerd/router.yaml --once --dry-run --skip-service-manager --state-file "$LAB_DIR/state.db" --ledger-file "$LAB_DIR/ledger.db" --status-file "$LAB_DIR/status.json"這會變更主機網路後結束。只在實驗環境的主控台,或有獨立管理路徑時執行。
# 一次 live 套用:變更主機網路後結束。
sudo routerd apply --config /usr/local/etc/routerd/router.yaml --oncerouterd serve 是 live 執行,會持續套用並協調主機網路。啟動後才在另一個終端機使用 routerctl。
# 從主控台啟動 live 守護程式。
sudo routerd serve --config /usr/local/etc/routerd/router.yaml
# routerd serve 啟動後,於另一個終端機執行。
sudo routerctl get status
sudo routerctl get events --limit 20routerd 是 pre-release v1alpha1 軟體。不要將第一次 live 執行用在網路中唯一的路由器或唯一的遠端管理路徑。
routerctl 會與本機正在執行的 routerd 守護程式通訊。它用於檢查已執行的路由器,不用於上面的獨立驗證與 dry-run。
在進行下一項變更前,檢查守護程式回報的資源狀態。
路由器啟動後,透過守護程式執行針對性的健康診斷。
資源未進入預期狀態時,檢視最近的控制器事件。
live 網路變更影響遠端存取時,主控台或獨立管理路徑就是復原途徑。