最近在家办公,TeamViewer 又双叒叕认为我商用了,试了下 AnyDesk 替代,但是速度真的是远不如前者,所以干脆自己搭一个 frp 反向代理来当作 Windows 远程桌面,亲测速度还不错,本文分享下搭建教程。

一、frp 介绍

项目地址:https://github.com/fatedier/frp

FRP (Fast Reverse Proxy) 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP , UDP , HTTP , HTTPS 协议,可以实现 Windows 远程桌面搭建。

使用体验:搭建好了 frp,用了下远程桌面,发现速度比 AnyDesk 快不少,跟 TeamViewer 差不多,TeamViewer 最近商业化查的越来越严了,明明是自用,也会提醒你商业使用,所以搭建一个 frp 服务器作为替代(备用)还是很有必要的。

二、准备工作

需要:

  • 一个有公网 IP 的 VPS 服务器

老王需要远程连接的服务器在香港,所以直接用的阿里云的香港轻量,如果你需要连接的服务器在国内,那么直接选择阿里云或者腾讯云都行,现在轻量应用服务器价格都非常便宜,学生的话更是几十块钱 / 年就能买到 5M 带宽的轻量,用来做远程连接完全够了。

学生优惠:

  • 腾讯云学生:https://cloud.tencent.com/act/campus
  • 阿里云学生:https://developer.aliyun.com/plan/grow-up

其他优惠:

  • 腾讯云秒杀:https://cloud.tencent.com
  • 阿里云云小站:https://www.aliyun.com/minisite/goods

三、frp 服务器端搭建

下载地址:https://github.com/fatedier/frp/releases

一般服务器都是 Linux 系统的,目前最新版本是 0.36.2,直接下载对应的版本:

wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

解压:

tar -zxvf frp_0.36.2_linux_amd64.tar.gz

至此,你会得到一个 frp_0.36.2_linux_amd64 的文件夹,进入文件夹:

cd frp_0.36.2_linux_amd64

作为服务器端,你只需要关心 2 个文件:

  • frps
  • frps.ini

其中 frps 是运行程序,frps.ini 是配置文件。

修改 frps.ini (如果不会用 vim 编辑器,可以参考《Linux下使用vim编辑以及新建文件》):

vi frps.ini

文件内容如下:

[common]
bind_port = 7000
dashboard_port = 7500
token = laowang
dashboard_user = laowang
dashboard_pwd = laowang_pwd

这里主要是配置了绑定的端口(7000),控制面板的端口(7500),token(会在客户端用到),控制面板的 user 用户名和 pwd 密码。

运行 frp 客户端:

./frps -c frps.ini

如果没有问题的话,就会直接运行成功了:


这时我们就能访问控制面板了(http://47.240.*.*:7500):

可以借助 nohup 后台运行 frps,命令如下:

nohup ./frps -c frps.ini > /root/frp/log.log 2&1 &

四、frp 客户端配置

下载地址:https://github.com/fatedier/frp/releases

同样是下载 releases,以 Windows 为例,下载与服务器端对应版本的 frp_0.36.2_windows_amd64.zip

作为客户端端,你只需要关心 2 个文件:

  • frpc
  • frpc.ini

编辑 frpc.ini 文件,加入如下内容:

[common]
server_addr = 47.240.*.*
server_port = 7000
token = laowang
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

“server_addr”是服务端 IP 地址,填入即可,“server_port”为服务器端口,即 bind_port 的值,“token”是你在服务器上设置的连接口令。

这里用到了 2 个自定义规则,一个是 rdp,一个是 smb:

  • RDP,即 Remote Desktop 远程桌面,Windows 的 RDP 默认端口是 3389,协议为 TCP,本条规则可以实现远程桌面连接。
  • SMB,即 Windows 文件共享所使用的协议,默认端口号 445,协议 TCP,本条规则可实现远程文件访问。

打开 cmd,进入 frp 的目录,执行如下命令运行 frp 客户端(不能双击 frpc.exe):

frpc -c frpc.ini

结果如下所示:

之后开启 Windows 远程访问:Windows 开启远程访问,直接直接在本地远程连接即可,地址就是 47.240.*.*:7000 (服务器 IP 和绑定的端口),之后输入用户名和密码就能成功远程了。

Windows 直接用远程桌面,Mac 可以使用:《Microsoft Remote Desktop:免费的 mac 远程桌面连接 Windows 软件》

原文地址:TeamViewer 替代品:使用 frp 实现 Windows 远程桌面连接教程

TeamViewer 替代品:使用 frp 实现 Windows 远程桌面连接教程相关推荐

  1. frp客户端进行windows远程桌面连接

    frp客户端进行windows远程桌面连接 1.前言 2.安装frp客户端文件 3.配置frp客户端 4.配置后台启动服务 4.家庭版远程桌面 1.前言 这是在已经搭建好frp服务器的情况如何在win ...

  2. 使用frp内网穿透,用windows远程桌面连接

    teamview 太黑心,莫名其妙检测商用劝退,实在是不得不脱坑.与其每个月给几百块RMB不如花几十块钱买台云服务.自己组建远程连接环境,使用windows远程桌面在公司连家里的电脑,安全无后门. 此 ...

  3. Windows远程桌面连接的入门宝典

    在Windows的世界中不论你是普通的桌面用户,还是企业级的用户,都有一项功能,那就是远程桌面连接.不论是在WINDOWS 2000 SERVER,WINDOWS XP.WINDOWS 2003.WI ...

  4. Windows远程桌面连接并传输文件

    Windows远程桌面连接 IT管理员说他把设备配置好了,你可以使用了: 给你了如下信息: 用户名:admin123 密码: xxxxxxxxx IP:10.10.10.10 第一步:在win10搜索 ...

  5. 远程桌面计算机让输入密码,解决Windows远程桌面连接每次都提示输入密码的问题...

    Windows 远程桌面连接几乎每天都用,所以使用的方便性非常重要.如果你经常用,也许会发现在某些系统中,每次连接都需要输入密码,即使已经保存了密码,并且密码是正确的也是如此. 这个问题是策略设置的缘 ...

  6. 本地Windows远程桌面连接阿里云Ubuntu服务器

    本地Windows远程桌面连接阿里云Ubuntu 16.04服务器: 1.目的:希望通过本地的Windows远程桌面连接到阿里云的Ubuntu服务器,通过远程桌面图形界面的方式操作服务器. 2.条件: ...

  7. 本地Windows远程桌面连接阿里云Ubuntu 16.04服务器:

    本地Windows远程桌面连接阿里云Ubuntu 16.04服务器: 1.目的:希望通过本地的Windows远程桌面连接到阿里云的Ubuntu服务器,通过远程桌面图形界面的方式操作服务器. 2.条件: ...

  8. windows远程桌面_如何使用Windows远程桌面连接Ubuntu 干货

    近期网盾科技给大家分享了一些教程类的干货,有很多小伙伴都收藏了网盾科技的文章,能对大家有帮助就好.今天网盾科技再给小伙伴们讲解一下如何使用Windows远程桌面连接Ubuntu,干货收藏! Windo ...

  9. Windows远程桌面连接Mac OS X

    原文地址为: Windows远程桌面连接Mac OS X 第一步:Mac OS X 10.5 已经增加支持了由VNC Viewer访问的功能,设置如下:   系统偏好设置-共享-勾选"屏幕共 ...

最新文章

  1. 3行Python代码就能获取海量数据?
  2. NFS文件系统详解以及安全设置
  3. cocos lua 创建替换图片
  4. php开源项目博客,F2blog - 博客Blog - PHP开源项目 - 开源吧
  5. 关于谨防诈骗的温馨提示
  6. js map 箭头_JS异常函数之-箭头函数
  7. lucene Field部分参数设置含义
  8. C语言指针变量与一维数组
  9. Jasmine入门(上)
  10. VGG16网络参数细节
  11. weiit-saas搭建部署教程
  12. BUCK/BOOST电路
  13. 基于串口通信的摇杆控制器 ---- 摇杆数据的读取、通信协议、从设备解开数据包
  14. UE4 VR项目设置总结
  15. .NET平台机器学习资源汇总,有你想要的么?(转)
  16. jacobi方法 matlab,Jacobi(雅可比)迭代原理与matlab代码
  17. 【数学】母函数(生成函数)的性质及应用
  18. html四大作用域,JSP的三六九四(三大指令、六大标签、九大内置对象、四大作用域)...
  19. WPARAM 与 LPARAM
  20. 003_wz_wed_DL_课程一第二周编程题(Logistic回归;神经网络思维;)

热门文章

  1. 计算机ram和rom的工作原理,ram和rom的区别
  2. Copy of ShortCut to
  3. Java中自然对数E怎么调用
  4. Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案
  5. linux(vi)常用命令
  6. IE浏览器打开网页提示安全证书过期或证书错误的解决方法
  7. Linux服务器进行DHCP配置
  8. VS2012的解决方案资源管理器里什么都不显示
  9. 华为电脑安装双系统linux,matebook的win+ubuntu双系统安装方法
  10. 10-203 查询员工表全部信息