云电脑搭建且网络优化记录
记一次云电脑搭建与网络优化过程
前提
6月初我配了一台电脑,于是原先的游戏本就闲置了,正好我哥轻薄本性能比较弱,就用游戏本给他搭建了一个云电脑平台,由于地理位置较远(我在北京,我哥在上海),延迟较高,索性又搭建了一个加速器用于加速双端网络。
用到的相关软件有:远程控制分成两个软件,RDP与parsec,RDP用于普通办公,不需要用到显卡的相关软件,parsec用于游戏与需要用到显卡的相关软件。网络部分主要用到了wangyu-大佬在github开源的tinyfecXXX与tinyPortMapper项目,tinyfecXXX主要用于加速网络,tinyPortMapper用于端口转发。加速器平台上,服务端用的是Ubuntu 18.04的物理机,客户端用的是VirtualBox上的轻量化LEDE软路由虚拟机(wangyu-大佬项目中提供)。
云电脑部分
搭建云电脑技术含量并不高,将笔记本重装为专业版win10(专业版自带RDP)后,打开远程控制与网络唤醒,路由器(已有外网ip并且配置了DDNS)将DMZ设置为Ubuntu服务器的内网ip,并且将对应端口转发到笔记本的3389端口(RDP远程控制所用端口),完成后RDP就可以使用了。parsec更加简单,笔记本上直接安装,并且登录后,就可以在另外的电脑上用parsec直接远程了。
网络优化部分
虽然parsec使用了p2p打洞,但是上海到北京毕竟路途遥远,再遇到网络高峰时期,丢包、延迟也是少不了的,正巧今年在V2EX上看到了wangyu-大佬开源的加速器,就想利用这个加速器将双端的网络进行加速。
该部分参照了tinyfecXXX项目WIKI中的文章(下文中的上诉文章,皆指该文章)并且做了一些扩展与修改。
原理方面,我也只是折腾的菜鸟,说不上一二,建议直接看项目中的原理介绍。
搭建过程
服务端方面与上述文章所述无异,客户端方面做了些许调整。由于tinyfecXXX并不支持dns域名连接,所以在上诉文章有关服务端ip的配置中,需要做一些修改。首先需要写一个linux下获取ip的shell脚本,脚本内容如下:
1 |
|
将该脚本保存为dns2ip.sh,调用该脚本会输出域名对应的ip。
上诉文章的 在虚拟机中运行 部分代码中,将服务端ip替换为使用以上脚本获取的ip,如下:
1 |
|
如此便能让程序支持dns解析,上诉文章做到此步骤之后,虚拟机中的所有流量应该能够加速网络了,但是物理机还需要配置才能够使用。
如果物理机有两个物理网卡,此步骤可以简化为使用虚拟机 非 桥接的网卡,将该网卡的ip网关配置为虚拟机中获取到的ip地址,并且配置跃点数,让计算机优先使用该网卡上网,如下图:
此步之后,物理机的网络就会被加速器加速。
如果物理机只有单个物理网卡,那么需要让物理机优先走虚拟机中放出的网络,要实现这个目标,首先需要为虚拟机添加网络接口,并将虚拟机原先的接口配置为wan防火墙,新添加的接口配置为lan防火墙,且配置lan口的网段为新的网段,完成以上步骤之后,还需配置电脑中的虚拟网卡ip与跃点数。此步骤较为麻烦,等后续有空再放个图片说明。
使用效果
根据我哥实际测试,在周五晚上9点-10点半1.5个小时的守望先锋游戏中,游戏延迟平均为18ms,parsec画面传输延时最高50ms,整体延迟大概为70~80ms,游戏过程中仅有1次不到1s的卡顿,加上守望先锋之前其余游戏的时长,总共3个小时的游戏时长,跑了21Gb的上行数据,平均上行速度为2.25Mb/s。