跳转至内容

Yggdrasil

来自 ArchWiki

Yggdrasil 是一个处于早期实现阶段的全端到端加密 IPv6 网络。它轻量、自组织,支持多个平台,并允许几乎任何支持 IPv6 的应用程序与其他 Yggdrasil 节点进行安全通信。

本文介绍了如何设置和使用 Yggdrasil。

安装

安装 yggdrasil 软件包。

运行

启动/启用 yggdrasil.service

这将创建一个 tun 网络接口并提供两个新的 IPv6 网络接口。其中重要的一个以 200: 开头,这将是您的机器在 Yggdrasil 网络中的标识。该 IP 地址使用了 IPv6 标准的保留部分,从而避免了与广域互联网的任何冲突。

要测试其是否工作,您可以运行

# yggdrasilctl getself

配置

您可以通过运行 yggdrasil-default-config.service 来创建默认配置文件 /etc/yggdrasil.conf;此外,在首次运行 yggdrasil.service 时,该文件也会被创建并使用。默认情况下,您的 Yggdrasil 实例没有任何对等节点 (peers),因此您运行的是一个独立服务。通过编辑使用 JSON 格式的 /etc/yggdrasil.conf 文件,您可以添加对等节点,在重启服务后,您的节点既能访问广域网络,其他用户也能找到您的节点。

提示 在与广域网络建立对等连接之前,您可能希望启用本地防火墙,因为一旦连接,您的机器及其所有服务都将可以从外部访问。

关于配置的更多详细信息,请参阅 上游文档

要与广域网络建立对等连接,请从 public-peers 文档开始。

本地防火墙

在当今的网络实践中,常见的 Linux 安装不会直接暴露在互联网上。通常只有服务器才拥有公网 IP 地址。因此,我们的 ssh 或类似服务不会受到任何人的攻击。

重要的是要意识到,运行 Yggdrasil 并将其连接到广域 Yggdrasil 网络会改变这一点。监听所有网络连接的服务将变得可以被任何连接到此网络的人访问。您可能需要将这些服务配置为不监听 Yggdrasil 网络,或者通过几条 防火墙 规则快速隐藏运行中的服务。

/etc/iptables/ip6tables.rules
#yggdrasil
*filter
:INPUT ACCEPT [8:757]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:463]
-A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i tun0 -m conntrack --ctstate INVALID -j DROP
-A INPUT -i tun0 -j DROP
COMMIT

启动/启用 ip6tables.service 以使上述设置生效。

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.