DN42网络入坑指南
本文最后更新于 2026年4月15日 中午
DN42网络入坑指南
DN42是什么
DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型、去中心化的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 本身不提供 VPN 出口服务,即不提供规避网络审查、流媒体解锁等类似服务。相反,DN42 的目的是模拟一个互联网。它使用了大量在目前互联网骨干上应用的技术(例如 BGP 和递归 DNS),可以很好地模拟一个真实的网络环境。
简而言之,DN42:
不适合单纯想要保护隐私、规避网络审查的用户
不适合在网内消耗大量流量,例如用于解锁流媒体服务的用户
适合想要研究网络技术,练习服务器、路由器等网络设备配置,甚至后续在真实互联网建立 AS 的用户
适合拥有真实 AS,但担心自己配置错误广播出错误路由、干掉半个互联网,希望有个地方测试的用户。
正因为此,使用 DN42 的门槛比较高。就像在真实互联网中一样,你要扮演一个 ISP(互联网服务提供商),注册自己的个人信息,ASN 号码,IPv4 和 IPv6 的地址池,并且使用 BGP 在自己的服务器上广播它们。你还要和其它的用户联系,和他们做 Peering(对接),一步步进入完整的 DN42 网络。DN42 在 172.20.0.0/14 和 fd00::/8 上运行,而这两个 IP 段都是分配给内网使用的。换句话说,你在 DN42 上怎么折腾,都不会影响到服务器其它的互联网连接。
准备
加入DN42网络需要您有以下的相关能力:
- 一个长期在线的Linux机器(电脑,服务器、ECS云服务器、VPS、NAS甚至路由器(OpenWrt)都行)
- 使用Linux的能力,常用命令,会使用至少一个编辑器(图形化的 gedit、vscode,或者命令行的 vim、nano 都可以)
- 会用Git(会Clone,Pull,Push,Commit就行)
- 了解网络知识(知道IP、MAC是啥,知道交换机和路由器都是干啥的,会ping/traceroute)
- 能看懂英文(会用翻译软也行)
- 有耐心
如果您不具备上述能力,您可能在配置过程中出现问题,给DN42中的其他用户带来麻烦。
注册流程
DN42 的 Gitea 地址为 https://git.dn42.dev
按照平常你在其他网站注册的思路,在 DN42 的 Gitea 注册一个账号,很简单
然后,从 DN42 主仓库 Fork 一份到自己的账号上,比如:
https://git.dn42.dev/YourUserName/registry
这一步到这里就差不多了!
生成 GPG 密钥
1 | |
真实姓名(用户名)和电子邮件地址使用 DN42 GIT 上的注册信息,其他保持默认。
填写后会要求设定 GPG 密钥的验证密码。
1 | |
我们记第一行中的 03E84B5D8BC9255E 为 GPG 密钥 ID,第二行的字符串为 GPG 密钥指纹。
贴下面的文本(替换为您要使用的 GPG 密钥 ID)。 在本例中,GPG 密钥 ID 为 3AA5C34371567BD2:
1 | |
复制以 —–BEGIN PGP PUBLIC KEY BLOCK—– 开头并以 —–END PGP PUBLIC KEY BLOCK—– 结尾的 GPG 密钥。
并在 DN42 Gitea Setting 导入自己的 PGP 密钥
PS: 注意是 管理 GPG 密钥 不是 管理 SSH 密钥
你还需要将你的 GPG 公钥上传到公共查询服务器,称为 Keyserver。
1 | |
添加 SSH KEY
这一步和其他的 Git 服务都差不多,在本地生成好公钥与密钥并直接导入 DN42 Gitea Setting 即可
1 | |
一路回车
随后,在 ~/.ssh/id_[加密].pub 储存着你的公钥,将其导入 DN42 Gitea Setting
1 | |
PS: 注意是 管理 SSH 密钥 不是 管理 GPG 密钥
将 Fork 的仓库 Clone 到本地
将你刚才 Fork 的仓库 Clone 到本地,比如我的 Clone 链接就是 git@git.dn42.dev:GenshinMinecraft/registry.git
1 | |
填写注册文件
注意:
以下所有操作需在克隆下来的 Git 仓库(文件夹)registry 内进行。
文件中每一项的值都应该从第 20 列开始填写。
文件中所有空白分隔处应使用空格填充而非 tab。
详细内容参考
https://lantian.pub/article/modify-website/dn42-experimental-network-2020.lantian/
提交
1 | |
如出现错误,须按照提示进行修改。
1 | |
其中,./squash-my-commits 的作用为合并 Commits,因为 DN42 要求必须在同一个 Commit 内完成所有的操作
git commit -S 中的 -S 代表使用 PGP 签名该 Commit,提供安全性验证
随后,回到 DN42 Gitea,在官方仓库 PR 界面创建一个 PR 提交
合并到 不需要更改,拉取从 选择你自己的仓库,然后点击 创建合并请求
在 PR 界面中随便写点啥,记住要用英文写。
之后耐心等待人工审核,在这期间好好睡上一觉,醒来后 PR 就会被合并啦。(或者被要求修改错误。)
在您的PR被合并之后,您就拥有了自己的AS和地址块,接下来就可以去找人Peer了
未完待续…
参考
https://lantian.pub/article/modify-website/dn42-experimental-network-2020.lantian/
https://www.nodeseek.com/post-67786-1
https://blog.naivetomcat.cn/pages/9882a3/