前言

工作原因,加上家人时不时有使用电脑的需要,除NAS以外,家里又添置了一台长期开机使用的电脑,兼作下载机、HTPC和后台处理一些文件使用。

而自己住在学校,常常是半个月才能回家一次,却经常要访问家里的电脑、NAS以及其他一些要使用浏览器访问的内网设备,碰到家里人有不会操作电脑的时候,还需要远程协助,于是乎笔者就折腾起了远程桌面。

远程桌面的选择

之前一直听说TeamViewer好用,首先想到的就是这个软件,个人版是免费的,使用起来是真的很方便,个人版免费,输入ID就能使用了。

TeamViewer的界面

结果没想到才几分钟,居然提示检测到商业用途,连接时长被限制(???黑人问号)

???

实际用起来基本上3分钟连接就断开了,这点时长能干个啥?解封倒是可以,据说换网卡mac地址就行,但用久了还是有几率被封,在此有点怀疑是移动宽带共享ip的问题。

再点进去看一眼商用价格……单用户都要148一个月,一年就是1700多元,有这点钱都够我拉条千兆光纤宽带了,加上前段时间曝出的安全问题,果断打扰告辞,大概是我的钱包配不上TA。

再有就是国内比较有名的向日葵,和做内网穿透的花生壳是一家公司。试用了一下,确实是比较完善了,而且个人版永久免费,这点就比较良心。

不过免费版限速到了300KB/s,画面模糊感太重了,帧数更是只有15帧左右,卡顿非常严重,而且大概是使用CPU转码来串流屏幕显示画面的原因,还经常占掉被控制机器百分之二三十的CPU(其实TeamViewer占用的资源也不低)。

向日葵的压缩算法CPU使用率较高

分辨率的设置也很有限,有时候需要在iPad上管理,就只有1920x1080和1280x1024两种选择,前一种画面太宽,后一种又分辨率太低且太窄,实在是尴尬。

好处是相对便宜,个人使用一年98块,只能控制一台机器,两台机器就是148,但考虑到局限性大、占用的资源比较多,还是没有选择向日葵。

除此之外还有Anydesk,但是又担心服务器在国外,不够稳定。

再一个原因就是家里这台电脑是设有密码的,一旦出现停电,机器再重启以后不输入密码是无法进入操作系统的,远程软件也就无法自启,那远程控制就无从谈起了,还得打电话叫人来输入密码。

吐血了,难道就没有画面清晰度好占用资源低,又能多平台使用,,价格不高,还能拿来搞些骚操作的远程桌面方案吗?

坐在板凳上完成社会与人生的大思考之后,忽然想到似乎Windows自带的远程桌面就能满足绝大部分需求了,但奇怪的是都没见过大家用这东西,难道是不好用?

非也非也。

Windows远程桌面初见

微软集成进Windows系统的远程桌面功能简直是个免费的大蛋糕,使用的RDP协议经过了很多次迭代非常成熟,如果不是广告法限制的话,应该可以称是最好用的远程桌面了,各种特性多到数不过来,随便列举几条很实用的。

  • Windows的剪贴板数据可以在远程及本地计算机之间互通——如果你在用一台Windows电脑控制另一台的话,基本上复制东西Ctrl+C,Ctrl+V就好了。
  • 远程应用程序,磁盘映射——也就是说远程那台电脑有啥软件没有安装的话,可以把本地的硬盘映射上去,直接打开软件,简直是远程帮电脑小白操作的福音,工具都不用传过去了,也可以用来传文件。
  • RemoteFX网络自动检查和渐进式渲染 自动适应最初以及不断变化的网络条件,提供更好的用户体验。
  • 支持嵌套RDP会话。——也就是如果局域网里还有其他电脑的话,可以玩套娃,用一台电脑控制另一台电脑再用那台电脑控制另一台电脑再……
  • 你可以在远程桌面会话主机之间进行USB重定向。——意思是你可以在一台电脑上用另一台电脑上插的USB设备,比如说U盘。
  • RemoteFX 流媒体。视频和音频内容在服务器端使用常见的编码器(H.264、AAC、RDP渐进)进行编码并发送到客户端进行解码。——也就是说这货还能用来远程看视频,应该来说画质比向日葵那种录屏再解码的好了一大截。

再有就是最重要的一条:

  • RemoteFX图像自适应。RDP监测正在交付的内容类型并采用不同的编码技术对特定的内容进行性能优化。

就是这货决定了Windows远程桌面画质远远的要好于第三方软件。

简单的来说,微软协议级别的远程控制程序可以判断屏幕里哪些内容是变化的,画面变化了哪点传哪点,哪里不会点哪里。

还有时候传的是描述数据,比如在哪里显示一个窗口,一个按钮,一行文字,而不是很多软件那样简单粗暴的连续截图,压缩再传输。这个样子就能成倍的减少要传输的数据量,还能降低延迟。再加上RemoteFX还支持硬件加速渲染,CPU使用率也要比传统的一些第三方远程控制软件低。

至于配置方便程度嘛,如果你用的是Windows10系统的话,点开系统设置就能看到了,非常方便。

客户端也只要输入被控制机的ip地址,设定的账号和密码就行了,甚至还有手机、iPad客户端,同样功能非常完善。

iPad、iPhone、安卓、macOS、Linux都有对应的客户端

那么到底为什么Windows自身的远程桌面几乎没什么人用呢?

原因是这货基本就只能在局域网使用,想要外出控制家里或者公司的电脑就没辙了,除非你有一个公网IP地址,并且可以在路由器端把远程控制使用的端口映射出去。

而目前公网ip的情况嘛……移动完全是个大内网,电信联通要好一些,看运气或许能申请到动态ipv4地址,再买一个域名,使用DDNS(动态DNS解析)把一个不会变化的网址解析到不断变化的ip地址上。

你说巧不巧,我家的网络就是移动大内网(捂脸)。

因此,为了解决这个问题,就只有一种方案:内网穿透。

内网穿透的实现方式

在此复习一下内网穿透的知识,你必须要一台有拥有公网ip的服务器,在服务器和需要转发的机器之间建立一条通信信道,把处在内网,需要转发的那端的数据包发送到拥有公网ip的服务器,再由服务器发送给需要这个数据包的客户端。

简单来说就是找了一个媒婆,本来在男女双方素昧生平,在茫茫人海之中根本不知道对方的存在,但是媒婆有广泛的人缘网,就能把一方的身高,工作,收入、性格告诉另一方,协助两方交流信息,最后把双方撮合上(划掉)

目前最常用的内网穿透方式,第一种是自己购买云服务器,配置FRP客户端/服务端,但是对于没有接触过的新手来说,这货的配置文件实在是填过一次就不想再填第二次了,非常繁琐,需要有一定的Linux或命令行使用基础。

还有个比较简单直观的NPS,有图形界面,填写配置文件要方便不少,但还是会涉及到安装Docker虚拟机的步骤。对于不怎么会折腾的新手来说,自己购买云服务器并且配置穿透服务就可以先丢一边了。

再有就是一些服务商提供的穿透服务+软件,比如说花生壳就有这方面的服务,配置方便,不过价格相对比较贵,有些还会限制端口吗,往往是不开放80/433的web服务端口的。

而且以上两种方法都有同一个缺点,在操作系统没有启动/登录,或者网络因为各种原因出现问题的情况下是无法正常使用的,也就是说一旦碰上突发情况,和前面的第三方软件远程桌面有一样尴尬的问题。

这时候就要祭出我们的神器了,公网IP盒子。

什么是公网IP盒子

公网IP盒子或者穿透盒子其实就是一类硬件上独立的内网穿透服务包括路由器如果可以配置FRP/花生壳之类的服务的话,同样能够当作盒子使用,只是一般家里/公司的路由器很少会有这项功能。

最后找了一圈,发现了这个零遁的公网IP盒子,按带宽付费,还开放了80、443端口,可以用来搞点骚操作,除此之外还发现了一些有新意的功能。

零遁公网IP盒子开箱

看盒子外面的图案还以为是路由器,实际盒子很小,桌子上的键盘和机箱都是很迷你的。

打开盒子以后看到本体,是一个黑色的金属盒子,旁边放着两根天线,以及电源适配器,机身顶部有很多颗指示灯。

不过要吐槽一下,这个LED指示灯直接暴露在外,实在是太亮了,最好能把他丢弱电箱或者柜子里。

天线装起来以后,的确是看着有点像路由器,正面有一个USB口和一个SD卡槽,并不知道是用来干啥的。

侧面就比较有意思了,除了WiFi天线之外,还有一对3G/4G天线的孔位,以及SIM卡槽,不过目前应该是没有实装的状态,个人觉得如果能利用上的话,万一发生网络故障的话还可以使用4G网络来继续远程控制,也是很实用的功能,尤其是对不怎么稳定的移动宽带来说(划掉)。

背面也是标准的路由器规格,四个LAN口一个WAN口,均为百兆,有点可惜,不过这货也不是当路由器来用的,百兆千兆一般来说无所谓,至于为啥,后面再讲。

背面标签上印着用来管理设备的SN,型号零遁Edge,还有机器对应的IP地址。

插线也很简单,蓝色的WAN口接入到互联网,直接连到路由器就行,黄色的LAN口连接到需要使用公网IP的电脑/NAS/服务器的第二个网口。是不是有点疑惑,为什么是第二个网口?

其实这货的工作原理的确就和路由器一样,自身就带有DHCP功能,会生成一个局域网,并且给其下的设备分配IP地址,所以他是可以让多台设备同时使用公网IP的

而连接到第二网口,一是为了不影响下面连接的设备的网速,并且让设备保持在原来的局域网内二是独立的第二条线路可以用不同的线路或ISP(运营商),来实现第一个网口的网络掉线的情况下依然能够联网

这也就是我对以后这类设备可能拥有4G网络功能如此感兴趣的原因,这应该是盒子类硬件的另一个发展方向吧,作为网络不稳定时的备用线路,如果再能加上远程重启和WOL(局域网唤醒)之类的功能的话,就可以实现完全无人管控的远程操作了。

所以说,现在你知道双网口电脑的出现到底是为什么了吧。

接下来试一下这个盒子的延迟情况,毕竟延迟直接决定了远程桌面的跟手度,移动宽带果然还是不行,延迟在54ms左右。

应该跟我是用的ip是北京,而地址在江苏也有关系,建议让客服帮忙选择最近的机房。

而在ChinaZ全国各个节点测到的平均延迟44ms,最低的只有8ms,广西那个是测速商的机房挂了,他家连网站都进不去(笑)。

盒子看完了,接下来看看怎么配置Windows远程桌面吧

Windows远程桌面的配置

对于Win10来说,远程桌面配置简直是太简单了,话不多说,点开开始菜单设置系统,看到左侧的那个远程桌面了吗?

这个时候已经能够登录远程桌面了,只要使用当前登录电脑电脑的账号和密码,点开“先择可远程访问这台电脑的用户”就可以看到“[你的用户名]已经有访问权限“这句话。这个”[你的用户名]“就是用来登录远程桌面的账号。

但是如果你的电脑没有设置密码(或者用的是123456这种弱密码)的话,就没办法(或者不推荐)登录远程桌面了,这时候可以另辟蹊径,创建一个访客账号,如下图。

缺点是登录这个访客账号时,需要注销并且重新登录Windows,文档数据也是独立的,比较适合把电脑借给别人或者临时办公使用。

可以通过修改注册表来实现无密码登录,但是由于我们现在是将远程桌面的端口暴露在互联网中的,谁都可以连,所以千万不要无密码和弱密码登录!否则你的电脑随时会成为一台黑客手中活着的肉鸡。(甚至建议大家修修改注册表,不使用默认的3389端口)

以上是Windows 10的设置方法,Windows 7、Windows Server由于我的手里没有示例,巧妇难为无米之炊,大家可以善用搜索引擎,比如说搜索“Win7开启远程桌面“。

设置完被控制端,我们就可以开始远程控制了。

所有Windows设备的操作都是相同的,只需要按下快捷键”Win+R“,或者在Windows徽标上右键,选择“运行”,在弹出的窗口输入“mstsc”就可以了。

如果用的是Windows10的话,还可以直接搜索“远程桌面”。

计算机名称填的就是公网ip盒子的IP地址,如果你有在阿里云(万网)之类的地方注册过域名的话,还可以添加一条解析到这个ip地址,直接用自己的网址访问。

阿里云注册个域名也很便宜,由于盒子开放了80和443端口(需要备案),还可以把博客或者公司主页之类的页面挂在上面,这点零遁edge这个公网ip盒子要比向日葵之类的可玩性高多了。

解析到阿里云域名的方式如下图,注册域名的方法就不解释啦,主机名可不填。

下面来见识一下Windows远程桌面的强悍之处,首先是自定义分辨率,手动可以拉到4K,而适应桌面分辨率是直接按照,客户端的显示器分辨率来,土豪玩家可以试试5K分辨率,当然你的带宽得支持,一般4Mbps用1080P已经是极限了

本地资源这里可以把你的剪贴板,硬盘,U盘,打印机和COM口的设备统统映射过去,而且是驱动级别的映射,性能不错,映射过去的硬盘甚至可以在远程打开本地的软件。

那么说了这么多,那么用连接之后使用的体验到底怎么样(动图)?这个时候使用的上行带宽在4Mbps左右,也就是大约500KB/s,实际拖动起窗口来帧数大概有40fps以上,非常流畅,而延迟估计大概在100ms左右,也是受到了移动宽带的影响,基本上可以接受。

最强大的是,画面几乎没有任何失真情况出现,字体非常清晰。

试了一下300KB/s也就是2.4Mbps的免费版向日葵,带宽大约是Windows远程桌面+零遁公网ip盒子的一半,但实际拖动窗口体验可以说是只有四分之一都不到,帧数只有10fps左右,卡顿非常严重,延迟也高出接近一倍,而且还有轻微的画面失真,就像看一些低码率的网络视频一样(动图),如果用付费版的话,同样的画面质量也会占用更大的带宽。

而且为了节省带宽,向日葵还会把壁纸设置成黑色,并且关闭拖动窗口的动画效果。

微软的软硬件底层加速还是厉害,比单纯的录屏强多了。

在这种带宽下,甚至还可以小窗口播放视频,实时的转码有些失真,但用来预览视频文件足够了,而且播放视频也能接近30fps的帧率,非常流畅(动图)。

免费版的向日葵由于没有那么好的压缩算法,在带宽差一半的情况下,由于没有那么强的压缩算法和硬件加速,画质和帧数更是要差上很多倍了。

而且微软的手机版客户端也要完善很多,还支持硬件键盘和SwiftPoint鼠标。

假如你因为经常出差在外等因为各种原因不想要带电脑,笔记本性能不够用,或者需要远程控制家里/公司的电脑来完成工作的话,基本上配合一台平板电脑,或者手机+便携显示器,连接上蓝牙鼠标和键盘,就是一部随身PC了。

就比如说最近我有一次上课没有带电脑,恰好那节PLC编程课需要使用电脑,就直接用iPad+远程桌面搞定,简直不要太方便。(对于一些学校的内网来说,还可以直接使用局域网ip连接)

总结

Windows远程桌面用下来感觉最大的好处就是终于不再受制于人了,而且比第三方更稳定,不容易掉链子,由于微软粑粑的底层优化和硬件驱动,性能更是要远好于第三方软件

微软被戏称为“iOS最佳开发者”也是不无道理的,所以在iOS设备上远程控制软件表现也非常好,一直在稳定更新加入新的内容,不像其他一些远程控制/云电脑软件,大部分只有安卓平台才有更好的体验。

配合上我手上这台零遁的公网ip盒子,还能实现在没有登录Windows,意外断电之后重新来电还能顺利连接,甚至可以专门为远程控制准备一条专线,稳定性大幅提升,而且端口的使用非常自由,在有备案的情况下还可以用来搭建博客、企业门户。

不过这个盒子目前的功能还在完善,依然有一些不足的地方,如今的网络社会越来越浮躁,相信很多人只是想看个结果,在此我也来列举几条优势和待完善的点供大家参考:

势:

  • 独立的硬件,在被控制端未开机、主要网络断开、软件出现问题的情况下依然能够正常工作。
  • 相比路由器、软路由配置内网穿透,配置更简单,即插即用,不需要任何设置。
  • 按带宽收费,相比按证书收费,被控制端越多收费越贵的服务来说更划算。
  • 在全国有多个服务器,延迟更低。
  • Windows远程桌面相比第三方兼容性、性能更好。
  • 开放80/443端口,可以搭建博客、企业门户等网站。

待改进:

  • 除了按带宽付费方式外,可以再推出按流量付费的方式,提供给偶尔使用但对带宽要求比较高的用户。
  • 最好能够推出千兆网口的版本,用于单网口的设备。
  • 建议添加一个图形化Web管理界面(或APP),进行端口管理,内网设备管理。
  • 最好能拥有WiFi功能、4G功能,拓展更多连接方式,相关功能可以在Web管理界面中体现,如果能将设备上的USB、SD卡槽用上,当作一个简易的网络存储设备更好。
  • 最好能添加WOL局域网唤醒,用于远程开启计算机,可以在Web管理界面中体现相关功能。
  • 可以将下一代设备的供电方式变为USB供电,减少插座使用量。
  • 指示灯过亮,红、蓝色LED比较刺眼,可以更换为雾面LED或者使用导光板,并降低亮度,或者将LED变为白色、橙色、浅绿色等中性色。

拓展知识1:修改注册表从而更改Windows远程桌面的默认端口

PS:如果此处图片过小,可以在新标签页中打开图片

windows服务器远程桌面端口默认是 3389端口,使用系统默认端口的风险很大,很容易被攻击软件扫描以及攻击,同时频繁的扫描和攻击会导致服务器的 CPU 及带宽资源耗尽,因此为了保证服务器的安全性,建议修改默认的3389端口,将之修改为其他不常用的端口。

下面介绍Window10下远程桌面端口修改的步骤流程。

一、打开注册表(通过开始菜单处输入命令输入 regedit回车即可打开注册表信息,或者Win键+R键打开输入框后输入regedit后回车)

二、打开注册表后,在左侧属性菜单进入下列路径“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp”,找到打”PortNumber”键值对照的端口数字,然后修改;

三、接着修改”HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp”对应的”PortNumber”值,一并改掉。 修改成平时很少用的端口数字,指定远程连接端口的范围在 1025-65535 之间,比如改成 7892 都可以。

四、修改完上述两个设置项后,如果设置了【Windows防火墙】,一定要到防火墙中放行你设置的这两个端口。

六、重启远程桌面连接服务,或者重启电脑。重启远程桌面服务会导致当前的连接中断。

至此修改默认远程端口的任务已经完成,再次远程桌面连接服务器的时候,需要按以下格式输入服务器地址

[你的IP地址]:[远程桌面端口号]

即在IP地址和端口号之间加个冒号(使用英语输入法)