公网BGP与Bird的新手指南
0x00 前言
- 本文基于作者从2022年9月开始的公网ASN使用经验
- 建议准备配置公网BGP的用户可以先在DN42网络中练习和熟悉相关操作
- 本文主要面向使用虚拟机和Bird软件路由的场景,不涉及硬件路由器的BGP配置
- 阅读本文之前,需要对BGP协议以及公网BGP的运作方式有一定的了解
0x01 注册ASN
目前有两种主要的注册方式:
- 直接向RIR(地区互联网注册机构)申请
- 通过LIR(本地互联网注册机构)代理注册
在LowEndTalk论坛上有多家LIR提供ASN注册服务,可以根据需求选择合适的服务商。
不同地区的RIR注册要求各不相同:
- APNIC(亚太地区):对中国大陆用户较为友好,仅需身份证
- RIPE(欧洲地区):额外要求提供一个欧洲地区IP Transit服务商的账单和护照
- 其他RIR:也通常需要护照等证件
0x02 免费IP Transit资源
可以通过 http://bgp.services/ 查找海外IP Transit服务商,
其中包含多个免费服务提供商可供选择。
0x03 配置BIRD
推荐使用编译安装的方式部署BIRD,因为软件源中的版本可能较旧。
需要注意的是,某些BIRD版本存在已知问题,
例如2.0.7版本中的EXTENDED NEXT HOP
功能异常。
0x01 基础配置
BIRD的默认配置文件通常位于/etc/bird/bird.conf
,配置主要包含以下几个部分:
router id
:通常使用本机IPv4地址protocol kernel
:用于将路由表写入系统内核protocol static
:配置本机静态IP路由protocol bgp
:配置BGP会话参数
0x02 配置示例
以下是一个基础的BIRD配置文件示例:
1 | # 路由器ID配置 |
0x04 公网与DN42的主要区别
- 路由表规模:公网路由表数量庞大(IPv6约20万条,IPv4更多),而DN42仅有数千条路由。因此OSPF等协议在公网环境中并不适用
- 对等关系:公网中有明确的上下游和peer区分,DN42中则多为互相发送全表
- 路由通告:公网上游会向下游发送完整路由表,peer之间仅交换各自的路由
后面的区域,以后再来探索吧
0x05 一些额外说明
- 公网路由通告的最小前缀限制:IPv4为/24,IPv6为/48
- 黑洞路由可能不受上述前缀限制,具体取决于上游服务商的策略
- 路由过滤器的正确配置至关重要,本文仅展示了基础配置,实际使用时需要更严格的过滤规则
0x06 参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风间苏苏!
评论