Hacker News 中文摘要

RSS订阅

运行自有AS:在FreeBSD上使用FRR、GRE隧道与策略路由实现BGP -- Running Your Own As: BGP on FreeBSD with FRR, GRE Tunnels, and Policy Routing

文章摘要

文章介绍了如何在FreeBSD系统上使用FRR路由套件配置BGP协议,结合GRE隧道和策略路由技术来搭建自主的自治系统(AS)。内容涵盖网络配置、隧道建立和路由策略实施等关键技术要点,适合网络管理员和高级用户参考。

文章总结

自主运行AS:基于FreeBSD、FRR、GRE隧道和策略路由的BGP实践

核心内容概述

本文详细介绍了如何在FreeBSD系统上搭建自主自治系统(AS),通过FRR路由套件实现BGP协议,结合GRE/GIF隧道技术分发IPv6前缀,并利用策略路由解决多地址空间共存问题。

关键步骤与技术亮点

  1. 资源获取
  • 通过赞助LIR从RIPE NCC获得AS编号(AS201379)和IPv6地址段(2a06:9801:1c::/48)
  • 建立RPKI ROAs实现前缀与AS的加密绑定
  1. 架构设计 [互联网核心] │ ├─ (AS34927) GRE隧道 └─ (AS209735) 直连对等 │ [BGP路由器(FreeBSD+FRR)] │ ┌───────┴───────┐ [VPS服务器] [数据中心网关]
  • 路由器通过双上游实现冗余
  • 使用GRE/GIF隧道向下游分发/64子网
  1. BGP路由器配置
  • FRR配置包含:
    • 严格的bogon过滤器(拒绝非法路由)
    • 基于AS路径预置的流量工程
    • TTL安全机制防范远程攻击
  • PF防火墙实现:
    • 控制平面严格限制(SSH/BGP仅允许可信IP)
    • 数据平面开放转发
    • MSS clamping解决隧道MTU问题
  1. 创新性策略路由方案
  • 下游VPS采用双FIB实现双栈共存:
    • FIB 0:默认路由(运营商地址)
    • FIB 1:隧道路由(BGP地址)
  • 通过PF的rtablereply-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规范等资源为实施提供了完整支持。

评论总结

评论内容总结:

  1. 标题格式问题

    • 指出标题中"AS"应大写
    • 引用:"Not to nitpick, but the title should have AS capitalized. It’s confusing with the current capitalization."
  2. 获取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"
  3. 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"
  4. 技术实现方案

    • 使用WireGuard和BIRD实现简化版方案
    • 推荐DN42作为实验平台
    • 引用:
      "using WireGuard for tunneling...running bird on my VPS"
      "check out DN42...great way to explore routing technologies"
  5. 技术细节讨论

    • 隧道MTU问题难以避免
    • 禁用offload功能的原因未说明
    • 引用:
      "MTU issues are so annoying to deal with"
      "Why disable all offloading? It's not explained"
  6. 小众ISP服务

    • 对面向AS爱好者的专业ISP服务表示好奇
    • 引用:"I am always very curious why these operations exist"