一、背景

今年因为新型冠状病毒感染的肺炎,大部分企业延迟复工。本羊也不例外,虽然没有去单位上班,但是在家远程办公。为了远程单位电脑,本羊把主流远程软件都试了一遍。

  • Teamviewer。优点:连接速度快,延迟小。缺点:频繁使用会被误认为是商业用户,而限制远程时间。
  • AnyDesk。 优点: 简单易用。 缺点:可能服务器不在国内,延迟也较大。
  • 向日葵。优点:简单易用。缺点:免费版,用的人多延迟大。
  • QQ远程协助。 优点:响应速度比AnyDesk和向日葵略快。缺点:远程屏幕不能适应窗口。
  • Windows系统自带远程桌面。优点:简单易用,响应速度快。缺点:要公网IP。

所以本羊要流畅控制单位电脑面临着三个问题:

1、 单位因为漏洞的问题把Teamviewer屏蔽了。

2、单位电脑操作系统是Windows 7 家庭版,没有远程桌面功能。

3、单位因为勒索病毒把Windows远程桌面的默认端口3389屏蔽了。

二、工具

  • 阿里云服务器ESC。配置:1核 2GB ,40G云盘,1Mbps带宽,操作系统 CentOS Linux 7.7.1908。当时用提货券1折买了叁年,非常划算。
  • Frp。frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。阿里云服务器使用的版本是:frp_0.31.1_linux_amd64.tar.gz。单位Windows电脑使用的版本是:frp_0.31.1_windows_amd64.zip。
  • RDPWrap 。如果你需要远程的电脑系统是家庭版,没有远程桌面功能,那么你可以用这个软件作为补充。单位Windows电脑使用的版本是 :RDPWrap-v1.6.2.zip。
  • WinSW。这个软件是用于将单位电脑上的Frp客户端注册为服务。这样就不需要cmd去操作,非常方便。单位Windows电脑使用的版本是 :WinSW.NET4.exe

以上工具,本羊都给出了购买或下载链接。github下载挺慢的,因此我将上述软件打包传到了百度网盘。有需要的可以点击以下链接下载:

链接:https://pan.baidu.com/s/18bKVehd46yxPNn-lHx08dA
提取码:ma1u



三、阿里云服务器部署Frp服务端

本羊是小白,云服务器使用的是宝塔面板。文件的上传、配置文件的编辑均通过宝塔面板完成。

1、服务器根目录新建文件夹frp。

2、上传 frp_0.31.1_linux_amd64.tar.gz

3、解压 frp_0.31.1_linux_amd64.tar.gz

4、可以将带“frpc”字眼的文件都删掉(这些文件用于客户端的)

5、编辑frps.ini,保存

[common]
bind_addr=0.0.0.0
bind_port = 7000
auto_token= 12345678

dashboard_port = 7500    #这个是frps面板的端口,可以查看连接状态
dashboard_user = admin   #这个是frps面板的默认用户名,可自行更改
dashboard_pwd = admin    #这个是frps面板的默认密码,可自行更改

6、阿里云服务器进行安全配置-入方向,把本教程涉及的端口都放开。当然你也可以设置端口范围,一劳永逸。注意,如果使用了宝塔面板,也需要在宝塔面板【安全】设置中放行对应端口或端口范围。

阿里云安全配置示例

宝塔防火墙放行端口示例

7、用宝塔终端启动frps

 ./frps -c ./frps.ini 

8、启动成功的验证方法:

1、看返回的信息。frp监听7000和7500端口正常。显示success。

2、访问frp面板。 frp面板地址是: 服务器IP:7500




三、单位Windows系统电脑部署Frp客户端

1、在某硬盘新建frp文件夹

2、下载并解压 frp_0.31.1_windows_amd64.zip

3、 可以删除带“frps”字眼的文件(这些文件用于服务端,在客户端用不上)

4、编辑frpc.ini,保存

[common]
server_addr = *.*.*.*       #这里填云服务的公网IP地址
server_port = 7000

[SHEEP]                     #方括号中的名字可以自己取
type = tcp
local_ip = 127.0.0.1
local_port = 3389           #这里填单位电脑的远程桌面端口,默认是3389
remote_port = 7001          #这里填frps监听的端口

5、把WinSW.NET4.exe复制到与frpc.exe同一个文件夹中,并改名为: winsw.exe

6、把sample-minimal.xml复制到与 frpc.exe同一个文件夹中,并改名为: winsw.xml

7、删除winsw.xml里的文本,重新编辑如下,保存

<service>
    <id>frp</id>
    <name>sheep</name>
    <description>sheep</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <onfailure action="restart" delay="60 sec"/>
    <onfailure action="restart" delay="120 sec"/>
    <logmode>reset</logmode>
</service>

8、以管理员权限打开一个cmd命令窗口,cd到frp文件夹所在目录,执行:

winsw install
winsw start

不会cd到xx文件夹所在目录的看这里,例如我们现在要cd到E盘的temp目录,我们先到对应盘符,再cd到temp文件夹

9、检查Windows服务是否已添加frp服务。若添加成功未启动,则启动它。

10、修改 frp服务的属性,让它能在失败时自动重新启动

10、访问frp面板,查看单位电脑是否已经被云服务器监听了。显示online就是成功了。

11、最终验证就是用远程桌面连接:

以上都是建立在大多数情况下,即你不需要改远程桌面默认端口和Windows系统支持远程桌面功能。




四、单位屏蔽了远程桌面的3389端口怎么办

答:自行修改远程桌面的端口

开始 ——> 运行 ——> 输入regedit打开注册表编辑器,修改2处:

第1处:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]

PortNumber值,默认是3389,选择十进制,改成你所希望的端口(范围在1024到65535,而且不能冲突),比如7123(还记得我们之前放行的端口范围是7000-8000吗?)

第2处:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]

PortNumber值,默认是3389,选择十进制,改成你所希望的端口(范围在1024到65535,而且不能冲突),比如7123。如下图:

3、重启系统使设置生效。

注意:两次修改的端口值要一致。

4、这样你在远程桌面的时候输入的端口号就不是3389了,而是7123




五、单位Windows系统的电脑只有远程协助,没有远程桌面怎么办

1、下载并解压 RDPWrap-v1.6.2.zip

2、用管理员权限运行install.bat

3、显示安装成功后,双击RDPConf.exe查看状态。左边三行显示绿色即正常。另外记得检查RDP port的端口号是不是与上述修改注册表的一致。

4、最后双击RDPCheck.exe验证,弹出的对话框就是你在实际远程时弹出的界面。

5、大功告成。

对本教程有任何疑问欢迎留言。有不当之处还望批评指正!