Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
在办公室操作家中电脑——FRP内网穿透与远程桌面(一)
Experiences and Insight
4762
views ·
4
replies ·
To
floor
Go
张龙于飞
deepin
2019-06-17 20:13
Author
本帖最后由 cnedun 于 2019-6-17 12:47 编辑
一、需求
电脑A:在家中,windows10 专业版系统。电脑B:在办公室,深度Linux系统。电脑C:windows7系统,偶尔使用。假如,电脑A 运行着一套软件开发环境,有时需要在电脑B或电脑C中进行调试,或者需要使用电脑A中的某些windows软件来完成工作。也就是电脑A提供远程桌面服务,将电脑B和电脑C当做终端,使用电脑B或电脑C 来操作 电脑A。反之,有时也同样需要使用电脑A来操作电脑B中的某些内部专用办公系统。
二、解决方法探讨
1、这样的需求不一定非要使用远程桌面吧?
用笔记本,安装双系统,走哪儿带哪儿,一样解决问题啊。额......,好吧,这个解决办法不是本文要讨论的,我说的就是远程连接电脑和远程工作的问题。
2、使用向日葵或 teamviewer 类软件
这类软件使用方法比较简单,并且都有免费版本,本人使用的均是免费版本,主观感觉向日葵速度延迟较大,如果要低延迟那就需要付费。TeamViewer 的速度已经基本能满足远程办公的需要。
向日葵需要在电脑A中安装服务端,注册账号并登录,在电脑B或电脑C中安装控制端,用同样的账号登录,就能看到电脑A已经是在线状态,即可发起远程控制。
teamviewer 在电脑A和电脑B中同时安装,运行TeamViewer后会显示ID和密码,电脑B输入电脑A中的ID进行连接,输入密码即可实现远程控制。此密码会自动更新,但是可以自己指定一个固定密码。
3、 VNC类软件
VNC(Virtual Network Computing)是一个开源、免费的,基于RFB(Remote Frame Buffer)协议进行通信并完成桌面传输显示和操作,RFB (远程帧缓存) 是一个远程图形用户的简单协议,它可以应用于所有的窗口系统:Linux桌面、Windows和Mac系统。
Linux上的VNC服务端,比较常用的就是tigervnc和x11vnc,Linux上的VNC客户端比较多,例如,Remmina 同时支持RDP和VNC协议。
在Windows上支持VNC协议的软件,常用的有RealVNC(收费)、UltraVNC(免费)和TightVNC(免费),它们同时既是服务端又是客户端。
4、远程桌面服务
在桌面虚拟化技术中,当前主流的桌面传输协议有ICA、PCoIP、RDP、SPICE四种,也就是通常所说的桌面云。Windows 10 系统中的远程桌面,使用的就是 RDP(Remote Desktop Protocol),即远程桌面协议。
区别:
VNC是服务端把桌面窗口渲染完成后将图像直接传输给客户端,客户端只是对图像进行解码显示;而RDP和SPICE相当于将桌面窗口数据传输给客户端,再由客户端生成图形和图像显示,更加适合虚拟桌面使用。SPICE是一个开源协议,RDP的客户端是开源的但是服务端不开源。
至于那些抓屏幕的远程控制软件,比如PCAnywhere,就不提了吧,毕竟现在已经是云计算、虚拟化技术大行其道的时候了。
5、华为云电脑
华为云电脑估计使用的的是华为自己的HDP协议,HDP源自ICA,不过华为云电脑目前好像只支持华为手机吧,没有PC系统的客户端,并且云电脑可选配置少,不能自定义,但是其中有一款是游戏款,可见已经整合了显卡虚拟化技术,应该类似于微软的RemoteFX。本人简单试用了一下,效果不错,这个或许是以后的发展方向,桌面虚拟化走向大众用户,以后一般情况下就不用再买电脑了,一部手机,或者一台瘦客户终端(机顶盒),一台显示设备(显示器、电视、投影),再配合宽带或5G网络,就可以连接云电脑来完成自己的工作。
三、方案选择
1、电脑B远程连接电脑A
电脑A是Windows10企业版,最方便的当然是开启远程桌面服务(RDP)。但是前提条件是:如果使用RDP,就需要服务端电脑具有公网IP地址。
家里的电脑A,网络使用电信100M,上行4M,虽然有公网IP地址,但是需要用超级管理员(一般是telecomadmin)登录天翼光猫,做端口映射,才能用使用公网IP地址连接到电脑A。另外,家用的电信宽带公网IP地址是动态变化的,需要使用路由器自带的花生壳之类的服用来解决。也就是在没有解决这些问题之前,电脑A属于内网,而无法暴露在公网中。
现在的问题就是如何让内网电脑(电脑A)向外网用户(电脑B)提供远程桌面、WEB等网络服务?那就是使用一台具有公网IP地址的服务器做为
反向代理
,实现
内网穿透
。电脑A向反向代理服务器发送请求,接着反向代理向电脑B转交请求,电脑B向代理服务器返回所请求的内容,代理服务器将获得的内容返回给电脑A。正好,本人有一台阿里云的服务器,可以满足这个要求。
2、内网穿透工具选择:Frp
常见的内网穿透的反向代理程序是 ngrok ,国内有许多提供内网穿透服务的平台都是基于 ngrok 搭建的,但是 ngrok 配置略复杂。本人选择 Frp ,因为配置简单,功能强大。
https://github.com/fatedier/frp 有详细的使用文档。
(图3-1 Deepin 远程连接 Win10)
---
---待续---
---
(来源:
)
Reply
Like 0
Favorite
View the author
All Replies
jianguo922
deepin
2019-06-17 20:23
#1
谢谢分享
Reply
Like 0
View the author
看见如果
deepin
2019-06-18 00:58
#2
闲着蛋疼。。
Reply
Like 0
View the author
aronwd
deepin
2019-07-10 21:18
#3
您这个是不是没有用TIghtVNC啊
Reply
Like 0
View the author
aronwd
deepin
2019-07-10 21:19
#4
您这个是不是没有用TIghtVNC啊
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Events
More
一、需求
电脑A:在家中,windows10 专业版系统。电脑B:在办公室,深度Linux系统。电脑C:windows7系统,偶尔使用。假如,电脑A 运行着一套软件开发环境,有时需要在电脑B或电脑C中进行调试,或者需要使用电脑A中的某些windows软件来完成工作。也就是电脑A提供远程桌面服务,将电脑B和电脑C当做终端,使用电脑B或电脑C 来操作 电脑A。反之,有时也同样需要使用电脑A来操作电脑B中的某些内部专用办公系统。
二、解决方法探讨
1、这样的需求不一定非要使用远程桌面吧?
用笔记本,安装双系统,走哪儿带哪儿,一样解决问题啊。额......,好吧,这个解决办法不是本文要讨论的,我说的就是远程连接电脑和远程工作的问题。
2、使用向日葵或 teamviewer 类软件
这类软件使用方法比较简单,并且都有免费版本,本人使用的均是免费版本,主观感觉向日葵速度延迟较大,如果要低延迟那就需要付费。TeamViewer 的速度已经基本能满足远程办公的需要。
向日葵需要在电脑A中安装服务端,注册账号并登录,在电脑B或电脑C中安装控制端,用同样的账号登录,就能看到电脑A已经是在线状态,即可发起远程控制。
teamviewer 在电脑A和电脑B中同时安装,运行TeamViewer后会显示ID和密码,电脑B输入电脑A中的ID进行连接,输入密码即可实现远程控制。此密码会自动更新,但是可以自己指定一个固定密码。
3、 VNC类软件
VNC(Virtual Network Computing)是一个开源、免费的,基于RFB(Remote Frame Buffer)协议进行通信并完成桌面传输显示和操作,RFB (远程帧缓存) 是一个远程图形用户的简单协议,它可以应用于所有的窗口系统:Linux桌面、Windows和Mac系统。
Linux上的VNC服务端,比较常用的就是tigervnc和x11vnc,Linux上的VNC客户端比较多,例如,Remmina 同时支持RDP和VNC协议。
在Windows上支持VNC协议的软件,常用的有RealVNC(收费)、UltraVNC(免费)和TightVNC(免费),它们同时既是服务端又是客户端。
4、远程桌面服务
在桌面虚拟化技术中,当前主流的桌面传输协议有ICA、PCoIP、RDP、SPICE四种,也就是通常所说的桌面云。Windows 10 系统中的远程桌面,使用的就是 RDP(Remote Desktop Protocol),即远程桌面协议。
区别:VNC是服务端把桌面窗口渲染完成后将图像直接传输给客户端,客户端只是对图像进行解码显示;而RDP和SPICE相当于将桌面窗口数据传输给客户端,再由客户端生成图形和图像显示,更加适合虚拟桌面使用。SPICE是一个开源协议,RDP的客户端是开源的但是服务端不开源。
至于那些抓屏幕的远程控制软件,比如PCAnywhere,就不提了吧,毕竟现在已经是云计算、虚拟化技术大行其道的时候了。
5、华为云电脑
华为云电脑估计使用的的是华为自己的HDP协议,HDP源自ICA,不过华为云电脑目前好像只支持华为手机吧,没有PC系统的客户端,并且云电脑可选配置少,不能自定义,但是其中有一款是游戏款,可见已经整合了显卡虚拟化技术,应该类似于微软的RemoteFX。本人简单试用了一下,效果不错,这个或许是以后的发展方向,桌面虚拟化走向大众用户,以后一般情况下就不用再买电脑了,一部手机,或者一台瘦客户终端(机顶盒),一台显示设备(显示器、电视、投影),再配合宽带或5G网络,就可以连接云电脑来完成自己的工作。
三、方案选择
1、电脑B远程连接电脑A
电脑A是Windows10企业版,最方便的当然是开启远程桌面服务(RDP)。但是前提条件是:如果使用RDP,就需要服务端电脑具有公网IP地址。
家里的电脑A,网络使用电信100M,上行4M,虽然有公网IP地址,但是需要用超级管理员(一般是telecomadmin)登录天翼光猫,做端口映射,才能用使用公网IP地址连接到电脑A。另外,家用的电信宽带公网IP地址是动态变化的,需要使用路由器自带的花生壳之类的服用来解决。也就是在没有解决这些问题之前,电脑A属于内网,而无法暴露在公网中。
现在的问题就是如何让内网电脑(电脑A)向外网用户(电脑B)提供远程桌面、WEB等网络服务?那就是使用一台具有公网IP地址的服务器做为反向代理,实现内网穿透。电脑A向反向代理服务器发送请求,接着反向代理向电脑B转交请求,电脑B向代理服务器返回所请求的内容,代理服务器将获得的内容返回给电脑A。正好,本人有一台阿里云的服务器,可以满足这个要求。
2、内网穿透工具选择:Frp
常见的内网穿透的反向代理程序是 ngrok ,国内有许多提供内网穿透服务的平台都是基于 ngrok 搭建的,但是 ngrok 配置略复杂。本人选择 Frp ,因为配置简单,功能强大。
https://github.com/fatedier/frp 有详细的使用文档。