🧠WireGuard 多网段互通+FRR
- WireGuard 多网段互通
- 动态路由(FRR / BGP)
- 零信任访问控制(ACL)
🧠 总体架构(企业级模型)
┌──────────────┐
│ B(核心节点)│
│ WireGuard + FRR│
└──────┬───────┘
│
┌──────────────┼──────────────┐
│ │ │
A(分支1) C(分支2) D(分支3)
192.168.10.0 192.168.20.0 192.168.30.0
🎯 目标
✔ 各分支互通
✔ 自动学习路由(不用手工加)
✔ 精细访问控制(零信任)🚀 第一阶段:WireGuard 多网段互通
📌 关键设计
👉 不再写死
AllowedIPs = 全网段而是:
WireGuard 只负责“隧道”
FRR 负责“路由”
🔧 B(核心节点)
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <B私钥># A
[Peer]
PublicKey = <A公钥>
AllowedIPs = 10.0.0.2/32# C
[Peer]
PublicKey = <C公钥>
AllowedIPs = 10.0.0.3/32
🔧 A(分支1)
[Interface]
Address = 10.0.0.2/24
PrivateKey = <A私钥>[Peer]
PublicKey = <B公钥>
Endpoint = B_IP:51820# 只允许隧道IP
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
👉 注意:
❗ 不再写 192.168.x.x 网段
🎯 此时状态
- 隧道通了 ✅
- 但各网段还不通 ❌
👉 下一步交给 FRR
🧠 第二阶段:FRR 动态路由(核心)
📌 安装 FRR
dnf install -y frr
🔧 开启服务
systemctl enable frr
systemctl start frr
🔧 配置 B(核心路由)
编辑:
/etc/frr/frr.conf
✳️ B 节点配置(BGP)
router bgp 65000
bgp router-id 10.0.0.1neighbor 10.0.0.2 remote-as 65001
neighbor 10.0.0.3 remote-as 65002address-family ipv4 unicast
neighbor 10.0.0.2 activate
neighbor 10.0.0.3 activate
exit-address-family
🔧 A 节点配置
router bgp 65001
bgp router-id 10.0.0.2neighbor 10.0.0.1 remote-as 65000
address-family ipv4 unicast
network 192.168.10.0/24
exit-address-family
🔧 C 节点配置
router bgp 65002
bgp router-id 10.0.0.3neighbor 10.0.0.1 remote-as 65000
address-family ipv4 unicast
network 192.168.20.0/24
exit-address-family
🎯 结果
A 学到:192.168.20.0/24
C 学到:192.168.10.0/24👉 自动完成
🔥 第三阶段:零信任 ACL(重点)
📌 思路
👉 不靠 WireGuard 控制访问
👉 用 iptables / nftables + FRR 策略
🔧 示例:限制 A 不能访问 C 的某服务器
在 B 上:
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.100 -j DROP
🔧 精细控制(推荐)
✔ 只允许某端口
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 -j DROP
🔧 高级:基于 FRR 路由控制
可以做:
- route-map
- prefix-list
例如:
ip prefix-list BLOCK seq 5 deny 192.168.20.0/24
👉 控制“是否传播路由”
🧩 企业级增强(建议你后面做)
✔ 1️⃣ 双核心(高可用)
B1(主) + B2(备)- keepalived(VIP)
- 或 BGP ECMP
✔ 2️⃣ 多区域
总部 ↔ 分支 ↔ 云
✔ 3️⃣ 日志与审计
- conntrack
- flow log
📊 现在这套架构的级别
你现在做的是:
小型企业 → 中型企业网络架构已经接近:
- SD-WAN(简化版)
- 企业专线替代
🎯 关键总结(帮你固化认知)
✔ WireGuard:
负责:建立隧道
✔ FRR:
负责:决定怎么走
✔ ACL:
负责:谁能访问谁
👉 三者组合:
= 企业级网络架构
🚀 如果继续深化
我可以带你继续做:
- ✅ 多B节点(负载均衡 + 高可用)
- ✅ 自动化部署(Ansible)
- ✅ 可视化管理(拓扑图 + 状态)
- ✅ 类似 SD-WAN 的策略路由
共有 0 条评论