Tailscale+Restdesk便捷的远程桌面实现方案

Tailscale+Restdesk便捷的远程桌面实现方案

引言

最近搞毕设自己需要用宿舍的电脑,但是我每天基本待在实验室,这样我就尝试使用远程桌面,刚开始用向日葵,但是感觉画质什么的不太好用(且个人觉得他不好看,哈哈)。后面又用todesk但是老是节点繁忙,只能用几分钟,且一直提示让我充会员(留下了贫穷的眼泪),后续也用过TeamViewer等。无奈想着自己动手,多次折腾发现Tailscale+Restdesk的便捷性最高,希望能对有相同需求的人有所帮助。

现有远程服务类型

远程桌面服务一般分为3种,成熟商用软件、自建服务器和IP直达。市面上成熟的商用软件有国产的todesk、向日葵,还有国外的TeamViewer,属于是安装后即可使用,非常方便,但是这些软件都需要使用商家的服务器中转,免费用户的码率和帧率都难以保证,如果你的网络质量不是非常好,体验会更差,如果可以付费,那还是不错的。且TeamViewer也支持高级用户自建服务器获得更好的使用体验。

自建服务器需要对网络配置有较好的经验,且需要一次性投入一定成本,对大部分人都不适合。

IP直达是一种良好的妥协方案,但是只能在局域网或者有公网IP的前提下才能实现,且由于IPv4地址的稀有性,公网IP需要付费,IPv6对路由器等有要求。局域网也需要配置静态IP等,且有这个需求大家一般不在局域网(哈哈)。

那么内网穿透就是一个实现IP直达的方案,可以理解为将不同网段的设备映射到同一网段。Tailscale和ZeroTier是两种流行的组网工具,它们各有特点和优势,适用于不同的应用场景。Tailscale有强大的网络管理功能,提供简单易用的界面,方便设备管理和策略配置。ZeroTier 在openwrt设置比tailscale直观,都是图形界面,且ZeroTier好像速度要比Tailscale块,我使用的是Tailscale。

Tailscale安装

下载地址
选择下载适合自己PC的版本

软件的安装比较简单,不再赘述。
在两台电脑(控制端和被控制端)都要安装该软件。安装好后直接登录,这里推荐使用google或者微软账号(强烈建议没有google账号的注册下,非常实用)
Tailscale登录界面

这里只要两端登录同一个账号,自己就会识别,如果成功连接界面如下,其中显示connect就表示及成功,其中ADDRESSES处即为两台设备映射的IP地址,后续ping下,应该是通的。
后台网页提示

Tailscale是没有客户端的软件,后续启动会在托盘处,如下:
任务栏托盘图标

点击会显示状态,是否连接、本机IP地址和对方IP地址等。Tailscale不会和calsh等梯子冲突,可以放心使用。
ping对方IP,我的网络不太好,不过也基本够用。
网络质量

远程服务软件的配置

到这已经实现了两台设备的内网穿透,可以使用的软件服务也很多,例如TeamViewer,微软远程桌面和RustDesk,这里我推荐RustDesk,最简单实用,TeamViewer画质和流畅度较差,微软远程桌面质量最好,但是我发现很难搞得明白,目前我没有看到一篇博文,能系统的讲明白如何实现互通的。RustDesk是开源免费跨平台的远程桌面控制软件,开箱即用,无需任何配置。完全掌控数据,不用担心安全问题。
下载地址
安装也非常简单,不再赘述,安装好后界面如下:
在这里插入图片描述

这里还需要一些配置,才能使用IP直连获得更好的体验。点击设置——安全——解锁设置。将密码改为固定密码,方便以后连接:
设置固定密码
点击允许IP直接访问,如下:
IP直接访问
到这你就可以实现局域网的远程桌面效果了。

后话

还有些设置可以调下,可以获得更好的效果:
其他设置调整

其实还可以进一步使用RDP服务,本质就是微软的远程服务,画质和体验都非常好,点击RDP服务即可,通过凭证,应该就能连接,这里比微软提供的入口简单太多了。
RDP

### Tailscale 的 ACL 功能如何实现访问控制 Tailscale 提供了基于访问控制列表(Access Control List, ACL)的精细访问控制功能,允许用户根据设备、用户、标签等条件定义网络访问规则。通过这些规则,可以实现对网络流量的精细化管理,确保只有授权设备和用户才能访问特定资源。 ACL 配置通过 JSON 格式的策略文件定义,用户可以在 Tailscale 的管理界面中上传该文件,或通过自托管的 Headscale 服务器进行管理。ACL 的核心机制包括以下几部分: #### 1. 用户和设备的标识 Tailscale 使用用户身份和设备标签来识别网络中的实体。每个用户和设备在加入网络后都会被分配一个唯一的身份标识,ACL 规则可以基于这些标识进行访问控制。例如,可以设置某台设备仅允许特定用户访问,或限制某些设备之间的通信。 #### 2. 定义访问规则 ACL 规则支持基于源(Source)、目标(Destination)和服务(Service)的三元组定义。例如,可以配置规则允许某个用户访问特定的设备端口,或者限制某个设备只能访问特定的服务。 以下是一个简单的 ACL 规则示例: ```json { "acls": [ { "action": "accept", "src": ["user1@example.com"], "dst": ["device2:22"], "proto": "tcp" }, { "action": "deny", "src": ["*"], "dst": ["device2:*"] } ] } ``` 该规则表示允许 `user1@example.com` 访问 `device2` 的 TCP 22 端口(SSH),而拒绝所有其他用户访问 `device2` 的所有端口。 #### 3. 标签和自动批准 Tailscale 支持为设备添加标签,并通过 ACL 实现基于标签的访问控制。此外,还提供了 `autoApprovers` 机制,用于自动批准某些设备的连接请求。例如,可以配置某个标签的设备自动获得访问权限,而无需手动审批。 #### 4. 组(Group)管理 ACL 还支持将多个用户或设备组织为组(Group),从而简化规则的编写。例如,可以将所有开发人员组织为一个组,并为该组分配特定的访问权限。 #### 5. 与 Headscale 的集成 在企业环境中,可以使用开源的 Headscale 作为自托管的协调服务器,与 Tailscale 客户端配合使用。Headscale 提供了完整的 ACL 管理功能,支持更复杂的访问控制策略,并确保与 Tailscale 客户端的兼容性[^2]。 通过上述机制,Tailscale 的 ACL 功能可以实现灵活的访问控制策略,适用于远程办公、私有网络保护、服务隔离等多种场景。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值