15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 使用 Tailscale 远程访问局域网

使用 Tailscale 远程访问局域网

时间:2023-06-02 02:21:02 | 来源:网站运营

时间:2023-06-02 02:21:02 来源:网站运营

使用 Tailscale 远程访问局域网:




Tailscale:基于 WireGuard 异地组建虚拟局域网

Tailscale 是一种基于 WireGuard 的虚拟组网工具,它能帮助我们把安装了 Tailscale 服务的机器,都放到同一个局域网内,即公司或者家里的 PC 机器连到同一网络,甚至云服务器都能放到同一个局域网。




使用Tailscale远程访问局域网

1. 工具介绍

介绍该工具的优点和特性

没有公网 IP,又想能满足远程办公需求?担心暴露公网 IP 而被频繁的恶意扫描、攻击?Tailscale 的诞生,成为解决这些痛点的全新选择。




使用Tailscale远程访问局域网

我们知道 TailScale 是基于 Wireguard 开发而来的,所以天生支持协议加密,安全性更高,而且是 P2P 连线,流量不经服务器,延迟更低。并且,对个人用户免费。


不管学习什么技术,资源都是必不可少的。优质资源会助你一臂之力,让你快速入门。当年我自学使用的优质资源,我也全部共享出来,涵盖Linux、云计算、虚拟化、OpenStack、Docker、K8S、网络、Python、Go等书籍和视频,访问以下链接无套路领取,祝学业有成!

10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频

TailScale 内置 taildrop,可以在设备间传输文件,因为其支持全平台,所以实际上这也是一个很好用的全平台文件传输工具。而且如果设备处在同一个局域网的话,传输速度也会非常快。

通过笔记本可以远程台式主机或者服务器,进行开发。优点在于,台式机硬件的售价非常便宜,可以用很低的成本组装一台超强配置的机器。移动办公的精髓应该在于你可以随时随地的连接上一个统一且强大的工作环境, 而不是抱着同一台笔记本走南闯北。

TailScale 节点间是点对点 tls 连接,所以实际上也可以用来做网络代理。

2. 使用方式

介绍 Tailscale 官网的在线使用方式




使用Tailscale远程访问局域网

# linux$ curl -fsSL https://tailscale.com/install.sh | sh# 还可以使用docker安装# https://github.com/tailscale/tailscale/blob/main/Dockerfile$ docker run -d --name=tailscaled / -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun / --network=host --privileged fastandfearless/tailscale tailscaled# 打印tailscale登录地址并进行授权登录$ docker exec tailscaled tailscale up# 获取设备TailscaleIP地址$ ip addr show tailscale0# 查看设备状态$ docker exec tailscaled tailscale status# 本地编译安装# https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS# 安装go工具$ brew install go# 直接编译# 会在$HOME/go/bin目录下面生成二进制包$ go install tailscale.com/cmd/tailscale{,d}@main# 后台守护进程运行tailscaled服务# sudo tailscaled uninstall-system-daemon$ sudo $HOME/go/bin/tailscaled$ sudo $HOME/go/bin/tailscaled install-system-daemon# 启动服务$ tailscale up$ tailscale status


使用Tailscale远程访问局域网




使用Tailscale远程访问局域网

3. 使用场景

安装上之后,我们可以怎么玩呢?

如果你使用的 Mac 电脑的话,肯定存储是一个头痛的问题,因为一般情况下都会购买 128G256G 版本的机器(不要问为什么,问的话就是穷)。这样当磁盘不够的时候,就让人感觉到焦虑。但是当我们使用 Tailscale 并拥有 WebDav 之后,就能很好的拓展存储空间,可以内网连接我的群晖 NAS 提供的 WebDav 了。




使用Tailscale远程访问局域网 - 网络采集而来

远程使用 PC 的情况,可以通过 TeamViewer 完成。但是使用 RDP 协议来远程操作,效果体验更佳而且更稳定。但是 PC 机需要一直开机状态,如果我们只是偶尔使用一下的话,这有些费电了。

当我们使用 Tailscale 之后,通过群晖(或者机器机器也可以)做一个反向代理方便进入家里的梅林路由器,并修改本地 Machosts 文件来解析我们自定义的域名。群晖 NAS 的控制面板中自带了配置反向代理的地方,可以省的我们折腾。进入梅林路由器,进入网络工具中的通过网络唤醒界面,选择对应的 PC 即可。




使用Tailscale远程访问局域网 - 网络采集而来

当然,首先这台 PC 机需要配置好通过 WOL 唤醒才行,而配置可以自己参考网络唤醒全攻略。等待电脑唤醒完成后,使用远程桌面进行远程连接,就可以得到一个用户体验很不错的体验了。

上面我们知道群晖会自带反向代理的功能,但是并不是每个人都会买这个的,那有没有其他方式来处理这个问题呢?肯定是可以的,我们这里通过 Linux 接入 TailScale 服务,让其充当网关,这样就可以访问整个内网网段了。

这样做的好处,还有一个就是,家里或者公司不是每一部设备都可以安装到 TailScale 服务的,比如打印机之类的。这样设定 PC 机充当子路由(Subnet Route),其他所有的外网的 TailScale 装置都可以透过这部 Linux 装置作为网关访问家里内网所有的设备。

# Linux机器设置IP转发(临时)$ echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf$ echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf$ sudo sysctl -p /etc/sysctl.confTailScale 不需要防火墙配置,会自动管理规则,以允许转发。设定过程也没涉及到 iptable 的设置,一条指令可以完成。

# 替换为自己的网段(IPV4或IPV6)$ sudo tailscale up --advertise-routes=20.13.3.0/24这里设置完成之后,默认并没有开启转发功能。需要我们登录网页,在控制台页面找到我们这台机器,打开路由设置功能。基于安全特性,Tailscale 每隔 6 个月需要重新授权装置,我们这里可以选择关掉这个。

使用Tailscale远程访问局域网 - 网络采集而来




使用Tailscale远程访问局域网 - 网络采集而来

比如我在境外服务器上安装一个 tailscale 的节点,然后再在境外服务器上安装一个 cow(用来做 http proxy server)。那我就可以在任意一台机器上,访问境外服务器的 tailscale 子网 IP + cow 端口的形式实现 HTTP/SOCKS 代理。

# 安装cow工具(梯子机器)$ curl -L git.io/cow | bash# 修改配置文件$ cat /home/escape/.cow/rclisten = http://100.100.100.100:17777# 将其添加到systemd服务中$ sudo vim /etc/systemd/system/cow.service/[Unit/]Description=cow serviceAfter=network.targetStartLimitIntervalSec=0/[Service/]Type=simpleRestart=alwaysRestartSec=1User=escapeExecStart=/usr/local/bin/cow -c /home/escape/.cow/rc/[Install/]WantedBy=multi-user.targetTailscale 提供的 relays 数量有限,而且全部在国外。你也可以自建中继。自建中继服务器被称为 derper,是用 go 开发的,建议先安装 go 环境。go 是预编译的,安装起来很简单,下载、解压即可。

启动 derper 的参数,其中 -hostname 表示有效的公网域名,derper 会自动为这个域名申请 Let's Encrypt TLS 证书,其中 -a 表示指定 derper 监听的 tcp 端口,默认为 443,修改为其他端口的话似乎转发流量会有问题,其中 -stun 表示 stun 协议的 udp 端口,health check 的时候会用到。

# 安装$ go install tailscale.com/cmd/derper@main# 启动$ sudo derper -c=/root/derper.conf -hostname=xx.xx.xx -a=:443 -stun# 加入自启动里面sudo vi /etc/systemd/system/derper.service/[Unit/]Description=derper serviceAfter=network.targetStartLimitIntervalSec=0/[Service/]Type=simpleRestart=alwaysRestartSec=1User=rootExecStart=/home/escape/.go/bin/derper -c=/root/derper.conf -hostname=x.x.x.x -a :443 -stun/[Install/]WantedBy=multi-user.target需要注意的是,因为 derper 会申请公网 TLS 证书,如果你的服务器在国内,那么域名必须要备案。而且由于中国封锁了 Let's Encrypt,所以你的 derper 在启动一会儿后,很可能会报错表示证书申请失败。所以,使用香港、日本、新加坡的主机会好很多。

4. 命令使用

这里主要介绍 tailscale 命令的使用




使用Tailscale远程访问局域网

# 查询部署到局域网的节点IP地址$ tailscale status# 终端查看tailscale分配到的IP地址$ tailscale ip

5. 参考链接

最后根据我的从业经验及与同行大佬的交流,推荐一些Linux系列电子书籍,访问下方链接无套路获取:Linux系列学习书籍免费送!

欢迎关注我! @开源Linux

我的个人网站,满满的都是干货:一切与IT有关的教程

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

关键词:访问,远程,使用

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭