米露小窝
放弃个性,就和死了没什么区别
米露小窝

萌新入坑 DN42 之 —— 多服务器互联

warning 小白警告
本人是 BGP 纯小白,对于 BGP 为刚入门状态,本文为本小白的记录文,文章内有任何的 笔误/错误/小白理解 请大佬勿喷,如果能指正出来那就更好啦

warning 再次警告
如果您能接受的话,可以继续看下去,如果不能接受,建议现在就关闭此文章

前言

为了学习一些网络知识(其实是因为最近没什么事情做并且早就计划入坑了),所以我入坑了 DN42 (

DN42 是什么?

dn42 是一个大型的动态 VPN,它采用了互联网技术(BGP、whois 数据库、DNS 等)。参与者使用网络隧道(GREOpenVPNWireGuardTincIPsec)相互连接,并通过边界网关协议交换路由。网络地址在 172.20.0.0/14 范围内分配,并使用私有 AS 编号(参见 registry)以及来自 ULA 范围 (fd00::/8) 的 IPv6 地址

—— 来自 dn42wiki

你可以在 DN42 里面干什么?

  • Do whatever is fun and interesting for you
    做任何对你来说有趣和有趣的事情
—— burble

准备工作

本文主要记录多服务器互联,并不详细记录 dn42 接入过程,如果需要了解 dn42 的接入过程推荐观看 lantian 前辈的这篇文章

你需要准备的东西

  • 几台已经准备好 bird 的服务器
  • 一台已经接入 dn42 的服务器

由于本人是纯小白,怕配置不好 Babel、OSPF 炸掉整个 dn42 所以选择使用 ZeroTier One 这种 Full-Mesh VPN 进行内部组网,本文主要介绍使用 ZeroTier One 进行服务器的内部组网

开始搭建

互联服务器

因为本人互联的服务器的一些地区原因,使用打算自建 planet 服务器

为了方便,使用了 Github 的这个项目

参考这个项目的 README 文档,应该很快就能搭建并且给每个节点部署好 ZeroTier One 节点端了

记得在创建网络的时候把 ip 范围改成你申请到的段的范围(记得v6的也要!!

https://upy.milu.ink/2024/11/20241108124109692.png!/format/webp/lossless/true

然后打开 Routes,将 ip 的网关设置好

https://upy.milu.ink/2024/11/20241108124503698-1024x622.png!/format/webp/lossless/true

然后你可以把已经提前在 peer 定好 ip 的服务器改成指定的 ip

这时候连上你的服务器,ping 一下 web 上分配给其他服务器的 ip,应该可以 ping 通了

IBGP

现在你的服务器只是互联了,但是你并没有宣告外部这个服务器能互联到你 AS 内的其他服务器,所以你需要创建 IBGP 来宣告

由于本人是小白,本文只讲述最简单的服务器两两之间建立 BGP 连接的方式,如果您需要更高级 / 更方便的方式,可以查阅这里

在 bird.conf 中添加以下内容

template bgp milu_internal {
  local as OWNAS;
  path metric 1;
  direct;
  enable extended messages on;
  ipv4 {
    next hop self yes;
    #这里最好不要 all,建议学习了 bird 语法之后自己写 filter ,但是本文由于简单就不在这里说明了
    import all;
    export all;
  };
  ipv6 {
    #这里最好不要 all,建议学习了 bird 语法之后自己写 filter ,但是本文由于简单就不在这里说明了
    next hop self yes;
    import all;
    export all;
  };
};

protocol bgp mlnet_other_server from milu_internal {
  NEIGHBOR_IP 是其他互联服务器的ip
  neighbor NEIGHBOR_IP as OWNAS;
};

protocol bgp mlnet_other_server from milu_internal {
  NEIGHBOR_IP 是其他互联服务器的ip
  neighbor NEIGHBOR_IP as OWNAS;
};

// 以此类推
Bash

然后您需要将此配置文件添加到每个服务器

然后输入 birdc c,重载配置,等待几分钟应该就可以在外部 ping 到你内部了(如果你已经有服务器和别人 peer 的话

https://upy.milu.ink/2024/11/20241108131730310-1024x266.png!/format/webp/lossless/true

(顺便说一句,如果您想和我 peer 的话请看这里

参考文章

感谢以下文章对本小白踏入 DN42 提供了巨大的帮助!

DN42 实验网络介绍及注册教程(2022-12 更新)

BIRD 与 BGP 的新手开场

Multiple servers on dn42: iBGP and IGPs

赞赏
萌新入坑 DN42 之 —— 多服务器互联》依据“CC BY-NC-SA 4.0”许可证进行授权。转载的时候请附上米露的链接,最好请勿用于商业目的 qaq
# # # # #
首页      技术      萌新入坑 DN42 之 —— 多服务器互联

MxmiluBOB

文章作者

发表回复

textsms
account_circle
email

米露小窝

萌新入坑 DN42 之 —— 多服务器互联
warning 小白警告本人是 BGP 纯小白,对于 BGP 为刚入门状态,本文为本小白的记录文,文章内有任何的 笔误/错误/小白理解 请大佬勿喷,如果能指正出来那就更好啦 warning 再次警告如果…
扫描二维码继续阅读
2024-11-08