前言
我之前一直都是把一台13700K+64G DDR5+1080Ti的主机插在那里24小时开机当服务器用,后来我发现这样每天的电耗实在是太高了,待机功耗200w,稍微动一下功耗就直接上500w,我想了想我的部分需要24小时跑的脚本好像没必要这么高功耗的主机,于是就想着是不是搞一个二手笔记本放过来当服务器用。
手持一千多的预算在某鱼市场上搜的二手笔记本基本都是垃圾产品,要么接口不足,要么就是性能不足。
搜了一段时间之后我突然想起来我可以直接买小主机啊,我以前不看小主机是因为小主机产品只给N100之类的处理器,我根本看不上,但是现在小主机产品都开始上12代i5了,我花个一千多的价格买个新的小主机,不仅接口丰富,性能强,而且功耗还低啊,加上小主机的小体积,不过度占用我设备柜宝贵的体积,这就非常棒了。
零刻SEi12,处理器是i5-12450H,内存16GB,硬盘500GB,功耗部分相当低,待机几乎只有10w左右,满载功耗也就65W,并且还能自己换硬盘和内存条加到满配。我刚刚看了一下,目前最低价格的是枭鲸的笔记本条子,32G的条子能做到240块钱一块的单价,买64G的内存条插上去也就只要480块钱。
入手零刻SEi12我就顺手写个开箱,再写个我把它当服务器的思路教程。
主要思路就是装Windows11系统,然后搭配zerotier做免费内网穿透,然后小主机上跑一些网心云之类的服务薅羊毛回血电费,然后搭配一下迅雷之类的软件做远程下载服务。
开箱
其实它的侧面也提供了金属散热防尘网。
背部是有两个小孔搭配安装VESA转接板的。
支持SATA接口,支持两条DDR4笔记本内存条,支持一条PCIe4.0协议的固态盘,现在给的硬盘是500G的硬盘,跑个服务是完全够了。
无线网卡是AX200NGW,支持WiFi6,速率能到2400Mbps。
整个零刻SEi12配置好之后我就扔在设备柜里面给它跑了,系统装的是Windows11,开了RDP服务,然后配置了zerotier实现全网段远程管理,然后再跑了一个网心云来回血,以及一个迅雷当远程下载主机用。
配置过程
zerotier配置
1.zerotier远程管理配置
Zerotier账号是用于组件虚拟局域网的,腾讯云轻主机是用于用于自建Zerotier的moon服务器,也能白搞一个公网IP,其余的设备都要保证正常联网使用。
2.zerotier账号注册与配置踩坑
Zerotier设置与问题解决部分:
ZeroTier 这一类 P2P *** 是在互联网的基础上将自己的所有设备组成一个私有的网络,可以理解为互联网连接的局域网。最常见的场景就是在公司可以用手机直接访问家里的 NAS,而且是点对点直连,数据传输并不经由第三方服务器中转。所以安全性非常有保障。
Zerotier 在多设备之间建立了一个 Peer to Peer ***(P2P***) 连接,如:在笔记本电脑、台式机、嵌入式设备、云资源和应用。这些设备只需要通过 ZeroTier One ( ZeroTier 的客户端) 在不同设备之间建立直接连接,即使它们位于 NAT 之后。连接到虚拟 LAN 的任何计算机和设备通常通过 NAT 或路由器设备与 Internet 连接,ZeroTier One 使用 STUN 和隧道来建立 NAT 后设备之间的 *** 直连。简单一点说,Zerotier 就是通过 P2P 等方式实现形如交换机或路由器上 LAN 设备的内网互联。
第一步是注册Zerotier的账号。
这个是邮箱注册,注册完之后免费使用设备数量是50个,对于99%的人来说是够了。毕竟我这样的手里常年一大堆电子设备的人,能同时使用的路由器加电脑加起来也不超过十台。
第二步:登录和创建网络
注册完之后就直接登录网站,按照下面的指示创建网络就行。我是把我的网络名能用中文就用中文,这样看起来方便一点。
创建网络:创建一个新的网络之后,我们得到一个 Network ID,这个在后面的设备连接时需要用到,点击刚刚创建的网络我们可以设置更多选项。默认的设置就可以用了,右边 IPv4 的设置就是分配设备内网 IP 网段,其他的设置可以在 Setting help 里看到说明,不了解的不建议乱设置,如果不小心把自己的网络暴露在外部,会相当危险。
第三步:把手里的设备加入这个网络。
我现在手里的设备都是Windows10设备,所以在他们主页上下载相应的平台安装包就行,安装包后缀是msi结尾。
下载之后双击安装,一直按next直到它安装成功。
装成功之后,你的任务栏部分会出现一个Zerotier的图标,右键点一下鼠标,选择join Network。
有了这个窗口之后,我们再打开我们前面已经登录了的zerotier页面,然后在Network标签下可以看到我们创建的网络的基本信息,我给我的网络取的名字是“家庭内网”,我们要把我用椭圆部分圈出来的一串代码,也就是NETWORK ID下面的一串代码,复制,然后粘贴到上一步Join a Network弹出来的窗口中,我建议把所有的都勾选上,以免遗漏。
然后你的几台电脑都加入我创建的“家庭内网”之后,我们还需要进这个网络后台把这些设备的权限都打开。就点这个NODES,然后它会自动跳转到“家庭内网”的后台管理页面。
然后往下拉页面,就会看到自己的设备,我现在的设备都是Auth下面打勾了,代表这些设备被授权了,如果没打勾,就代表这个设备加入了你的网络,但是不能访问你的网络。
要着重关注的是Managed IPs下面的IP地址,这个地址就代表了你现在设备在Zerotier的“家庭网络”里面的虚拟IP地址,旁边的Last Seen下面代表你这个设备现在的在线状态,比如我现在手里的两台设备都在线,显示的就是ONLINE。
到这一步之后,就可以进行下一步了。
我上面的设备中,SurfaceBook1-7是发起端,地址是192.168.192.190,也就是我平时拿着在外面跑的笔记本,MacAir是接收端,地址是192.168.192.97,也就是我平时扔在家里当服务器的笔记本。
一直到这一步都是很顺畅的,但是之后可能会有人出现新的问题,那就是我从SurfaceBook1-7上访问MacAir的时候会显示连接失败。死活找不到解决方案。
因此,建议在拿到两个设备的“家庭内网”IP地址之后,先在CMD命令行窗口Ping一下地址,看能不能Ping通,如果能Ping通的话就走下一步RDP连接部分,如果不能Ping通的话,建议看看后面我是怎么解决的:
现在我查到的解决方案是一个大佬写的:问题的关键在新建的Zerotier网络虽提供了一组 Flow Rules 流控规则,初次启动时却不会自动应用。
就是在Flow Rules最后一行加一个空格,然后保存就行。这就让Rules启用了。
问题的原因是:
所以我也是采用了这个解决方案之后,就顺利解决了我zerotier网络下各个设备不互通的问题。
3.腾讯云主机注册与配置踩坑
买腾讯云轻主机部分:
买云主机有两个目的:一个是获得公网IP,一个是有个搭建Zerotier Moon服务器的稳定环境。
其实买腾讯,买阿里,或者买华为云都行,还有一堆小的云主机服务商也能买,但是我建议买大家耳熟能详的品牌,最建议买腾讯和阿里的,因为现在国内买这样的云主机需要实名认证,而大家的腾讯和阿里系的账号基本都是实名认证过的,不需要额外的认证。
不过我买腾讯云的核心理由就是它便宜:
我买的三年,1核加2G内存,6Mbps的宽带,以及1000G流量包,三年只要219。后续续费肯定是飞天一般的贵,但是三年后再看吧。
至于我为什么没买阿里的?因为阿里的比这个贵一点吧。
单核,2G内存,装个Debian,给我跑一下服务,就够了,后期加点什么自动签到打卡的脚本上去,它也不是不能用。
进入腾讯云界面,然后点购买,扫码登录你的微信(我也不知道为什么腾讯一定要所有的服务都用微信登录),然后会自动进入微信小程序,然后你就授权登录了。网页端进入服务器配置界面:
地域:选择与您最近的一个地区,选一个地理位置距离自己最近的地方就行。
机型:选择您需要的云服务器机型配置。这里我们选择 “入门设置(1核1GB)”,因为这个最便宜。
镜像:选择您需要的云服务器操作系统。这里我选择的是Debian,不过选别的也都行,每个系统选好之后都会给你预装好。
公网带宽:勾选后会为您分配公网 IP,默认为 “1Mbps”,不过轻主机这个已经固定死了,就是6Mbps。
购买数量:默认为 “1台”。 购买时长:默认为 “1个月”,我选了三年。
买完服务器之后,腾讯会让你先重置密码,然后你进入腾讯的服务器-轻量服务器-控制台,就可以看到自己的主机了。其中是默认绑定了一个公网IP地址,相当于你花两百多买了三年的公网IP。
你可以选择在网页端打开命令行界面管理,也可以在本地用SSH登录进行管理。
建议使用MobaXterm作为远程管理服务器的软件,这个软件支持记录你的登录设置,特别是还有图形化文件管理界面,很适合新手使用。
4.Zerotier的Moon服务器搭建配置踩坑
上面说的Zerotier虽然可以互相访问,但是由于流量还是走的zerotier的官方服务器,在高峰期或者说跨宽带运营商的情况下,网络质量实在是堪忧,最直接的体现就是ping值忽高忽低或者掉包,如果是用来长期使用,这网络质量还是有点不行。正好腾讯云有台5M带宽的服务器,zerotier又支持自建中转服务器,腾讯云的BGP网络用来中转流量再合适不过了。
我的腾讯云服务器安装的是最新的Debian,作为zerotier的中转服务器(moon),zerotier的安装方式如下:
但是Zerotier作为moon,还需要再执行几行命令,相关命令如下。
生成moon模板配置文件:
cd /var/lib/zerotier-one zerotier-idtool initmoon identity.public >> moon.json
编辑生成的moon模板配置文件:
vim moon.json #
修改这行: "stableEndpoints": ["1.2.3.4/9993"]
不过其实更建议用MobaXterm的图形化文件管理修改这个文件,双击打开,然后直接保存更新,就不用学vim命令行了,vim的操作逻辑很烦。
注意需要将上面的1.2.3.4替换成实际的公网IP地址,不能是内网地址。
要注意的一点是,在配置之前,还得先看看自己的网络网关开启9993端口没有,如果没有的话,建议先开启了再去配置。
并且,如果服务器本身开启了防火墙,需要将9993端口进行放行;同时,服务器安全组也需要放行9993端口,比如我的腾讯云轻量云服务器安全组设置截图:
然后根据模板文件生成最终的moon文件:
zerotier-idtool genmoon moon.json
执行完成之后,会在当前目录生成一个名称为000000xxxxxx.json的文件。
创建对应目录,将生成的配置文件放置进去:
mkdir moons.d mv 000000xxxxx.moon moons.d
重启服务: systemctl restart zerotier-one
客户端加入自定义的moon 步骤也很简单,Linux及macOS直接在终端执行,Windows需要使用管理员权限在PowerShell或者cmd执行,命令如下:
zerotier-cli orbit 0000000xxxxxxxx 0000000xxxxxxxx
如果加入成功,会有如下提示: 200 orbit OK
要注意的的是,这个命令行后面你的“0000000xxxxxxxx”要打两次,这样才能正常执行加入。
查看是否加入moon:
在非moon设备上执行如下命令:
zerotier-cli listpeers
如果出现了对应的公网服务器IP及9993端口,
说明数据是走moon中转的。
5.Windows设备加入Moon服务器踩坑
按道理来说,在Windows和NAS设备上装了Zerotier之后,再去加入Moon服务,也就是说执行了zerotier-cli orbit 0000000xxxxxxxx 0000000xxxxxxxx这个命令行之后,它就会自动加入Moon服务器,你就有自己的中转服务器了。
如果你一直获取不了moon服务器的地址,比如这样:
中间MOON结尾的图并没有完美获取公网IP地址,
如果加成功的话,应该是这样的。
出现获取不了地址的原因,我排查出来有几个解决方案:
1.就是9993端口的问题,首先确认自己的9993端口是否开放。
2.是自己zerotier客户端设置问题:
打开zerotier客户端,点击“show networks…”,如下:
再把下图红框中的几个对勾打上,重启服务"ZeroTier One"和客户端。就会发现现在可以连接上moon了。
zerotier打洞使用p2p传输
其实zerotier是支持p2p打洞流量传输的,并不是自建了moon所有流量就经过moon服务器中转的,如图这是我从我电信宽带的设备远程连接到移动宽带内网的设备,在移动宽带内网的设备的带宽统计截图:
稍微有点惊喜的是,我腾讯云公网服务器带宽是5M,经过zerotier打洞之后使用p2p协议,两台设备之间的带宽可以达到10M,不知道是不是能达到其中一方的带宽上传上线。
RDP远程管理配置
从去年开始,我逐渐形成一个习惯:出门在外的电脑绝不放任何重要的资料和跑任何重要的活儿,所有的文档编辑,跑程序等重要的活儿我都放在我的远程主机上,这个习惯帮我避免了很多问题,比如因为数据和程序都部署在远程主机上,所以无论我本地主机怎样更新,怎样断电,我的程序和数据都不会丢。
不过这个方案要求最高的还是宽带,好在我之前公司和家里的宽带都是千兆对等宽带,用zerotier搞了内网穿透之后上远程主机都是秒连,连接稳定性与质量也非常好,使用体验与本地操作电脑无异,所以我一点都没意识到宽带的重要性。
市面上的收费或者免费内网穿透服务其实很多,比如NKN、DDNSTO、frp、Zerotier、花生壳,但是细究下来又不算多,因为要同时满足稳定,价格适中,支持端丰富,并且还安全这几点是很难的。一般的服务都是DDNSTO连接数太少,frp操作很复杂。
我真正开始意识到宽带的重要性的时候,是我换了地方之后,新的公司和住的地方的宽带都是百兆级别,并且一个是移动,一个是电信,狗运营商相互之间阻隔掉了UDP,这给我的服务器互访计划带来了非常大的阻碍。就像是上图我展示的,我服务器和个人主机所有的配置都没变过,就是换了个地方,他们两个就经常连不上。
虽然ping得通,但是丢包率维持在50%到100%之间。我毫无解决的头绪。
考虑到我现在越来越多的远程需求,也要经常用电脑做点重活儿,所以我开始正式思考打通网络的问题。首先想到的肯定是我很久以前用过的Teamviewer方案,那个方案纯靠图像传输,之前用还可以,但是疫情之后用就一堆问题,莫名其妙地让你注册手机号刺探你的隐私不说,连接质量还变得特别差,以及最重要的,它会在你用两天之后在后台悄咪咪地禁掉你的账号。使用体验这么恶心的Teamviewer,我尝试了一下就关了。
后来想到国产的远程桌面软件,比如AnyDesk,RustDesk等,这些也都是用的图传方案,对网络质量的要求也不是一般的高,使用体验也不是很高,所以我就也弃之不顾。
目前我手里的设备:SurfaceBook三代代顶配版,高性能自组装主机四台(都是13700K+64G内存常年开机的),威联通TS264C一台。
SurfaceBook三代顶配版是32G内存+2T固态 i7-1065G7,当我常用主机用。高性能自组装主机A是64G DDR5+8T Nvme SSD i7-13700K 3080,当远程服务器跑训练任务。高性能自组装主机B是64G+4T nvme SSD i7-13700K 1080Ti,当高性能备份主机用。威联通TS264C是32G内存,加了两块2T Nvme的固态以及两块14T的机械当数据储存盘用。
这些设备都分散在两个地方(湖北和江苏),所以需要我把他们连在同一个局域网内部,以便于我在任意一个地点的时候都能无障碍访问所有的设备以及对其进行管理,并且不同的设备之间有大文件传输管理需求。
我在江苏这边的网络是500M上下行对等网络,如果纯用Zerotier的话,其实占不满我的上传带宽的,尤其是我做大文件传输的时候,明明我这边是500Mbps的上传,但是传输文件速率总是被压到20Mbps左右。所以为了用满我的上传带宽,我一般都会选择直接上收费服务。
这里要提一下,很多人把Mbps 和MB 搞混淆,在外网访问的时候,一定要分辨清楚:
网络数据传输分为发送数据和接收数据两部分。上传就是向外部发送数据,下载为从外部接收数据。他们都受网络带宽和设备性能制约。
在日常网络传输中大致1Mbps=1024/8Kb/s=128Kb/s(1/8)。例如上行的网络带宽为100Mbps,那么最大上传速度就是12800Kb/s,也就是12.5MB/s。
所以我的594Mbps的上传速率换算下来就是74.25MB/s,传输大文件情况下,还是满速上传比较好。
打开开始管理页面,然后搜索远程,就会跳出来远程桌面连接的选项。
当然,你需要在电脑里面提前把远程桌面选项开启。
然后输入zerotier后台里面我这台小主机的地址,然后点击连接。
然后就可以之间打开远程桌面了,就不要再给小主机插上键盘鼠标显示器来操作了。
网心云配置
电脑端的网心云配置其实相当简单,直接去它官网下载,然后安装,然后登陆,然后扫码绑定,就ok了。
迅雷配置
迅雷的配置更简单了,直接官网下载然后安装登录就行。
结语
零刻的小主机配置好zerotier和rdp之后几乎就是成了低功耗24h小的随时待命的小服务器了,我挂点网心云,挂个迅雷,再挂个安卓模拟器推推游戏,待机功耗特别小,并且待机占地面积还特别小,我觉得一千多买个这个放在设备柜里面跑服务回血真的是太方便了。
成本部分也比我自己组装1L主机要小很多。
#免责声明#
①本站部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
②若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
③如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间解决!
④本站部分内容均由互联网收集整理,仅供大家参考、学习,不存在任何商业目的与商业用途。
⑤本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与任何商业和非法行为,请于24小时之内删除!