使用 Tinc 构建轻量级 P2P 网状 VPN 的分步指南

使用 Tinc 构建轻量级 P2P 网状 VPN 的分步指南

Tinc 是一款出色的开源虚拟专用网络 (VPN) 适配器,它提供了一种在 Linux、Windows 和 macOS 平台上建立私有对等 (P2P) 网状网络的无缝方法。它的架构允许它将跨不同网络拓扑的多个设备统一到一个有凝聚力的虚拟 LAN 中。本指南不仅将重点介绍使用 Tinc 的优势,还将为您提供使用 Tinc 安装和创建基本网状网络的详细步骤。

为什么选择 Tinc 而不是 Wireguard 和 OpenVPN?

Tinc的主要优势之一是其固有的网状网络设计。与 Wireguard 不同,Tinc 可以根据不断变化的网络条件进行动态调整,从而增强弹性,尤其是对于连接较弱的设备。

在 Ubuntu 上对 Tinc 性能的终端测量。

Tinc 包含全面的功能集,类似于您对传统 VPN 服务(例如 OpenVPN)的期望。它有助于 NAT 遍历、建立加密隧道并轻松连接基于 LAN 的应用程序。

终端显示 Debian 中的 Tinc 的 ping 性能。

此外,Tinc 强调 P2P 连接优化,无论是通过自动对等发现还是通过与可公开访问的 Tinc 服务器协调,确保连接保持快速和可靠。

在 Linux 上逐步安装 Tinc

在安装 Tinc 之前,首先确保您的 Linux 系统是最新的。在 Ubuntu 中,运行:

接下来,直接从 Ubuntu 的软件包存储库安装 Tinc:

终端显示 Ubuntu 中的 Tinc 包安装过程。

对于在其他 Linux 发行版上安装,请使用相应的包管理器。例如,在 Fedora 上,执行:

终端演示 Fedora Linux 中的 Tinc 安装。

要验证 Tinc 的安装,请在终端中输入以下命令:

终端显示 Ubuntu 上当前的 Tinc 版本。

使用 Tinc 设置您的第一个网状网络

安装 Tinc 后,是时候配置您的初始网状网络了。在“/etc/tinc”中创建一个新目录来存储 Tinc 节点所需的文件:

使用您喜欢的文本编辑器生成配置文件:

将以下配置行插入到新文件中:

终端显示 Ubuntu 中 Tinc 安装的配置文件。

要找到必要的 tun 设备,请运行:

为您的 Tinc 节点创建一个主机文件:

粘贴以下配置,确保将“YOUR-MACHINE-IP-ADDRESS-HERE”替换为您实际机器的 IP:

通过运行以下命令检索您机器的 IP:

终端突出显示 Ubuntu 机器的私有 IP 地址。

保存hosts文件,然后在“/etc/tinc/mynetwork”下创建两个附加文件:

编辑“tinc-up”文件并插入以下脚本以创建虚拟接口并为其分配 IP:

保存此文件,然后继续“tinc-down”文件:

终端显示 Ubuntu 中 tinc-down 脚本的内容。

现在,为您的 Tinc 节点生成一个密钥对:

Enter两次即可接受密钥的默认保存位置。

终端显示 Ubuntu 中 Tinc 的密钥对生成过程。

添加您的第一个 Tinc 客户端

要整合新的 Tinc 客户端,请确保第二台机器上安装了 Tinc。首先验证您的 Tinc 版本:

终端显示 Debian 上的 Tinc 版本。

接下来建立Tinc的配置目录结构:

终端显示客户端 Tinc 配置的目录结构。

编辑并创建此Tinc客户端的配置文件:

插入以下配置行:

为该客户端创建相应的主机文件:

将以下配置块粘贴到这个新文件中:

保存此文件后,创建“tinc-up”和“tinc-down”脚本:

终端显示第二台 Tinc 机器中 tinc-up 和 tinc-down 脚本的正确权限位。

编辑“tinc-up”文件,添加以下代码:

然后保存并修改“tinc-down”文件:

通过生成密钥对来完成 Tinc 客户端设置:

终端显示第二台 Tinc 机器上的密钥对生成过程。

运行你的 Tinc 网状网络

此时,两个 Tinc 守护程序都已正确配置。但是,要建立 P2P VPN,您需要将它们链接起来。首先在主机和客户端计算机之间传输主机配置文件。

在主节点上打开终端并转到“/etc/tinc/mynetwork/hosts”目录:

将节点的配置文件传输到客户端:

终端显示 Tinc 客户端配置从一个系统转移到另一个系统。

在客户端机器上,将收到的 hosts 文件放在其相应的目录中:

现在,在客户端上再次运行 scp,将客户端的 hosts 文件发送回节点:

终端显示传输客户端 Tinc 配置文件的输入。

最后,将客户端的hosts文件复制到节点的hosts目录中:

启动 Tinc 网状网络

通过执行以下命令在两台主机上启动 Tinc 网络:

使用 ping 命令测试节点之间的通信:

终端显示 Ubuntu 上的 Tinc VPN 的延迟。

通过启用服务确保 Tinc 随您的系统自动启动:

终端显示启动时启用 Tinc 进程的命令。

使用 Tinc 掌握 Linux 中 P2P 网状 VPN 的设置是深入探索网络技术领域的途径。要全面了解 VPN 所涉及的复杂性,请深入研究我们的广泛概述。

图片来源:Growtika via Unsplash。所有修改和截图均由 Ramces Red 提供。

更多见解

1. 与传统 VPN 相比,使用 Tinc 的主要优势是什么?

Tinc 独特的网状架构使其能够比 OpenVPN 和 Wireguard 等传统 VPN 更好地适应不断变化的网络条件,提供更强大的连接选项和更快的响应时间。

2. Tinc 可以在所有操作系统上使用吗?

是的,Tinc 支持 Linux、Windows 和 macOS,使其成为在不同环境中建立安全 P2P VPN 网络的多功能解决方案。

3. 如何解决 Tinc 的常见连接问题?

首先检查配置文件是否存在语法错误,确保防火墙没有阻止 Tinc 流量,并使用日志记录功能来识别连接链中可能存在问题的位置。

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注