什么是 Yggdrasil 网络以及怎样安装它

Yggdrasil 网络 是一个 IPv6 覆盖网络,旨在创建一个分散和加密的网状网络。 它通过将网络视为二叉树中的叶子来实现这一点。 作为一个覆盖网络,Yggdrasil 还用作一个虚拟专用网络 (VPN),允许其用户安全地相互交互。

此外,Yggdrasil 是免费的,相对容易设置,并且可用于各种平台。 这使得 Yggdrasil 对于有兴趣与他人建立安全、私密联系的人来说是一个强有力的选择。

内容

什么是网状网络和 Yggdrasil?

Yggdrasil 通过将网络表示为互连节点树来实现网状网络。 在这种情况下,这些节点可以充当其他节点的中继。 这使得 Yggdrasil 成为一个真正的网状网络。

此外,网络结构使 Yggdrasil 可以轻松找到您要访问的机器或网站。 反过来,这允许您与其他用户进行交互,而无需中央服务器为您路由流量。

为什么要使用 Yggdrasil?

Yggdrasil 的主要卖点是它改变了通过 Internet 路由数据的方式。 它通过假设有关所述网络的默认状态的一些事情来实现这一点:

  • 所有节点都连接到至少一个其他节点。
  • 每个节点都可以透明地将数据中继到另一个节点。
  • 每个节点都可以广播与其连接的节点。
Yggdrasil 网络 03 示例路由

这些假设创造了一个既刚性又可预测但又高度灵活的结构。 为了 example,您可以通过仅连接到一个公共节点来使您的机器公开访问。 然后,这个公共节点连接到其他节点。 从那里,其他用户可以与该节点对等连接以连接到您。

Yggdrasil Network 04 公私节点

不仅如此,Yggdrasil 还允许您创建本地机器的子网。 因此,如果您想创建 VPN,这非常有用。

怎样安装 Yggdrasil

如上所述,Yggdrasil 可用于许多平台和操作系统。 这包括大多数 Linux 发行版。

但是,Yggdrasil 并不总是在默认存储库中。 因此,某些发行版要求您在安装之前包含其源代码。

在 Debian 和 Ubuntu 中安装 Yggdrasil

为了 example, 如果你想在 Debian 和 Ubuntu 中安装 Yggdrasil,你必须先将他们的官方 GPG 密钥添加到 apt。 为此,请运行以下命令:

Yggdrasil 网络 05 导入 Gpg 密钥

从那里,您需要将存储库添加到 apt 在其包中查找的源列表中:

Yggdrasil 网络 06 Yggdrasil 资源

完成后,更新 apt 并安装程序。 通过运行这行代码来做到这一点:

Yggdrasil 网络 07 Apt 安装

安装 Yggdrasil Fedora

对比 Debian 和 Ubuntu,安装 Yggdrasil 的过程在 Fedora 很简单,因为它已经是 Fedora的“社区套餐”。

因此,安装程序就像运行命令一样简单:

在 Arch Linux 中安装 Yggdrasil

最后,在 Arch Linux 中安装 Yggdrasil 也非常简单。 喜欢 Fedora,它已经包含在 Arch 的社区资源库中。

因此,您可以通过 pacman 安装程序:

配置您的安装

完成后,设置 Yggdrasil 以连接到节点非常简单,您只需编辑“/etc/yggdrasil.conf”即可配置程序的行为。 要访问它,请使用 nano:

Yggdrasil 网络 10 样本会议

Yggdrasil 将在安装后创建此文件。 但是,如果没有,您可以运行此命令来创建一个新的配置文件:

连接到公共节点

正如我们上面所讨论的,有两种方法可以使用该程序:

  • 连接到公共节点以使您的机器可被发现。
  • 在虚拟专用网络中将一堆机器连接在一起。

对于第一个,通过编辑将公共节点的地址添加到“/etc/yggdrasil.conf”文件中 Peers: 块在该配置文件中。

这是配置中确定要连接到哪些节点的部分。 因此,此处列出的机器都应该可以从 Internet 上公开发现和连接。

考虑到这一点,请考虑以下事项 example:

peers 块是您要连接的所有节点的基本列表。

Yggdrasil 网络 15 个样本对等点

它可以使用 TLS 和 SOCKS 建立加密连接,也可以使用 TCP 建立未加密连接。 后者对于连接不支持 TLS 但具有基本网络连接的小型嵌入式设备很有用。

有了它,您可以通过复制一些节点链接来连接到公共 Yggdrasil 网络 由其社区提供.

完成后,您可以通过运行以下命令来启用该程序:

Yggdrasil 网络 11 Systemctl 活动

您可以通过访问来测试您是否已正确连接到网络 这个网页.

创建您自己的专用网络

另一方面,创建专用网络可能有点复杂,但仍然相对简单。 要创建一个私有的 Yggdrasil 网络,您将需要一些东西:

  • 可公开发现的机器。 这可能是没有被 CG-NAT 阻塞的本地机器,也可能是廉价的虚拟专用服务器。
  • 位于不同网络中的许多机器无法直接相互通信。

配置您的个人公共节点

要创建私有 Yggdrasil 网络,您需要首先允许您的公共机器连接到其他节点。 为此,请修改 Listen: 公共机器的“/etc/yggdrasil.conf”块。

为了 example,配置为采用公共连接的节点可能如下所示:

我们已将节点设置为从 IPv4 和 IPv6 获取端口 12345 中的任何传入连接。 此外,IPv4 连接包含在 TLS 中,而 IPv6 则包含在未加密的 TCP 中。

Yggdrasil Network 12 收听示例

从这里,启用并启动 Yggdrasil 服务以应用您的设置。 之后,连接到这个节点就像连接到公共节点一样。

地址发现和限制访问

默认情况下,您新创建的 Yggdrasil 节点将接受任何传入连接,前提是它们使用正确的端口。 要为您的机器创建真正私有的 VPN,您需要将它们添加到公钥白名单中。

Yggdrasil 节点通过广播 Yggdrasil 首次安装时生成的唯一公钥来工作。 此密钥用于保护您在网络中的安全并创建您的地址。

您可以通过运行以下命令检查您的 Yggdrasil 地址:

Yggdrasil 网络 13 示例 Getself

这将显示一个以“20x: …”开头的 IPv6 地址,它可用于通过 Yggdrasil 直接连接到该机器。

此外,该 getself 命令还将显示机器的公钥。 这是您在公共节点中创建允许的机器列表所需要的。

配置您的个人节点以限制访问

要限制对 Yggdrasil 节点的访问,您需要编辑 AllowedPublicKeys: 阻止您的公共节点的“/etc/yggdrasil.conf”。 只需添加您希望此节点接受的所有公钥。

为了 example,这是一个只接受三个公钥的节点的配置:

Yggdrasil 网络 14 示例公钥

完成后,您可以通过重新启动 Yggdrasil 服务来应用您的设置:

恭喜! 您现在已经基本了解了 Yggdrasil 网络的工作原理,以及怎样连接和配置专用网络的基本概念。

如果所有这些谈话让您对 Internet 的工作原理感到好奇,您可以查看这篇关于使用 tcpdump 捕获 TCP 数据包的文章。

经常问的问题

1. 我把我朋友的Yggdrasil地址添加到我的配置文件中,但无法连接到他。 我究竟做错了什么?

这可能是由于许多原因。 但是,此问题的最常见原因是:

  • 两台机器都位于 NAT 后面,因此无法相互建立直接连接。
  • Peers: 块和 Listen: “/etc/yggdrasil.conf”中的块配置不正确。

对于第一个原因,您需要确保至少有一台机器可以公开访问。 您还需要确保您使用的端口是正确的端口转发,并且可以从本地网络外部看到。

对于第二个原因,请确保 Peers:Listen: 块包含 真实的 IPv4 或 IPv6 地址 对等机器的地址,而不是它的 Yggdrasil 地址。

2. 我怎样知道我的机器是否正确地相互对等?

您可以通过运行以下命令轻松检查您的机器是否正确地相互对等:

这将向您显示所有当前连接的对等点以及它们在 Yggdrasil 网络树中的相对位置。

3. 是否可以创建一个强大的 Yggdrasil 密钥和地址?

是的! 您可以使用地址挖掘器来做到这一点。 这是一个简单的程序,它将暴力计算一个前面有一定数量零的公钥对。

最常见的程序是 简单的 Yggdrasil 发电机 (SYG),最新版本是用 C++ 编写的。

图片来源: 不飞溅

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅