简介
Tinc是一个开源的组网软件,相比之前的《通过ZeroTier实现内网穿透》,Tinc的配置较为繁琐(ZeroTier配置更简单,只需要注册账号然后加入网络即可)。但ZeroTier无论是用官方提供的服务,还是自建Moon或planet服务器,都绕不开官方的节点,会有比较高的延迟。Tinc是完全开源的,完全由自己部署搭建,稳定性要高很多。
准备
使用Tinc组网,需要有一台具有公网IP的服务器。我这里准备了一台阿里云的服务器(Centos7)。
安装
Tinc 没有服务端和客户端的区别,要加入Tinc组成的网络,都需要下载并安装对应的软件。
CentOS
Android
Tinc App
IOS(需越狱)
Cydia packages
Windows
官方下载地址
准备工作
为Tinc将组建的这个网络取一个名字,这里取名:dock。同时想清楚有哪些设备要加入到这个网络,以及这些设备使用的IP地址及子网掩码。
本文将会有三个设备加入这个网络,分别是aliyun(阿里云服务器,有公网IP,操作系统:CentOS7)、thinkpad(笔记本电脑,无公网IP,操作系统:Windows10)、meizu(安卓手机,无公网IP)
配置aliyun节点
aliyun节点是CentOS7操作系统,通过yum install tinc
安装好tinc后,输入tincd --version
如果正确显示版本号则说明安装成功。
创建主要配置文件
上一步已经想好了网络名:dock,那么创建/etc/tinc/dock
文件夹。如果你取的网络名是hello,那么创建/etc/tinc/hello
文件夹。创建好文件夹后,目前dock文件夹是空文件夹,什么也没有,接下来将创建这些文件。本例子最终配置好后的dock目录有如下文件:
tinc.conf:该文件主要描述了当前节点的名字,使用的虚拟网卡等。
rsa_key.priv:该文件是私钥文件,由tincd
工具生成。
tinc-up:网络建立前需要执行的操作
tinc-down:网络建立后需要执行的操作
hosts文件夹:该文件夹存放当前网络所有节点的配置文件,本文有三个节点,那么有三个文件,文件名为节点名。节点名在tinc.conf中已设置。
tinc.conf
tinc.conf文件的内容如下:
该文件设置了当前节点的名字为:aliyun,虚拟网卡的名字为tinc。更多的配置项可以查看官网文档。
tinc-up
tinc-up文件的内容如下:
该文件起到的作用是设置了当前节点虚拟网卡的IP地址为 192.168.192.1,子网掩码为:255.255.255.0
tinc-down
tinc-down文件的内容如下:
rsa_key.priv
该文件在后面由tincd生成,此处先跳过
设置可执行权限
创建节点配置文件
有多少个节点,就要在/etc/tinc/dock/hosts
文件夹创建多少个文件。下面先创建并设置好aliyun节点,另外两个节点只需要复制aliyun的然后稍加修改即可。
创建aliyun文件
新建/etc/tinc/dock/hosts
文件夹,然后创建/etc/tinc/dock/hosts/aliyun
文件,内容如下:
该文件描述了aliyun节点信息,Subnet是当前节点在dock网络中的IP地址,Address是当前节点的公网IP地址(没有公网IP则不填写该行),Port为tinc使用的端口号(默认为655,如果你不打算更改,也可以不填写该行)。
注意在系统防火墙和服务器安全组中放行1655端口。
更多配置项可以查看官方文档。
生成aliyun节点秘钥对
执行命令后,按两次回车将自动在/etc/tinc/dock
文件夹下新增一个私钥文件:rsa_key.priv
,公钥信息则自动添加到了/etc/tinc/dock/hosts/aliyun
文件的末尾:
创建thinkpad文件
将/etc/tinc/dock/hosts/aliyun
复制为将/etc/tinc/dock/hosts/thinkpad
,打开thinkpad文件,修改为如下信息:
相比aliyun节点,thinkpad节点修改了两处信息:
1.修改了Subnet,将IP地址改为了192.168.192.2
2.删掉了Address行(因为该节点没有公网IP)
创建meizu文件
将/etc/tinc/dock/hosts/aliyun
复制为将/etc/tinc/dock/hosts/meizu
,打开meizu文件,修改为如下信息:
相比aliyun节点,meizu节点修改了两处信息:
1.修改了Subnet,将IP地址改为了192.168.192.3
2.删掉了Address行(因为该节点没有公网IP)
启动tinc服务
以调试方式启动
该方式可以实时查看日志信息
以后台服务方式启动
至此,aliyun节点已配置完成。
配置thinkpad节点
安装tinc
thinkpad节点是Windows 10操作系统,通过安装包安装好后,默认会安装到C:\Program Files (x86)\tinc
目录。
创建虚拟网卡
右键用管理员权限打开tap-win64/addtap.bat
创建完成后将多出一个网络连接图标:
更改虚拟网卡名字
找到写有TAP-Win32-Adapter V9的那个网络适配器, 为它起一个别名, 后面配置文件中会用到, 这里起的别名为tinc
创建主要配置文件
在tinc安装目录创建dock
文件夹,创建好文件夹后,目前dock文件夹是空文件夹,什么也没有,但最终配置好后的dock文件夹有如下文件夹和文件:
文件夹和文件的含义与上面aliyun节点章节一致,这里不多作说明。只不过windows系统下tinc-up和tinc-down文件都多一个后缀名.bat
tinc.conf
tinc.conf文件的内容如下:
Interface为虚拟网卡的名字,上一步已设置为tinc
。ConnectTo 指定启动时要连接的其他节点。如果没有使用 ConnectTo 指定主机,tinc 将不会尝试连接到其他节点,而只会监听传入的连接。
tinc-up.bat
tinc-up.bat文件的内容如下:
tinc-down.bat
windows系统不需要这个文件,保持为空即可。
rsa_key.priv
该文件直接从aliyun节点中拷贝过来。
创建节点配置文件
hosts文件夹中的文件直接从aliyun节点中的/etc/tinc/dock/hosts/
中拷贝过来。
启动tinc服务
以调试方式启动
管理员身份运行cmd,进入tinc安装目录,执行如下命令:
以服务方式启动
管理员身份运行cmd,进入tinc安装目录,执行如下命令:
命令执行后,将会在服务中多出一个tinc.dock
服务。
在tinc.dock
服务名上右键,选择启动即可。
测试是否连通
在aliyun节点 ping thinkpad节点的IP:192.168.1.2或者在thinkpad节点 ping aliyun节点的IP:192.168.1.1,如果可以互相ping通,则说明配置成功。
至此,thinkpad节点已配置完成。
配置meizu节点
meizu节点是安卓系统,需要下载第三方提供的APP,下载地址:https://tincapp.pacien.org/
创建主要配置文件
创建后,会自动在/storage/emulated/0/Android/data/org.pacien.tincapp/files
目录下生成dock文件夹:
这时候借助安卓上的文件管理软件(我用的是CX文件管理器,可以连接FTP,方便传输文件)打开并修改以下文件:
tinc.conf
network.conf
打开(去掉前面的#)并修改以下两项配置:
rsa_key.priv
删除该文件,然后从aliyun节点的/etc/tinc/dock/rsa_key.priv
中拷贝过来。
ed25519_key.priv
该文件不用修改
创建节点配置文件
hosts文件夹中的文件直接从aliyun节点中的/etc/tinc/dock/hosts/
中拷贝过来。
启动tinc服务
返回Tinc App主页,点击网络名称即可
至此,meizu节点已配置完成。
常用命令
关闭tinc服务
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://sg.hqyman.cn/post/9530.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~