云电脑搭建且网络优化记录

记一次云电脑搭建与网络优化过程

前提

6月初我配了一台电脑,于是原先的游戏本就闲置了,正好我哥轻薄本性能比较弱,就用游戏本给他搭建了一个云电脑平台,由于地理位置较远(我在北京,我哥在上海),延迟较高,索性又搭建了一个加速器用于加速双端网络。

用到的相关软件有:远程控制分成两个软件,RDP与parsec,RDP用于普通办公,不需要用到显卡的相关软件,parsec用于游戏与需要用到显卡的相关软件。网络部分主要用到了wangyu-大佬在github开源的tinyfecXXXtinyPortMapper项目,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
2
3
4
#!/bin/bash

#xxx.com对应为自己的域名
ping xxx.com -c1 | grep 'PING xxx.com' | awk 'gsub(/[\(\)\:]/," "){print $3}'

将该脚本保存为dns2ip.sh,调用该脚本会输出域名对应的ip。

上诉文章的 在虚拟机中运行 部分代码中,将服务端ip替换为使用以上脚本获取的ip,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

#解析域名
serverip=$(sh dns2ip.sh) #注意在自己环境中的位置

#运行udp2raw client
./udp2raw_x86 -c -r$serverip:9966 -l 127.0.0.1:8855 --raw-mode faketcp -a -k passwd

#运行tinyFecVPN client
./tinyvpn_x86 -c -r 127.0.0.1:8855 --sub-net 10.222.2.0 --tun-dev tun100 --keep-reconnect --report 10 -k 1234

#开启ip forward:
echo 1 >/proc/sys/net/ipv4/ip_forward

#配置SNAT:
iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o tun100 -j MASQUERADE #192.168.99.0/24 改成你自己的局域网网段

#配置路由
ip route add $serverip/32 via 192.168.99.1 #44.55.66.77改成你的VPS ip; 192.168.99.1改成你的网关(一般是路由器的ip)
ip route add 0.0.0.0/1 via 10.222.2.1 dev tun100 #(如果把tinyfecVPN换成OpenVPN+UDPspeeder,可能需要修改)
ip route add 128.0.0.0/1 via 10.222.2.1 dev tun100

如此便能让程序支持dns解析,上诉文章做到此步骤之后,虚拟机中的所有流量应该能够加速网络了,但是物理机还需要配置才能够使用。

如果物理机有两个物理网卡,此步骤可以简化为使用虚拟机 桥接的网卡,将该网卡的ip网关配置为虚拟机中获取到的ip地址,并且配置跃点数,让计算机优先使用该网卡上网,如下图:

ip配置

此步之后,物理机的网络就会被加速器加速。

如果物理机只有单个物理网卡,那么需要让物理机优先走虚拟机中放出的网络,要实现这个目标,首先需要为虚拟机添加网络接口,并将虚拟机原先的接口配置为wan防火墙,新添加的接口配置为lan防火墙,且配置lan口的网段为新的网段,完成以上步骤之后,还需配置电脑中的虚拟网卡ip与跃点数。此步骤较为麻烦,等后续有空再放个图片说明。


使用效果

根据我哥实际测试,在周五晚上9点-10点半1.5个小时的守望先锋游戏中,游戏延迟平均为18ms,parsec画面传输延时最高50ms,整体延迟大概为70~80ms,游戏过程中仅有1次不到1s的卡顿,加上守望先锋之前其余游戏的时长,总共3个小时的游戏时长,跑了21Gb的上行数据,平均上行速度为2.25Mb/s。

流量信息


云电脑搭建且网络优化记录
http://ccffee.fun/2022/06/25/云电脑搭建且网络优化记录/
作者
ccffee
发布于
2022年6月25日
许可协议