Yggdrasil
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 实例没有任何节点,因此您运行的是一个独立的服务器。编辑使用 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 以使更改生效。
参见
- 上游文档
- Yggdrasil 服务
- Yggdrasil 网络用户维基 / yggdrasil 网络 链接
- Alfis - Yggdrasil 中的 DNS