文章摘要
文章介绍了如何在FreeBSD系统上使用FRR路由套件配置BGP协议,结合GRE隧道和策略路由技术来搭建自主的自治系统(AS)。内容涵盖网络配置、隧道建立和路由策略实施等关键技术要点,适合网络管理员和高级用户参考。
文章总结
自主运行AS:基于FreeBSD、FRR、GRE隧道和策略路由的BGP实践
核心内容概述
本文详细介绍了如何在FreeBSD系统上搭建自主自治系统(AS),通过FRR路由套件实现BGP协议,结合GRE/GIF隧道技术分发IPv6前缀,并利用策略路由解决多地址空间共存问题。
关键步骤与技术亮点
- 资源获取
- 通过赞助LIR从RIPE NCC获得AS编号(AS201379)和IPv6地址段(2a06:9801:1c::/48)
- 建立RPKI ROAs实现前缀与AS的加密绑定
- 架构设计
[互联网核心] │ ├─ (AS34927) GRE隧道 └─ (AS209735) 直连对等 │ [BGP路由器(FreeBSD+FRR)] │ ┌───────┴───────┐ [VPS服务器] [数据中心网关]
- 路由器通过双上游实现冗余
- 使用GRE/GIF隧道向下游分发/64子网
- BGP路由器配置
- FRR配置包含:
- 严格的bogon过滤器(拒绝非法路由)
- 基于AS路径预置的流量工程
- TTL安全机制防范远程攻击
- PF防火墙实现:
- 控制平面严格限制(SSH/BGP仅允许可信IP)
- 数据平面开放转发
- MSS clamping解决隧道MTU问题
- 创新性策略路由方案
- 下游VPS采用双FIB实现双栈共存:
- FIB 0:默认路由(运营商地址)
- FIB 1:隧道路由(BGP地址)
- 通过PF的
rtable和reply-to指令实现:shell # BGP地址流量强制使用FIB1 pass in quick on bastille0 inet6 from $bgp_net to any rtable 1
实践价值
- 地址独立性:迁移服务器无需更改配置
- 流量工程能力:通过BGP属性调控流量路径
- 教育意义:深入理解互联网路由本质
经验总结
- 隧道MTU必须配置MSS clamping
- 多FIB比传统源路由更清晰可靠
- 即使小型网络也需要严格bogon过滤
- 双上游提供必要冗余
延伸思考
作者指出,这种方案虽然对个人博客可能"过度",但提供了地址可移植性和网络洞察力。当看到自己的ASN出现在traceroute结果中时,这种参与全球路由体系的体验具有独特魅力。
技术参考:FRR文档、FreeBSD手册、RFC 5082(GTSM)、RPKI规范等资源为实施提供了完整支持。
评论总结
评论内容总结:
标题格式问题
- 指出标题中"AS"应大写
- 引用:"Not to nitpick, but the title should have AS capitalized. It’s confusing with the current capitalization."
获取IP地址的成本与复杂性
- IPv4 C类地址约1万美元,还需支付RIPE年费
- IPv6对个人用户仍不友好,需要大量使用证明
- 引用:
"an IPv4 C-class costs around $10,000...pay the LIR annual fee"
"you need to be a multihomed individual with tons of usage"
RIPE与ARIN费用比较
- RIPE基础费用是ARIN的2-3倍,对个人和小机构不利
- 引用:
"basic fees at RIPE are 2-3x the fees at ARIN"
"Enthusiasts, trainees and small orgs are paying a lot more"
技术实现方案
- 使用WireGuard和BIRD实现简化版方案
- 推荐DN42作为实验平台
- 引用:
"using WireGuard for tunneling...running bird on my VPS"
"check out DN42...great way to explore routing technologies"
技术细节讨论
- 隧道MTU问题难以避免
- 禁用offload功能的原因未说明
- 引用:
"MTU issues are so annoying to deal with"
"Why disable all offloading? It's not explained"
小众ISP服务
- 对面向AS爱好者的专业ISP服务表示好奇
- 引用:"I am always very curious why these operations exist"