由于工作性质的原因,经常会出现不在办公室,但要使用办公室电脑查找、收、发资料的情况,曾使用过许多比如HiPC等远程访问本地文件的方案,但都不尽人意。一直在想,如果可以用手机远程桌面,那应该很方便。我知道Microsoft出过Android远程桌面的APPRemote Desktop
,但一台套多层NAT的内网PC如何实现远程访问呢?
内网穿透或许是唯一的方法。
如果我没记错的话,有很多提供内网穿透的第三方服务,比如“花生壳”,还有许多个人提供的frp内网穿透服务。我不用的原因有三点,1、安全问题,远程控制电脑这么高权限的操作,服务器在别人手上,谁知道哪天你的电脑就被别人登录了,给你的资料改了或者造成泄密,那问题就严重了(或许大厂花生壳不会,但谁知道呢)。2、流量限制,所有第三方服务端都有这样那样的限制,说不定哪天你开开心心的用着用着就给你限制了。3、稳定性,也不知道哪天用着用着服务器就关了,或者维护,就算能使用,也可能存在严重丢包的情况,就算不丢包,PING值延时也高。
我也曾想过自己搭建服务端,但我想了想,应该会很复杂,所以一直没有深入研究,直到……过完年上班没什么鸟事,研究了一下,正好我家庭网络有公网IP,正好我的路由器已刷好OpenWRT,绑了个免费的动态域名,可以直接安装frp服务端,于是自己搭建了一套frp服务。那么就开始记录这个过程吧!
frp是一个开源项目
GitHub地址:https://github.com/fatedier/frp
frp分为服务端和客户端,服务端安装frps
,客户端安装frpc
。
frps服务端:
由于我的服务端部署在openwrt上,可以直接在系统
->软件包
->更新列表
->过滤器
中输入luci-i18n-frps-zh-cn
点击安装就行了,安装完成后在服务
中找到frp服务器
,可以看到frp 服务器 运行中
,由于我只是用做远程桌面使用,所以设置的地方也不多,只是为了安全起见改了一下绑定端口
,再添加一个令牌
,保存并应用
就OK了,然后在网络
栏的防火墙
中的网络通信
中添加两个接受入站
的通信规则,一条是frp服务器
绑定的端口(即frps服务端bindPort
),另一条是frpc客户端remotePort
转发的端口,保存并应用
,这样就完成了服务端的设置。
frpc客户端:
客户端我直接部署在Windows的PC上,下载 frp_0.54.0_windows_amd64.zip,解压frpc.exe
和frpc.toml
两个文件到任意目录,比如C:\Frpc
,编辑frpc.toml
文件:
serverAddr = "rdp.youname.com" # 服务端域名或者IP
serverPort = 7000 # 服务端绑定的端口(即frps服务端bindPort),与服务端一致
auth.token = "123456" # 服务端设置的令牌,与服务端一致
[[proxies]] # 不可更改
name = "RDP" # 名称(可随意填写)
type = "tcp" # 连接类型(不可更改)
localIP = "127.0.0.1" # 本机IP(如果要远程内网的其他PC填写其他IP,如:192.168.1.101)
localPort = 3389 # 开启远程桌面的固定端口
remotePort = 7001 # frpc转发3389的端口(即openwrt通信规则中开启的第二条`接受入站`规则端口),与服务器开放的端口一致
保存,在存放frpc.exe
和frpc.toml
目录的地址栏输入CMD回车
启动命令行,输入frpc.exe -c frpc.toml
,如果没有报错,表示成功启动了frpc内网穿透功能,关闭此命令行窗口即停止frpc服务。
接下来,开启远程桌面服务,点击windows左下角开始
->设置
->系统
->远程桌面
->启用远程桌面
。
另外,如果你的windows账户的没有密码,是无法远程连接的,所以请为你的windows账户设置一个你记得住的密码。
手机上安装Remote Desktop(奇怪的是在google play中很难搜到这个APP),打开APP点击右上角的+
添加电脑,电脑名
这一栏填写域名或IP
加上转发的端口号
(例如:rdp.youname.com:7001),确定
,点击
新添加的电脑进行连接,输入远程windows账号和密码
就可以在外网远程控制你内网的windows了。
这样就算是部署完成了,但作为完美主义者怎么能忍受一个命令行窗口在桌面呢,再加上如果开机静默的自启动那就更完美了,网上也能找到相关教程,开干。
在frpc文件目录新建一个start.bat
文件(文件名可随意,后缀为.bat),编辑start.bat
文件:
@echo off
:home
frpc.exe -c frpc.toml
goto home
此电脑
->右键
->管理
->系统工具
->任务计划程序
->右侧创建任务
->在常规
页->名称
->填写Frpc
(可随意填写)->安全选项
->选择不管用户是否登录都要运行
->勾选使用最高权限运行
->勾选隐藏
,
->在触发器
页->新建
->开始任务
选择启动时
->勾选已启用
->确定
,
->在操作
页->新建
->操作
选择启动程序
->程序或脚本
点浏览
找到C:\Frpc
目录(你存放frpc客户端文件的目录)新建的strat.bat
文件->打开
->起始于(可选)
输入C:\Frpc
(你存放frpc客户端文件的目录)->确定
,
->在条件
页->勾选只有在以下网络连接可用进才启动
->选择可用于连接外网的网卡(例如网络1
)->确定
->此时会弹窗,提示你输入管理员账户的密码->输入密码
->确定
。
重启你的电脑,在任务计划程序
->任务计划程序库
中查看Frpc
任务的状态
是否显示正在运行
(如果显示的不是正在运行,那说明你设置错了)。
开机后不会弹出命令行窗口,但实际上frpc
服务已开机自启动了。
为了安全起见,建议不定期修改令牌和远程桌面的端口,是的,三个端口都要改。
windows修改远程桌面端口
win
+R
->输入regedit
->找到计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
目录下的PortNumber
->双击打开->切换到十进制
修改端口号->确定
后重启电脑生效。
本地C:\Frpc\frpc.toml
文件和服务器都要修改成一致的令牌和端口号。
国内下载地址:
下载地址:win Frp + android RD客户端 密码:666
参与讨论
(Participate in the discussion)
参与讨论
没有发现评论
暂无评论