家庭开源网关 08|防火墙、远程访问、备份恢复与长期运维

家庭开源网关 08|防火墙、远程访问、备份恢复与长期运维

围绕防火墙、WireGuard、IoT 隔离、升级、备份与备用启动介质,建立一套可长期运行、可监控、可快速恢复的家庭网关运维方案。

家庭开源网关 08|防火墙、远程访问、备份恢复与长期运维

家庭开源网关系列 · 第 8/8 篇

家庭网关稳定运行一周,只能证明当前配置暂时可用。真正的长期运维还要回答:管理面是否暴露、远程访问怎样进入、升级失败如何回退、存储损坏后多久恢复,以及代理或服务器停止时基础网络是否仍然存在。

网关是全家互联网出口。它的安全和恢复方案应当比普通家庭服务更简单、更保守。

先保护管理面

基础设置包括:

  • 首次登录立即设置强密码;
  • 禁止 WAN 侧直接访问 LuCI 和 SSH;
  • SSH 优先使用密钥,并限制密码登录和管理来源;
  • 管理设备放在可信 LAN 或专用管理 VLAN;
  • 不安装来源不明的整合固件、脚本和二进制包;
  • 定期检查实际监听端口与防火墙规则。

OpenWrt 使用 zone 表达 LAN、WAN 等区域,并由 firewall4 生成 nftables 规则。默认思路是允许 LAN 主动访问 WAN,拒绝 WAN 主动进入 LAN。需要额外放行时,应写最小、明确的规则,而不是整体降低 WAN 区域策略。

每条入站规则至少写清源区域、目标地址、协议、端口和用途。临时排障规则也要设置删除日期或记录,否则“先全放开再说”很容易成为永久配置。修改后分别从 LAN、访客网络、VPN 和真正的外部网络测试,不能只在内网访问公网域名来判断端口是否暴露。

管理面还包括交换机、AP、虚拟化宿主机、NAS 和容器控制台。即使 OpenWrt 本身没有暴露,若同一管理 VLAN 中的其他后台仍使用默认密码或允许访客访问,整体边界依然不安全。

远程访问优先进入 VPN

在开放端口前,先确认家庭网络是否具有公网 IPv4、处于运营商 CGNAT,或者可以使用公网 IPv6。

远程管理优先通过 WireGuard 等加密隧道进入家庭 LAN,不应直接暴露 LuCI、SSH、SMB 或 Docker API。OpenWrt WireGuard Server 文档把“无需把 LAN 服务直接做端口转发”列为主要目标之一。

确实需要端口转发时:

  1. 只开放必要端口和协议。
  2. 应用层启用身份认证与 TLS。
  3. 保持应用和依赖更新。
  4. 检查 IPv4 与 IPv6 两套入站策略。
  5. 不把消费级路由器中的“DMZ 主机”误解成安全隔离区。

UPnP/NAT-PMP 可以让应用自动申请映射,但也扩大动态暴露面。主网关不需要的自动映射功能应当关闭。

公网地址变化时,可以使用 DDNS 更新域名,但 DDNS 只解决“地址在哪里”,不提供访问控制。处于 CGNAT 下时,DDNS 也不会自动获得可入站的公网 IPv4。公网 IPv6 可达时,仍需为 WireGuard 或目标服务编写明确的 IPv6 防火墙规则。

远程接入上线后应验证三种状态:正常隧道能访问被授权资源;未授权客户端不能进入;隧道服务停止时,不会意外开放备用管理端口。密钥丢失或设备转让时,要能撤销单个客户端,而不是更换全网配置。

IoT 与访客默认不访问可信设备

摄像头、智能插座和来宾设备不应默认访问 NAS、路由器后台与可信电脑。

基础方案是独立访客 Wi-Fi;进阶方案使用 VLAN 和防火墙:

  • 可信网络可以访问家庭服务器;
  • IoT 只访问互联网和必要控制器;
  • 访客仅访问互联网,并隔离其他客户端;
  • 服务器只开放实际使用的端口;
  • 管理 VLAN 只允许管理员终端进入。

如果 Home Assistant、投屏或发现协议需要跨 VLAN,单独添加 mDNS/组播中继和有限方向的放行,不要把整个隔离策略改成双向允许。

DNS 与代理中的敏感信息

订阅、节点和 VPN 配置可能包含访问密钥。需要注意:

  • 限制配置文件权限;
  • 不上传到公共仓库或普通网盘分享链接;
  • 代理管理页面不暴露到 WAN;
  • 只安装与当前系统分支和架构匹配的软件包;
  • 备份密钥时使用受控的加密存储。

代理和加密隧道的使用还应遵守所在地法律、运营商条款和目标服务规则。

把防火墙规则变成可维护的访问矩阵

规则数量增加后,不要只依赖 LuCI 页面记忆。用表格记录来源、目标、端口、理由和负责人:

来源 目标 允许内容 理由
可信 LAN NAS SMB/HTTPS 等必要服务 日常文件与管理
IoT VLAN Home Assistant 指定控制端口 自动化控制
访客 VLAN WAN DNS、Web 等出站 仅提供互联网
WireGuard 管理 VLAN LuCI/SSH,限制客户端 远程维护
WAN 家庭 LAN 默认拒绝 不直接暴露内部服务

每次新增规则都能在矩阵中找到理由;设备退役时,沿着记录删除对应例外。这样比长期积累无法解释的端口号更安全。

分阶段备份,而不是只保存最后一次

推荐保留四个状态:

01-base-network.tar.gz
02-wan-working.tar.gz
03-proxy-working.tar.gz
04-production-stable.tar.gz

备份内容应至少包括:

  • UCI 配置;
  • WAN、PPPoE、MTU 与 IPv6 参数;
  • 静态 DHCP 租约;
  • VLAN 与防火墙访问矩阵;
  • 已安装包清单;
  • 代理/VPN 配置与密钥的安全副本;
  • 当前可回退镜像与校验值。

不要只把备份放在网关内部存储。存储损坏时,内部备份和运行系统会一起丢失。

备份可以分成四层:

层次 内容 作用
配置备份 UCI、租约、VLAN、防火墙 恢复网络逻辑
软件清单 包名、版本、源和自定义脚本说明 重建附加能力
系统镜像 当前版本与可回退版本、校验值 重新刷写
密钥与数据 VPN/代理密钥、证书、必要数据库 恢复身份和状态

这些内容的保密等级不同。普通配置可以放在受控备份仓库,私钥和订阅凭据则应加密保存并限制访问。恢复文档中记录密钥位置即可,不要把所有秘密复制进一份明文说明。

每季度或每次重大修改后,检查备份是否仍能读取、文件名是否包含设备与版本、当前镜像是否仍可获得,以及备用卡/启动盘能否真正启动。备份验证比备份次数更重要。

升级会替换什么

OpenWrt Sysupgrade 文档说明,升级会替换整个 OpenWrt 系统,包括内核与根文件系统;选择保留配置时,会恢复指定配置文件,但后安装的软件包通常需要重新安装。

升级前应当:

  1. 阅读目标版本的内核、包管理与配置兼容说明。
  2. 下载目标镜像与当前可回退镜像,并校验文件。
  3. 导出配置和已安装包清单。
  4. 确认可以通过本地有线方式管理设备。
  5. 确认备用路由或备用启动介质真实可用。

家庭主网关优先稳定版,不追逐每日 Snapshot。不要在出差、远程办公、考试或家庭关键活动之前升级。

升级应有明确变更窗口。升级前记录 WAN、LAN、DNS、IPv6、代理/VPN 和端口监听基线;升级后按同一顺序复测。若跨越内核、防火墙或包管理体系的大版本,不要假设旧插件与自定义脚本会继续工作。

如果选择保留配置,仍要准备第三方包重新安装和依赖变化;如果选择干净重装,则按“基础 LAN → WAN → DNS → 代理/VPN → VLAN”的顺序恢复。两种路线都应以当前设备官方升级说明为准。

设计一个几分钟内可启动的备用系统

microSD 设备可以准备一张最小系统备用卡,只包含 WAN、LAN、DHCP、基础 DNS 和管理员密码。它不需要恢复所有代理与 VLAN 功能,目标只是先恢复可靠上网。

eMMC 与 x86 设备应准备:

  • 启动 U 盘或官方恢复镜像;
  • 串口、显示器或键盘接入方式;
  • 对应网卡与存储驱动;
  • 已验证的配置备份;
  • 一台物理备用路由器。

虚拟化网关还要验证宿主机断电后的启动顺序,确保虚拟交换机与 OpenWrt 虚拟机能够自动恢复。

一次可执行的恢复演练应包括:关闭主系统;使用备用介质启动;恢复 WAN、LAN、DHCP 和基础 DNS;让一台有线终端重新上网;确认可以管理网关;再决定是否恢复代理、VLAN 和远程访问。备用系统的目标是先恢复最小服务,不需要复制生产环境的全部复杂度。

把恢复目标写成时间更容易判断方案是否现实:几分钟内恢复基础上网,随后恢复 Wi-Fi 和关键服务器,最后才恢复非必要增强服务。如果找到备份、网线和管理员密码本身就需要半小时,恢复设计仍然不合格。

监控项目与异常信号

项目 正常关注点 异常信号
系统 运行时间、负载、内存 OOM、频繁重启、进程崩溃
网络 接口速率、丢包、错误计数 100M 协商、link down、CRC 错误
存储 可用空间、I/O、挂载状态 mmc error、I/O error、overlay 满或只读
温度 空闲与高负载温度 持续降频、过热关机
服务 DNS、代理、VPN、NTP 解析间歇失败、规则加载失败
安全 登录、端口、更新 陌生登录、WAN 暴露、长期未更新

监控不需要一开始就部署复杂平台。先确保可以查看系统日志、接口状态、错误计数、温度和存储空间,再根据实际问题增加告警。

建议形成简单节奏:每月检查更新公告、磁盘空间和异常登录;每季度验证备份与备用介质;每次网络故障后补充台账和恢复步骤;硬件、网段或 VLAN 发生重大变化时立即更新拓扑图。监控的价值在于发现趋势和保留证据,不在于仪表盘数量。

运维档案至少包括当前拓扑图、设备型号与管理地址、端口/VLAN 对照、DHCP 静态租约、DNS/代理/VPN 数据路径、防火墙访问矩阵、固件和包版本、备份位置与恢复步骤。档案中可以引用密钥存放位置,但不应直接暴露明文秘密。即使半年后再维护,也应能从这份资料判断每台设备负责什么。

长期验收标准

一个可维护的家庭网关应满足:

  • 所有终端获得预期 IP、网关和 DNS;
  • 只有一个明确的 DHCP 入口;
  • 停用服务器不影响基础上网;
  • 停用代理后有可预测的直连或阻断结果;
  • WAN 侧无法直接进入管理面;
  • IPv4 与 IPv6 使用一致的安全策略;
  • 备份、镜像和包清单保存在外部;
  • 备用启动介质经过实际启动验证。

家庭开源网关的最终目标不是安装尽可能多的软件,而是让接入、路由、无线、服务和恢复路径都能被解释。当任何一个组件退出时,仍然知道流量会走到哪里,也知道怎样回到上一条已验证路径。

系列术语速查

术语 含义
ONT/ONU/光猫 终结运营商 PON 光纤接入的设备
OLT 运营商侧的 PON 局端设备
WAN 面向运营商或上游网络的接口或区域
LAN 面向家庭内部网络的接口或区域
AP 把有线 LAN 桥接到 Wi-Fi 的无线接入点
SSID Wi-Fi 网络名称
DHCP 自动分配 IP、网关、DNS 和租期等参数
DNS 把域名解析为地址的系统
PPPoE 在以太网上建立 PPP 认证会话的接入方式
IPoE 通过 IP/DHCP 方式接入运营商网络
NAT/NAPT 转换 IP 地址及端口,让多个私有 IPv4 共享出口
CGNAT 运营商级 NAT,用户通常没有独立公网 IPv4
桥接 二层透明转发,不承担三层路由
路由 在不同 IP 网络之间选择并转发数据包
防火墙 按规则接受、拒绝或丢弃流量
PBR 按源、目标、标记等条件选择不同路由
VLAN 在同一物理网络上划分逻辑二层网络
Trunk 携带多个 VLAN 标签的链路
Access/PVID 把无标签终端流量归入指定 VLAN 的端口配置
SQM 用于降低满载排队延迟的智能队列管理
Bufferbloat 链路满载时队列过长导致的高延迟
MTU 单个链路层数据包可承载的最大网络层长度
MSS TCP 单个报文段的最大数据长度
DDNS 公网地址变化时自动更新域名记录
VPN 在公共网络上建立加密或逻辑专用连接
透明代理 终端无需手工设置,由网关接管选定流量
TUN 常用于 VPN 或代理的虚拟三层接口
TPROXY 可保留原目标信息的透明代理机制
LuCI OpenWrt 系列常用的 Web 管理界面
UCI OpenWrt 的统一配置接口与文件体系
fw4/nftables 现代 OpenWrt 的防火墙生成器和内核规则框架
sysupgrade OpenWrt 系列的系统升级机制

参考资料