13
2025
03
16:33:44

tinc vpn内网穿透,远程访问家里的网络或服务

前言

tinc vpn本质上是一种vpn,虚拟的专用网络,这点和frpnps这种端口转发的内网穿透工具不一样。所有在这个专用网络下的,都需要安装或配置一个虚拟网络,以此达到互相访问的目的。

下面的行为都是围绕着配置网络连接(接口)这个主线。

达成的目标:

  1. 远程访问家里的电脑,通过远程桌面,也就是mstsc,3389端口。

  2. 远程访问家里的路由器(openwrt

  3. 远程访问家里的NAS

准备工作

  1. 准备一台VPS,带外网IP。以作moon的目的。它是所有的节点的中心。

2. 下载windows的客户端程序,tinc-vpn.org/packages/w

3. 安装finalshell,这个软件比putty的好处是,可以直接浏览上传文件。

安装步骤:

先在VPS上安装服务,演示用的是centos8,在控制台把防火墙的端口都先打开。避免出现莫名其妙的问题。

安装命令(root权限下,用sudo -i切换):

for debian 9

apt -y install tinc net-tools

for centos 8

yum install tinc net-tools

开启IPv4转发:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p

第二,在本地新建一个moon的文件夹,在里面新建以下三个文件和一个文件夹

  1. tinc.conf(文件1,内容如下)

Name=moon # 这个名字需要和hosts文件夹的moon文件名一致。
Interface=tinc-vpn # 这个可以随便改,就是网络接口的名字
Mode=switch #默认就行了
Cipher=aes-256-cbc #默认就行了
Digest=sha512 #默认就行了

2. tinc-down(文件2,注意无后缀,内容如下)

#!/bin/sh
ifconfig $INTERFACE down

3. tinc-up(文件3,注意无后缀,内容如下)

#!/bin/sh
ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0 #10.0.0.1为新建网络连接的IP地址,可以随便设置,但要和hosts文件夹下moon文件里的子网IP地址一致。后面的子网掩码不用改。

4. hosts(文件夹,注意名字不能换)

然后在hosts文件夹下再新建一个moon的文件,注意还是没有后缀。

5. moon(文件4,注意无后缀,内容如下)

Address = 81.68.72.143  #这个是VPS的外网IP
Subnet = 10.0.0.1/32 #这个是我们新的网络连接的子网IP地址,需要和上级文件夹下tinc-up里的IP地址一致

上面的文件和文件夹新建和编辑好后,用finalshell把moon文件夹整个上传到VPS的tinc文件夹下。如下,

上面的文件准备好后,我们来执行一些命令

第三,生成密匙对:直接在finalshell里输入

tincd -n moon -K4096

按两下回车全部保持默认配置,生成完成之后,对应的文件路径:

/etc/tinc/moon/rsa_key.priv # 私钥
/etc/tinc/moon/hosts/moon # 公钥,这个公钥会直接加在文件里的IP地址后面

第四,给moon文件夹下的文件添加执行权限

chmod +x /etc/tinc/moon/tinc-*

第五,上面准备工作做完,就可以启动tinc了,命令如下,

systemctl start tinc@moon
systemctl enable tinc@moon

执行完命令后,可以检查下,是否启动成功,命令如下,

systemctl status tinc@moon

出现绿色的active running就代表启动成功,进一步确认重启能否自启,可以reboot 主机,然后再次执行上面的命令,看看是否运行。

至此,上面VPS第一阶段设置完毕,后面等我们客户端设置好后,还需要交换密钥。很简单,就是上传和下载几个配置文件。

=======================================================

第二,在windows上安装服务

先在本地新建leaf_home文件夹,在leaf_home文件夹下,新建tinc.conf文件和一个名为hosts的文件夹。

然后在hosts文件夹中再新建一个名为leaf_home的文件,注意是没有后缀的。

1.tinc.conf内容如下

Name=leaf_home # 这个是认证服务器(主机)的名字,需要和hosts文件夹下的文件名字一致。
Interface=vpn  # 这个是网络接口的名字,可以随便取,网络连接里需要重命名和这个名字一致。
Mode=switch
ConnectTo=moon #这个是vps中网络服务的名字,需要保持一致
Cipher=aes-256-cbc
Digest=sha512

2. leaf_home内容如下

Subnet = 10.0.0.3/32 # 这个是本机虚拟网卡的内网IP,moon的是10.0.0.1,远程server的为2,这里就顺延,使用3。

3. 文件编辑好后,把leaf_home文件夹整体打包放到tinc的根目录下,

然后接下来我们需要生成密钥

进入tinc目录后,cmd命令如下

tincd -n leaf_home -K4096

4. 在网络连接里,重命名为vpn,与上面tinc.conf里的interface名字一致。

5. 在网络连接里,设置IP地址为10.0.0.2,子网掩码为255.255.255.0

6. 创建服务,命令如下

tincd -n leaf_home

7. 设置完毕了,可以重启下看看,我们创建的服务是否在运行。

8. 密钥交换,我们需要把hosts文件夹里的leaf_home复制到moon里hosts文件夹里,

并把moon服务器上hosts文件夹里的moon文件复制到本地的hosts文件夹中。

这样就完成了交换工作。

远程和本地hosts文件夹里的文件是一样的了。

9. 可以试着ping 10.0.0.1应该是通的了。如果没有,看看本地服务是否启动成功。

================================================

另一台windows设置也是如此,就不累述了。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://sg.hqyman.cn/post/9526.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: