For the complete documentation index, see llms.txt. This page is also available as Markdown.

参考架构

概述

本章汇总由前述组件构建的端到端参考设计,给出三种标准模式:

  1. 冗余互联网边缘,使用 carp(4)pfsync(4)pf.conf(5) 中的按上行 NAT 与策略路由,由 pfctl(8) 管理。

  2. 园区/分支机构路由接入,使用 VLAN SVI、rad(8) 的路由通告、unbound(8) 的内部递归、nsd(8) 的权威区域,以及 dhcpd(8) 的 DHCP。

  3. 区域 PoP,使用 ldpd(8)mpe(4) 的 MPLS LDP 核心,或使用 iked(8)wg(4) 的加密中心-分支。BGP 策略见 OpenBGPD 章节。

每种模式均包含最小化、可复制粘贴的配置与验证指引。

设计考量

  • 故障域。 将状态同步与控制流量置于专用链路。除非确有必要,避免跨路由器桥接。

  • 配置一致性。 HA 对上保持 PF 与服务配置相同;仅设备特定的接口地址可不同。

  • 变更管理。 首次部署时使用原子 PF 重载与回滚定时器。保留一个故障安全锚点以维持管理访问。

  • 地址规划。 按 VLAN 分配确定性的 /24(IPv4)与 /64(IPv6),并与站点和角色结构化映射。

  • 可观测性。 启用 pflogd(8),并(可选)向收集器启用 pflow(4);用 ntpd(8) 保持时钟准确。


模式 1 — 冗余互联网边缘(双防火墙,双 ISP)

范围。 两台 OpenBSD 防火墙组成 HA;两条 WAN 上行(ISP-A 与 ISP-B);用 route-toreply-to 实现确定性的出站引导与对称入站。

拓扑与接口假定

  • em0 = ISP-A,em3 = ISP-B,em1 = LAN,em2 = SYNC

  • CARP VIP:WAN-A 198.51.100.2/29(vhid 10),WAN-B 203.0.113.2/29(vhid 20),LAN 10.10.10.1/24(vhid 30)

  • 节点 A 偏好(advskew 0),节点 B 备份(advskew 100)

系统与接口(节点 A;节点 B 上以 advskew 100 镜像)

PF 策略(两个节点)

验证(任一节点):


模式 2 — 园区/分支机构路由接入与本地服务

范围。 两台路由器用 CARP 提供 VLAN 网关,通过 rad(8) 通告 IPv6,并提供内部递归(Unbound)、权威区域(NSD)、DHCP 与任播解析器部署。

网关与 CARP(R1/R2)

假定 trunk em1,VLAN 10 用户 10.10.10.0/24,VLAN 20 服务器 10.20.20.0/24,VIP .1,路由器单播 .2(R1)/ .3(R2)。

在 R2 上以 .3advskew 100 镜像。

服务节点上的路由通告与 DNS

rad(8) 通告 /64;Unbound 提供递归;NSD 提供你的区域;DHCP 提供 IPv4。

任播解析器地址

从两台解析器发布 10.10.255.53/32,并在 R1/R2 上用 ECMP 路由。

验证:


模式 3 — 区域 PoP

常见两种选项:

A) 带 L3 VPN 的 MPLS LDP 核心

在核心链路上启用 MPLS,运行 ldpd(8),并通过 mpe(4) 接入客户 VRF。BGP VPN 策略在 OpenBGPD 中定义。

mpe0 将客户 VRF(rdomain 10)绑定到 MPLS:

通过 OpenBGPD VPN AFI/SAFI 通告客户前缀(bgpd.confvpn 段及到其他 PE 的 iBGP 参见 OpenBGPD 章节)。

验证:

B) 加密中心-分支(IKEv2)

小型 PoP 可用 iked(8) 将分支连接到区域中心。

PoP PF 骨架(两种选项):


验证

  • HA 边缘: ifconfig carp*pfctl -vvsrroute-to/reply-to 的计数器、tcpdump -ni pfsync0

  • 园区服务: drillunbound-control statusnsd-control statsdhcpd 租约、rad(8) 在正确 VLAN 上通告。

  • PoP: ldpctl show neighbors/libbgpctl show summary(适用时)、ikectl show sa/flows

  • 遥测: tcpdump -i pflog0pfctl -vvsr | grep logntpctl -s status

故障排查

  • 边缘非对称路径。 入站 NAT 的 WAN 规则缺失 reply-to 是最常见原因。按上行添加并清除受影响状态。

  • 状态失步。 核对 pfsync0syncdev 与 PF 放行。确保两节点运行相同规则集与 NAT 模型。

  • IPv6 客户端 SLAAC 失败。 确认 rad(8) 每个二层网段仅通告一个 /64、ICMPv6 已放行,且仅预期路由器发送 RA。

  • 任播黑洞。 从 ECMP 路由移除失效下一跳或自动化撤销;确保解析器确实绑定了任播地址。

  • PoP 标签缺口。 MPLS 须确认核心接口已启用 mpls 且出现在 ldpd.conf 中。加密分支须检查 UDP 500/4500 可达性与 PSK 一致。

  • 服务端口冲突。 权威(NSD)与递归(Unbound)须使用不同 IP 或端口;切勿将递归暴露到互联网。

参见

最后更新于