Skip to main content

One post tagged with "BIRD"

View All Tags

· 3 min read

DN42 是一个由社区维护的实验网络。参与者通过隧道互联,用 BGP 交换路由,并在 .dn42 域名空间内提供服务。它不是公网互联网,也不是商用 VPN,而是一个非常适合学习 BGP、路由策略、隧道、RPKI/ROA 和网络运维的实验环境。

本系列按照真实上线顺序组织:

1. 了解 DN42 社区和 registry2. 准备 ASN、地址段和 route/route6 对象3. 配置 Linux 转发、dummy 地址和防火墙4. 使用 WireGuard 与 peer 建立隧道5. 使用 BIRD2 建立 BGP 邻居并过滤路由6. 做日常运维、监控和 Looking Glass

示例信息#

后续文章统一使用下面这组示例。实际部署时请替换成你自己的信息。

ASN:        AS4242423777Router ID: 172.22.107.1IPv4 Host:  172.22.107.1/32IPv4 Net:   172.22.107.0/27IPv6 Host:  fd42:3777:3777::1/128IPv6 Net:   fd42:3777:3777::/48Loopback:   dn42WG IF:      wg-peer1WG LLA:     fe80::3777WG Port:    23777

示例 peer:

Peer ASN:       AS4242420001Peer endpoint:  peer.example.net:23777Peer WG pubkey: <PEER_PUBLIC_KEY>Peer WG LLA:    fe80::1

推荐阅读顺序#

  • 01-registry-and-peering.md:申请资源、理解社区规则、找 peer。
  • 02-linux-network-basics.md:配置 Linux 内核转发、dummy 接口、防火墙和 DNS。
  • 03-wireguard-for-dn42.md:用 WireGuard 建立 DN42 隧道。
  • 04-bird2-routing.md:用 BIRD2 建 BGP 邻居、过滤路由、导入内核。
  • 05-operations-and-looking-glass.md:排障、监控、ROA 更新、bird-lg-go。

上线心法#

DN42 配置最容易出错的地方不是某一条命令,而是概念边界混在一起:

  • WireGuard 负责隧道,不负责选择全网最佳路由。
  • BIRD 负责 BGP 和路由策略,不负责创建 WireGuard 隧道。
  • Linux kernel 负责实际转发,BIRD 学到路由后还需要正确安装进 kernel。
  • DN42 registry 负责声明资源归属,ROA/route 对象缺失会导致路由被过滤。
  • 防火墙负责边界控制,不应该用 iptables -P FORWARD ACCEPT 简单放开一切。

每一步都可以独立验证。新手不要一次性复制整套配置上线,应该按“隧道通、BGP 通、路由通、服务通”的顺序逐层排查。

主要参考资料#