如何在Linux上安装和配置tinc VPN如何在Linux上安装和配置tinc VPN如何在Linux上安装和配置tinc VPN如何在Linux上安装和配置tinc VPN
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在Linux上安装和配置tinc VPN

tinc 是一款开源 VPN 软件,具有许多其他 VPN 解决方案所没有的强大功能。例如,tinc VPN 允许 NAT 后面的对等方直接通过 VPN 相互通信,而不是通过第三方服务器。这使得 tinc 成为一种点对点 VPN 解决方案。其他功能包括完整的 IPv6 支持和路径 MTU 发现。

在这个 tinc 示例中,我将向您展示如何通过 tinc 在两个主机之间建立 VPN 连接。我们分别将这些主机称为 alice 和 bob。请注意,这些只是 tinc 使用的符号名称,不一定是主机名。在此示例中,我假设主机 bob 将启动与主机 alice 的 VPN 连接。

在 Linux 上安装 tinc

首先,在两台主机上安装 tinc。

对于CentOS系统,首先设置RepoForge存储库,然后执行以下操作。


$ sudo yum install tinc -y

对于 Debian/Ubuntu 系统:


$ sudo apt-get install tinc

配置tinc

现在,让我们继续在两台主机上配置 tinc VPN,如下所示。

在主机 alice 上,执行以下操作。


$ sudo mkdir -p /etc/tinc/myvpn/hosts

然后创建一个名为 tinc.conf 的 tinc 配置文件和主机配置文件,如下所示。


$ sudo vi /etc/tinc/myvpn/tinc.conf

Name = alice
AddressFamily = ipv4
Interface = tun0

在上面的示例中,/etc/tinc 下的目录 myvpn 是 alice 和 bob 之间要建立的 VPN 网络的名称。 VPN 名称可以是任何字母数字名称,不包含 -。在 tinc.conf 中,Name 字段指示 tinc 运行的本地主机的名称,该名称不必是实际的主机名。您可以选择任何通用名称。

接下来,创建包含主机特定信息的主机配置文件。


$ sudo vi /etc/tinc/myvpn/hosts/alice

Address = 1.2.3.4
Subnet = 10.0.0.1/32

主机配置文件的名称(例如alice)应与您在tinc.conf中定义的名称相同。 Address字段指示与alice关联的全局可路由公共IP地址。给定 VPN 网络中至少一台主机需要此字段,以便其他主机可以向其发起 VPN 连接。在此示例中,alice 将充当引导服务器,因此具有公共 IP 地址(例如 1.2.3.4)。 Subnet 字段指示要分配给 alice 的 VPN IP 地址。

下一步是生成公钥/私钥。


$ sudo tincd -n myvpn -K4096

上述命令将为主机 alice 生成 4096 位公钥/私钥。私钥将存储为/etc/tinc/myvpn/rsa_key.priv,公钥将附加到/etc/tinc/myvpn/hosts/alice。

接下来,配置将在 tinc 守护进程启动之后以及在 tanc 守护进程终止之前运行的脚本。


$ sudo vi /etc/tinc/myvpn/tinc-up

#!/bin/sh
ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0

$ sudo vi /etc/tinc/myvpn/tinc-down

#!/bin/sh
ifconfig $INTERFACE down

$ sudo chmod 755 /etc/tinc/myvpn/tinc-*

现在主机alice的tinc配置已经完成。与alice类似,在主机bob上配置tinc,如下所示。


$ sudo mkdir -p /etc/tinc/myvpn
$ sudo vi /etc/tinc/myvpn/tinc.conf

Name = bob
AddressFamily = ipv4
Interface = tun0
ConnectTo = alice

在上面,请注意,与主机 alice 不同,我将 ConnectTo 字段放置在 bob 的 tinc 配置中,因为当主机 bob 上的 tinc 守护进程启动时,主机 bob 将启动到主机 alice 的 VPN 连接。


$ sudo vi /etc/tinc/myvpn/hosts/bob

Subnet = 10.0.0.2/32

$ sudo tincd -n myvpn -K4096

同样,bob 的私钥将存储为 /etc/tinc/myvpn/rsa_key.priv,其公钥将添加到 /etc/tinc/myvpn/hosts/bob 中。


$ sudo vi /etc/tinc/myvpn/tinc-up

ifconfig $INTERFACE 10.0.0.2 netmask 255.255.255.0

$ sudo vi /etc/tinc/myvpn/tinc-down

ifconfig $INTERFACE down

$ sudo chmod 755 /etc/tinc/myvpn/tinc-*

如上所述在所有主机上完成 tinc 配置后,将每个主机的公钥文件复制到其他主机上:

在主机 alice 上:


$ scp /etc/tinc/myvpn/hosts/alice [email :/etc/tinc/myvpn/hosts/

在主机 bob 上:


$ scp /etc/tinc/myvpn/hosts/bob [email :/etc/tinc/myvpn/hosts/

最后,按如下方式启动它们的 tinc 守护进程。由于主机 bob 发起 VPN 连接,因此您需要首先在主机 alice 上启动 tinc 守护程序,然后在主机 bob 上启动。


$ sudo tincd -n myvpn

两台主机现在应该能够通过分配给它们的 VPN IP 地址相互通信。

©2015-2025 艾丽卡 support@alaica.com