免费安全的内网穿透实现——Tailscale

news2024/11/19 2:42:12

一、需求说明

想要实现访问公司或家里的网络设备(Windows电脑、NAS、安卓设备等);但是这些设备又没有对应的公网IP地址;且就算有公网 IP 地址,也不放心让这些网络设备直接公开暴露在网络环境中(这样很容易被频繁的恶意扫描、攻击和入侵);而Tailscale 的诞生,则是为了解决这些痛点问题的解决方案之一;而Zerotier实现免费的内网穿透也是这一问题的解决方案。

二、Tailscale介绍

Tailscale 是一种基于 WireGuard 的虚拟组网工具,它能实现将安装了 Tailscale 服务的网络设备(即能够上外网的设备),都聚合在一个虚拟的局域网中,让这些设备能够相互访问,所有节点之间都可以实现点对点(P2P)的连接,效率更高,速度更快,成本更低。

Tailscale特点

序号

特点

内容

1

开箱即用

①无需配置防火墙;

②没有额外的其他配置;

2

高安全性/私密性

①自动密钥轮换,保障传输数据的安全性

②点对点连接;

③支持用户自己审查所有端到端的访问记录日志;

3

在原有的 ICE、STUN 等 UDP 协议外,新增了 DERP TCP 协议来实现 NAT 穿透

4

基于公网的控制服务器下发 ACL 和配置,实现节点动态更新

5

可通过第三方(谷歌、微软、github账号)的 SSO 服务生成用户和私钥,实现身份认证

注意:

Tailscale 虽然是一款商业产品,但它针对个人用户是可以免费【即:个人用户在接入设备不超过 20 台的情况下是可以免费使用的(免费使用但有一些限制,如:子网网段无法自定义,且无法设置多个子网)】

三、Tailscale的配置使用

3.1、内容准备

《1》到Tailscale官网下载对应的安装平台的安装包,如下图所示:

《2》或者到我这里上传的【这是关于Tailscale在Windows和Android和群晖NAS平台安装包文件】下载。

3.2、NAS配置

3.2.1、准备好群晖NAS的Tailscale安装包

3.2.2、群晖NAS配置Tailscale的步骤

3.2.3、将群晖NAS设备配置到Tailscale的虚拟局域网中

使用账号正常登陆授权成功后即可看到当前设备在Tailscale所自动组建的局域网信息,如下图所示:

3.3、Android配置

3.3.1、准备好Android的Tailscale安装包

将Android的Tailscale安装包下载到Android手机上,如下图所示:

3.3.2、Android配置Tailscale的步骤

等待Tailscale在Andorid设备上安装完成,然后打开该Tailscale的App程序。

3.2.3、将Android设备配置到Tailscale的虚拟局域网中

注意:当授权成功后这个Tailscale会有一个网络连接请求的弹窗,我们必须选择【确定】按钮才有效果,如下图所示:

3.4、Windows配置

3.4.1、准备好Windows的Tailscale安装包

3.4.2、Windows配置Tailscale的步骤

双击【Windows平台的Tailscale安装包.exe】程序进行安装

等待安装完成即可。

3.4.3、将Windows设备配置到Tailscale的虚拟局域网中

双击打开安装完成后的Tailscale程序,如下图所示:

打开Windows右下角底部的任务栏,找到Tailscale程序,然后点击鼠标右键选择【Sign in】会自动打开浏览器中对应的Tailscale的授权界面登陆后授权即可(与群晖NAS一样的配置操作)

3.5、测试

最后在Windows电脑【或Andorid设备】的浏览器上直接输入群晖NAS在Tailscale的虚拟局域网地址(比如我这里的是:100.196.115.36:5001)后回车可以正常访问该群晖NAS的登陆界面表示配置成功,如下图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/149181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL Tips】除了指定密码外 MySQL客户端更好的选择——登录路径

在实际项目中,我们在生产(环境)发布新版本或运维时,使用 mysql 、mysqladmin、mysqlimport、mysqldump、mysqlpump 等 MySQL 客户端程序时,每次都需要输入密码,一般都会采用更安全的互动输入密码模式&#…

UOS 22.0家庭版使用体验

1月4日这天我收到了UOS的22.0版本的推送,更新后新增了未成年人账户和学习中心,由于是虚拟机中所以无法新增未成年人账户,于是我制作了Linux to go(LTG)但是由于我的U盘不是固态U盘所以我用普通的更新就卡在了更新界面。…

Linux下第一个程序:进度条

一、前言 进度条程序曾经是百度的一道面试题。 这一期博客我们来介绍代码和原理究竟是怎样的。 二、知识点 1.回车和换行 通常意义上我们以为回车就是就是键盘的那个回车键。 其实不然。回车其实是不换行,回到本行开头。我们通常用符号表示为 \r 。 换行就是新…

Docker Compose安装

目录 前言 1. 二进制包在线安装 2. 二进制包离线安装 2.1 下载安装包。 2.2 上传到linux服务器 2.3 解压到/usr/local/bin/docker-compose目录。 2.4 将可执行权限应用于二进制文件 2.5 创接建软链(可选) 2.6 测试是否安装成功 3. 国内镜像二进…

Linux应用编程---3.wait()函数

Linux应用编程—3.wait()函数 ​ 首先引入三个函数,我们通过在Linux终端下查阅它的作用与使用方法。 ​ Linux终端命令下输入:man exit,敲击回车键即可打开exit函数详情页。 图1 exit编程手册​ exit函数的作用是终止一般进程,没…

12、Java基础之泛型的使用

一、泛型的理解1、泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时&#…

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

关于idea中查看源码时的注释以及.class与.java文件的问题

文章目录问题描述解决方法问题描述 在使用idea编辑器学习java的时候发现有的人的idea将鼠标方法java自带的类方法上会出现解释注释,但是我的idea不可以,经过查询发现是idea中jdk选择的问题。 下图为能查看注释时的截图 按住ctrl点击方法名进入&#x…

分治和递归

目录 分治的概念: 递归的概念: 分治策略的特征: 分治法步骤: 例:阶乘! 迭代 递归 关于递归使用栈 斐波拉切数列 迭代 递归 分治的概念: 将一个难以直接解决的大问题(规模大…

【年终总结】我的前端之行,回顾2022,展望2023

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏&#xff…

Vivado综合属性之MAX_FANOUT

本文介绍了综合属性MAX_FANOUT对Schematic的影响,通过本文可以理解通过寄存器复制的方式可以降低扇出。 高扇出信号可能会因为布线拥塞而出现时序问题。常用的规避方法是通过寄存器复制的方式降低扇出,可通过MAX_FANOUT实现寄存器复制。 MAX_FANOUT既可…

为金融业保驾护航,浪潮存储容灾方案获得权威媒体认可

近日,在2022中国金融科技年会上,经权威IT专家多项严格评审,浪潮金融行业数据存储与容灾解决方案,凭借安全、可靠、经济、高效四大优势,能够满足金融业务服务永远在线、数据永不丢失、性能永远满足、容量永远充足的核心…

【Linux】Linux编译器 gcc 的使用 | 动静态库的初步认识

👑作者主页:进击的安度因 🏠学习社区:进击的安度因(个人社区) 📖专栏链接:Linux 文章目录一、前言二、gcc 演示翻译环境1、预处理2、编译3、汇编4、链接5、总结三、动静态链接库1、库…

代码随想录算法训练营第6天 1.两数之和、242. 有效的字母异位词、349.两个数组的交集

代码随想录算法训练营第6天 1.两数之和、242. 有效的字母异位词、349.两个数组的交集 两数之和 力扣题目链接(opens new window) 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 首…

JS数字日期转中文日期(封装函数,dayjs转换时间格式)

JS数字日期转中文日期往期相关文章场景复现封装函数(数字日期转中文日期)实际应用往期相关文章 文章内容文章链接JS数组对象——根据日期进行排序,按照时间进行升序或降序排序https://blog.csdn.net/XSL_HR/article/details/128579840?spm1…

Markdown使用说明

Markdown使用说明欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注…

[网鼎杯 2020 朱雀组]phpweb

目录 信息收集 方法一:in_array()函数绕过 方法二:反序列化漏洞利用 信息收集 抓个包,发现POST传入以下内容 funcdate&pY-m-dh%3Ai%3Asa func和p的值分别为一个待执行的函数和函数的参数 构造payload 尝试funcphpinfo&p 回显 H…

【学习笔记之Linux】权限

权限概念 一件事是否允许被谁“做”,这就是权限。权限 用户 文件属性。   在Linux上,用户分为普通用户和root。root是超级管理员 ≈ 天王老子,只能够有一个。root的命令提示符是#;普通用户通过root创建,可以有多个…

【案例教程】地下水环评(一级)实践技术及Modflow地下水数值模拟

【前沿】地下水数值模拟技术应用与地下水环评报告编制方法实践线上直播课程,主要围绕的环评导则,结合不同行业类别,实例讲解地下水环境影响评价的原则、内容、工作程序、方法。包括数据处理分析、数值模型构建以及环评报告编写等。涉及地下水…

【自学C++】C++ int

C int C int教程 C 中的 int 用来表示一个 整数,也可以叫做整型,int 的取值范围是介于 short 和 long 之间的。 C int定义详解 语法 int varname value;参数 参数描述int定义 int 类型变量使用的类型。varname变量名。value可选,变量的…