前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >下一代VPN工具:体验TailScale的简便和高效

下一代VPN工具:体验TailScale的简便和高效

作者头像
小尘要自信
发布2023-11-16 09:20:26
7K0
发布2023-11-16 09:20:26
举报
文章被收录于专栏:CSDN小尘要自信

一、概要

VPN 是什么?

看到 VPN 第一反应应该是翻墙,但 VPN 最初应该也是最普遍的用途应该是用来做内网打通, 这也是其名字虚拟私有网络的用意,VPN 让你可以在公开的网络线路上建立一个私有的子网, 然后将所有接入的机器都分配一个私有的内网地址,让他们可以通过 VPN 的私有网络互联。

TailScale 是什么

云上VPN服务商,提供VPN的一种:mesh VPN;一种能让节点间直接互联,每一个节点都会存储其他所有节点的信息,并且和其他所有的节点都建立 TLS加密连接。

对个人用户免费,支持100设备;

TailScale 能做到什么

只要你的机器可以连到公网,tailscale 可以让所有的机器连接到同一个私有子网内。 你可以像在同一个局域网里那样,随时随地的连接你的任意设备,场景:文件传输、远程开发、代理

二、使用

官网:https://tailscale.com/

tailscale管理端:https://login.tailscale.com/admin/machines

以下演示我是通过微软账户进行登录的;

1、注册

登陆后进入添加设备页面,左边是提供添加设备方法,右边是你添加成功后会出现你的设备清单

2、下载安装

下载地址:https://tailscale.com/download/windows

官网给出了包含五种设备的安装以及连接方法,下面我就演示常用的三种:本机Windows、逍遥模拟器(Android)、Linux(阿里云)

3、 Windows

下载安装包进行安装即可。

在电脑任务管理器会有tailscale的图标,点击登录即可,然后就可以看到你的这个主机了。

进入管理界面:然后设置主机名,以及禁止秘钥过期:

禁用DNS

4、Linux

国内的网络下载好大约十分钟,因为国内的网络无法访问:https://pkgs.tailscale.com,所以这里就使用第二种方式进行下载安装。

代码语言:javascript
复制
curl -fsSL https://tailscale.com/install.sh | sh

设置DNS():这步已经通过前面的设置DNS进行处理了,此处不再设置*

先说问题:

在Linux下启动tailscale,不能ping通外网,将默认将系统dns文件:/etc/resolv.conf进行替换了。然后关闭tailscale,dns配置又恢复之前的样子了;

如果是这样的话,我开启了tailscale后,我不能够访问外网,这软件是有点耦合性太高了~

参考博客:https://www.nuomiphp.com/t/639ede9003d3a871b64869a5.html

官网给出的解决办法:https://tailscale.com/kb/1188/linux-dns/#dhcp-dhclient-overwriting-etcresolvconf

代码语言:javascript
复制
$ sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
$ sudo systemctl restart systemd-resolved
$ sudo systemctl restart NetworkManager
$ sudo systemctl restart tailscaled

tailscale帮助命令

代码语言:javascript
复制
[root@zhixi ~]# sudo tailscale --help
使用说明
	tailscale [标志] <子命令> [命令标志]

子命令:
	up 连接到Tailscale,如有需要则进行登录
	down 从Tailscale断开连接
	set 更改指定偏好设置
	login 登录到Tailscale账户
	logout 从Tailscale断开,并使当前节点密钥过期
	switch 切换到另一个Tailscale账户
	configure [ALPHA] 配置主机以启用更多的Tailscale功能
	netcheck 打印关于本地网络情况的分析
	ip 显示Tailscale IP地址
	status 显示tailscaled及其连接的状态
	ping 在Tailscale层对主机进行ping,查看其路由情况
	nc 连接到主机的一个端口,连接到stdin/stdout
	ssh SSH到一个Tailscale机器
	funnel 开启/关闭 Funnel服务
	serve 提供内容和本地服务器服务
	version 打印Tailscale版本
	web 运行一个用于控制Tailscale的web服务器
	file 发送或接收文件
	bugreport 打印一个可共享的标识符,以帮助诊断问题
	cert 获取TLS证书
	lock 管理tailnet锁
	licenses 获取开源许可证信息

通过systemctl进行操作

代码语言:javascript
复制
systemctl status tailscaled # 查看状态
systemctl start tailscaled # 启动
systemctl stop tailscaled # 停止
systemctl enable tailscaled # 开机自启
systemctl disable tailscaled # 禁用开机自启
5、 Android

安装应用,因为国内的原因,在应用商店下载不到tailscale的apk安装包,这里我已经下载好了:

蓝奏云:

https://wwxo.lanzouj.com/iXQTm0zixwpe

密码:dipu


软件安装完后,打开,也是通过微软账户进行登录,即可加入到网络:

6、测试

我在本地Windows启动一个程序,然后测试在Linux、Android上面是否能够访问到应用程序。

这里需要的局域网IP地址也就是控制台的ADDRESSES,注意区分

本地程序访问地址:http://localhost:8080/user/selectAll/1/4

异地组网访问地址:http://100.103.222.102:8080/user/selectAll/1/4

三、Nginx整合Tailscale做端口转发

使用场景:使本地应用能被通过公网IP地址进行访问

看以下图示,通过云服务器的公网IP,用户访问这个IP,通过Nginx转发,使用户访问到本地内网的应用,前提是需要有云服务器和公网IP

操作步骤

Nginx配置:

代码语言:javascript
复制
# 设置NGINX代理转发,访问8023端口,转发到其他地址
server {
    listen       8023;
    server_name  localhost;

    location /{
		root   html;
        index  index.html index.htm;
		# 你的应用访问地址,使用Tailscale异地组网的IP
        proxy_pass http://100.99.171.50:8080;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概要
    • VPN 是什么?
      • TailScale 是什么
      • 二、使用
        • 1、注册
          • 2、下载安装
            • 3、 Windows
              • 4、Linux
                • 5、 Android
                  • 6、测试
                  • 三、Nginx整合Tailscale做端口转发
                  相关产品与服务
                  VPN 连接
                  VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档