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 通、路由通、服务通”的顺序逐层排查。