参考架构
概述
本章汇总由前述组件构建的端到端参考设计,给出三种标准模式:
冗余互联网边缘,使用 carp(4)、pfsync(4)、pf.conf(5) 中的按上行 NAT 与策略路由,由 pfctl(8) 管理。
园区/分支机构路由接入,使用 VLAN SVI、rad(8) 的路由通告、unbound(8) 的内部递归、nsd(8) 的权威区域,以及 dhcpd(8) 的 DHCP。
每种模式均包含最小化、可复制粘贴的配置与验证指引。
设计考量
故障域。 将状态同步与控制流量置于专用链路。除非确有必要,避免跨路由器桥接。
配置一致性。 HA 对上保持 PF 与服务配置相同;仅设备特定的接口地址可不同。
变更管理。 首次部署时使用原子 PF 重载与回滚定时器。保留一个故障安全锚点以维持管理访问。
地址规划。 按 VLAN 分配确定性的 /24(IPv4)与 /64(IPv6),并与站点和角色结构化映射。
模式 1 — 冗余互联网边缘(双防火墙,双 ISP)
范围。 两台 OpenBSD 防火墙组成 HA;两条 WAN 上行(ISP-A 与 ISP-B);用 route-to 与 reply-to 实现确定性的出站引导与对称入站。
拓扑与接口假定
em0= ISP-A,em3= ISP-B,em1= LAN,em2= SYNCCARP VIP:WAN-A
198.51.100.2/29(vhid 10),WAN-B203.0.113.2/29(vhid 20),LAN10.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 上以 .3 与 advskew 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.conf 的 vpn 段及到其他 PE 的 iBGP 参见 OpenBGPD 章节)。
验证:
B) 加密中心-分支(IKEv2)
小型 PoP 可用 iked(8) 将分支连接到区域中心。
PoP PF 骨架(两种选项):
验证
HA 边缘:
ifconfig carp*、pfctl -vvsr中route-to/reply-to的计数器、tcpdump -ni pfsync0。园区服务:
drill、unbound-control status、nsd-control stats、dhcpd租约、rad(8)在正确 VLAN 上通告。PoP:
ldpctl show neighbors/lib、bgpctl show summary(适用时)、ikectl show sa/flows。遥测:
tcpdump -i pflog0、pfctl -vvsr | grep log、ntpctl -s status。
故障排查
边缘非对称路径。 入站 NAT 的 WAN 规则缺失
reply-to是最常见原因。按上行添加并清除受影响状态。状态失步。 核对
pfsync0的syncdev与 PF 放行。确保两节点运行相同规则集与 NAT 模型。IPv6 客户端 SLAAC 失败。 确认
rad(8)每个二层网段仅通告一个 /64、ICMPv6 已放行,且仅预期路由器发送 RA。任播黑洞。 从 ECMP 路由移除失效下一跳或自动化撤销;确保解析器确实绑定了任播地址。
PoP 标签缺口。 MPLS 须确认核心接口已启用
mpls且出现在ldpd.conf中。加密分支须检查 UDP 500/4500 可达性与 PSK 一致。服务端口冲突。 权威(NSD)与递归(Unbound)须使用不同 IP 或端口;切勿将递归暴露到互联网。
参见
相关:高可用与状态复制
相关:多 WAN 与策略路由
相关:大规模网络服务
相关:MPLS 与标签分发
最后更新于