最近在参加阿里云的云开发校园合伙人的活动,用到了阿里云的Cloud IDE,发现挺好玩的。
进入Cloud IDE
,使用sudo su
获取root权限
虚拟化类型
查看下是否是docker
systemd-detect-virt
返回为
docker
但用
$ps -ef
UID PID PPID C STIME TTY TIME CMD
admin 1 0 0 Aug06 ? 00:00:00 /bin/bash /usr/sbin/ecoboost-cloudide
admin 23 1 0 Aug06 ? 00:00:00 /bin/bash /usr/sbin/ecoboost-cloudide
admin 24 1 0 Aug06 ? 00:00:00 tee /home/admin/ecoboost-cloudide/logs/run.log
admin 94 23 0 Aug06 ? 00:00:42 node /home/admin/ecoboost-cloudide/ecoboost-cloudide/dist-node/server.js
admin 113 94 0 11:04 ? 00:00:00 /home/admin/.tnvm/versions/node/v10.15.1/bin/node /home/admin/ecoboost-cloudide/ecoboost-cloudid
admin 247 94 0 11:04 pts/0 00:00:00 /bin/sh -l
root 329 247 0 11:09 pts/0 00:00:00 sudo su
root 330 329 0 11:09 pts/0 00:00:00 su
root 331 330 0 11:09 pts/0 00:00:00 bash
root 387 331 0 11:20 pts/0 00:00:00 ps -ef
和常见的容器不一样,ecoboost
在网上搜不到有效的信息,大概是阿里云的自研容器架构了。本人小白一个,等大大测试确认
基础信息
试试用秋水大大的脚本:
wget -qO- bench.sh | bash
看起来母鸡内默认开了BBR
----------------------------------------------------------------------
CPU Model : Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
CPU Cores : 5
CPU Frequency : 2499.998 MHz
CPU Cache : 16384 KB
Total Disk : 267.1 GB (20.3 GB Used)
Total Mem : 10704 MB (362 MB Used)
Total Swap : 0 MB (0 MB Used)
System uptime : 2 days, 0 hour 40 min
Load average : 0.00, 0.00, 0.00
OS : Ubuntu 18.04.4 LTS
Arch : x86_64 (64 Bit)
Kernel : 4.19.34-5f5723189
TCP CC : bbr
Virtualization : KVM
Organization : AS37963 Hangzhou Alibaba Advertising Co.,Ltd.
Location : Beijing / CN
Region : Beijing
----------------------------------------------------------------------
I/O Speed(1st run) : 546 MB/s
I/O Speed(2nd run) : 560 MB/s
I/O Speed(3rd run) : 447 MB/s
Average I/O speed : 517.7 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 103.59 Mbps 963.07 Mbps 16.10 ms
Beijing CU 103.65 Mbps 1033.18 Mbps 34.26 ms
Shanghai CT 102.96 Mbps 657.46 Mbps 9.99 ms
Shanghai CU 103.67 Mbps 152.95 Mbps 9.09 ms
Guangzhou CT 33.60 Mbps 469.66 Mbps 28.26 ms
Guangzhou CU 104.01 Mbps 766.65 Mbps 25.23 ms
Shenzhen CU 102.93 Mbps 878.58 Mbps 28.00 ms
Shenzhen CM 103.66 Mbps 743.21 Mbps 28.88 ms
Hongkong CN 105.85 Mbps 511.56 Mbps 62.49 ms
Singapore SG 112.67 Mbps 594.95 Mbps 313.00 ms
speedtest测速
使用speedtest官方测速脚本:
sudo apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
export DEB_DISTRO=$(lsb_release -sc)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian ${DEB_DISTRO} main" | sudo tee /etc/apt/sources.list.d/speedtest.list
sudo apt-get update
sudo apt-get install speedtest
看看服务器带宽
$speedtest
Speedtest by Ookla
[error] Error: [11] Cannot read: Resource temporarily unavailable
Server: Henan CMCC 5G - Zhengzhou (id = 26331)
ISP: Hangzhou Alibaba Advertising Co.,Ltd.
Latency: 24.56 ms (0.05 ms jitter)
Download: 863.01 Mbps (data used: 1.1 GB)
Upload: 104.71 Mbps (data used: 162.9 MB)
Packet Loss: Not available.
Result URL: https://www.speedtest.net/result/c/40a57cdd-31bf-4845-8010-6ef1cf346307
这带宽够给力。
安装使用宝塔
我更习惯用appnode,只不过appnode不能在ubuntu完美使用
宝塔可以正常安装,内部预设的环境也不影响宝塔的安装:
直接用curl ip.sb
获得的ip访问是无法访问的,需要使用预览进行端口映射:
在2处输入端口并回车后,会提示:端口 8888 映射成功,是否立即访问?
点击访问即可。
然后在域名处加端口和后缀就行了。
大家眼尖的可以看到,宝塔要求的是加端口8888,但在这里是没加端口的
我试试通过获取a4d1cfa2-1b8e-4506-aeaf-5c50a95cd7a4-8888.xide.aliyun.com
的ip:120.26.46.180
加后缀直接访问试试
看起来不行
因此可以确定这里用的是类似nginx反代(顺便加了个https)
宝塔跑个分看看:
说起来这是我第一台在跑分进入宝塔1万排名的机器了。
内网穿透
我试过zerotier,在zerotier后台能看到cloudide上的zerotier正常运行,分配了内网ip,但在外部安装了zerotier的机器始终无法和cloudide的机器进行互通,大概是屏蔽了UDP通信吧。理论上来说frp使用的是tcp通信,用混淆插件后可以伪装成web流量,只不过我也不缺服务器只缺大带宽,用frp的话吃sever服务器的带宽,用处不大,因此懒得试了。
我还是试了下frp,可以内网穿透
通过frp的服务器连接到了cloudide的内网服务器。
tcp over http
不清楚能不能绕过阿里的内部审查,我对tcp over http也不太熟悉,有兴趣的大佬可以试试。
看来阿里云的预览就是nginx反代
我用的是jpillora/chisel项目
服务端
稍微改改tcp over http的思路,把cloudide的服务器作为外网的服务器来看。
安装好sshd,设置root密码
apt-get install openssh-server
passwd
修改下配置文件,允许root用户登录
nano /etc/ssh/sshd_config
执行
chisel server --port 8000 --auth userabc:pass123
各参数的含义是:
启动 chisel 服务端,在 80 端口进行监听,指定客户端连接所需的用户名和密码
客户端
这个客户端是可以放在内网的,这和frp有本质上的区别本来就是给内网机器用的
执行:
chisel client --auth userabc:pass123 https://e04bf318-8fec-4a30-8bd6-f1b7e39f92ce-8000.xide.aliyun.com 3344::22
如果你的内网机器需要使用http代理才能连接互联网,可以使用
chisel client --proxy http://proxy.example.com:80 --auth userabc:pass123 https://e04bf318-8fec-4a30-8bd6-f1b7e39f92ce-8000.xide.aliyun.com 3344::22
解释参数:
--proxy 选项指定 chisel 客户端通过 HTTP 代理 http://proxy.example.com:80 连接外网机器的 chisel 服务端;
--auth 选项指定 chisel 客户端连接服务端所需的用户名和密码;
chisel 服务端监听地址为 https://e04bf318-8fec-4a30-8bd6-f1b7e39f92ce-8000.xide.aliyun.com;如果浏览器直接访问会提示Not found
chisel 客户端监听地址为 :3344,并将流量转发至 chisel 服务端的 22 端口。
此时访问 chisel 客户端监听的地址就会访问 chisel 服务端的 22 端口:
如下所示:
还可以将远端端口 22
替换成了 socks
,此时cloudide作为socks代理服务器的出口。
因此可以确定,阿里云的cloudide预览就是nginx反代。
这样的话,由于chisel是支持在Windows上运行的,因此完全可以通过chisel穿透访问阿里云cloudide这台vps,在这台vps上部署游戏游戏服务器、其他环境来好好利用这台机器强大的性能。
其实还有udp over tcp
项目,感觉像无限套娃。算了,这个是真没兴趣了。
重点来了,目前大热的某软件也是利用的CDN的ws,也就是说,cloudide的vps是可以作为中转的。
我不敢试了,有胆大的可以自己试试,很简单,在vps内部署个nginx反代就行了
PT
这么大的带宽不用来挂PT简直是浪费
没法端口映射出去,ide关闭网页过会docker就会冻结,挂PT没啥用,倒是用来下载东西然后中转不错,毕竟带宽的QOS肯定比家宽高。
给你们个思路
安装nginx,安装qb,把qb下载路径指向nginx根目录,下载完成后直接从nginx - web拖过来
阿里这个大概率是多线的服务器,如果你家是广电、鹏博士这类宽带的用这个方法可以用速度很快的方法把东西下下来。
systemctl
想尽办法都没法用systemctl,最后还是用screen了事。
小插曲
我在8号(也就是星期六)的早上在钉钉群提出想让ide可以通过内网连接到阿里数据库(其实是我想连接到我自己的ecs)
在晚上9点安装宝塔的时候发现多了一行内网ip的提示,而在7号的时候是没这行提示的(宝塔也没更新)
也就是说阿里云的大佬一下午就在Cloud IDE里实装了内网ip了。可惜我没保存前一天的宝塔配置信息的截图
阿里云大佬们辛苦了
参考:
SSH over HTTP
如何探测虚拟环境是物理机、虚拟机还是容器?
版权属于:寒夜方舟
本文链接:https://www.wnark.com/archives/122.html
本站所有原创文章采用署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)。 您可以自由地转载和修改,但请注明引用文章来源和不可用于商业目的。声明:本博客完全禁止任何商业类网站转载,包括但不限于CSDN,51CTO,百度文库,360DOC,AcFun,哔哩哔哩等网站。
1 条评论
不明觉厉OωO