各位,好久不见!
鹦鹉先生很久之前就有一个自己的服务器,隔壁八哥兄自从用上自建服务器,腰也不酸了,脖子也不疼了,终于摆脱了各大网盘的限速限容了。虽然工信部已经整顿了各大网盘限速限容的问题,但毕竟各大网盘“上有政策,下有对策”。重要的是,可以不用担心自己的资源被他人盗取,更不怕哪天资源就变为“非常抱歉”了。
当然,一台服务器不仅仅可以充当自己的网盘,还可以开发出很多有意思的功能,比如云电脑、虚拟机服务器、个人网页等等。那么今天,鹦鹉先生就和大家聊聊如何搭建一台个人服务器,欢迎大佬批评指正!
在搭建服务器之前,我们先来了解一下大致的网络拓扑:
如上,主要思路是:服务器获得公网IP连接互联网,客户端输入地址与身份验证信息即可。在这里,为了安全起见,鹦鹉先生在服务器和家里ISP配的解调器之间,加了一个企业路由器,网络配置更为灵活,随时掌控家里服务器的流量信息。
梳理完大致网络拓扑后,我们再来看看一些关键要素:服务器、公网IP、路由器。服务器的搭建我们放到后面单独聊,先来解决公网IP。这里有两种思路:找ISP要静态的IP、DDNS。这两种都需要花掉一笔小资金,如果家里用的是TP-LINK的路由器(不是广告啊),里面就有一个DDNS设置,可以自定义域名,提交后即可使用:
为什么要静态公网IP呢?原因有三:
- 内网IP无法在公网使用,会被外网路由器丢包;
- 如果IP非静态,我们每次连接服务器都要输入不同IP;
- 将IP换成域名,好看又好记。
这里解释一下DDNS工作原理。DDNS就是将自己每一次得到的动态公网地址映射成固定域名。也就是说,我们可以通过DDNS,在不去找ISP要固定IP的情况下,得到与固定IP同等的效果。当然,我们得先有一个有DDNS功能的路由器。
至于路由器,鹦鹉先生整了个企业路由器,里面的玩法还是挺多的。用企业路由器的最大好处就是远程管理、安全且可定制网络拓扑。
10.0.0.0,是不是很熟悉?
下面,我们再讨论一下Socket(套接字)与端口的问题。
在实际应用当中,我们常常把Socket与“端口”混用,但在这里,为了后期讲清楚FTP、远程桌面等,我们先来做一个辨析。
Socket的结构如下:
一个Socket,携带了两个信息:目标IP地址与目标进程端口号。有了Socket,我们就可以精确定位到远程服务器的具体进程。有些常用的端口要了解,如Windows远程桌面的3389,FTP控制与传输的21和22。但为了安全起见,建议将默认端口修改为只有自己知道的端口号,因为它们是“默认”的。
有了前期理论铺垫,现在就可以开始准备装机了!
硬件这方面,主要是要根据自己服务器的用途来定制。如果只是一台网盘服务器,可考虑在硬盘存储这方面多堆些料,如果还有云主机云虚拟机等要求,就要考虑在内存和处理器上多分配一点资金。
拿鹦鹉先生的小服务器来讲,鹦鹉先生希望能实现网盘、云电脑、云虚拟机的功能,顺便还可以再跑一点密码包。
所以最终,大致配置如下:
这边要说明一下,两根DDR4是为了组双通道,256G固态用于安装操作系统,最大限度提高系统启动速度,机械硬盘专用于数据存储。至于加速卡,主要是为了搞和密码学有关的跑包操作。
(破密必备良品)
具体的安装步骤这里就略过了,现在的接口都是标准化统一规格的,相信聪明的你,一看说明书就会安装了。
服务器安装完成后,我们再来考虑一下远程开机的问题。
这里有三个方案,可供大家参考:
- 专人管理,一个电话直接开机;
- 使用WOL技术;
- 智能插座一键开机。
第一种方案前提是机房有人24小时管理,随叫随应。但现在人工费用这么高,我们也不是企业组大型服务器,除非家里有人可以帮忙开机。
(有时可能连管理员都找不到开机键在哪)
第二种WOL是一种远程开机技术,通过向服务器网卡发送魔术包,使服务器开机。鹦鹉先生最后没有用这种,主要是目前市面上的软件,对外网到内网的包兼容性不太友好。企业路由器有WOL选项,但是打开路由器管理页面,再找服务器的这些时间,下面的方案三早开机了。
第三种也就是鹦鹉先生现在用的方案:将服务器设置为“通电即开机”,只要在手机控制智能插座的开关,就可以控制服务器的开关了。
基础部分就这些,最后用网线把这些设备连接起来就OK了。这里鹦鹉先生建议,尽量使用有线连接,可靠稳定;最好自己做一根网线,体验一下制作网线的乐趣,自己动手,丰衣足食。
(鹦鹉先生用的最多的是T568B)
(白橙、橙、白绿、蓝、白蓝、绿、白棕、棕)
硬件部分解决了,下面就开始软件配置。
首先,为服务器安装操作系统。技术够硬的可以直接上Linux,这里主要还是讲一下基于Windows的服务器。
操作系统的选择是有限制的,不要选择家庭版,因为有些配置项目在家庭版是没有开放的,比如远程桌面等。鹦鹉先生给服务器安装了Windows10的专业工作站版,后期升级为Windows11。
(吐槽一下,Bug好多,但都是非“致命”的小问题)
安装系统也比较容易,基本上就是一路“下一步”就搞定了,但还是要提醒一下,看清楚系统将安装在哪个硬盘;无关的服务能关掉就关掉,减少犯错的最好方法就是不使用它。
鼠标右键“此电脑”,选择“属性”,点击“高级系统设置”,在弹出的窗口如图配置,即可实现远程桌面连接了。
至此,一台内网云电脑已经搭建完成!
为了可以外网访问,我们需要先将服务器的内网IP固定,再将远程桌面端口映射到外网。
固定内网IP有两种方法:
- 关闭DHCP手动配置IP;
- IP与MAC绑定。
第一个方法需要给内网的所有主机手动配置IP,工程量巨大;第二个方法,我们只需在路由器管理页面即可完成。
路由器是三层网络设备,可以识别到接入主机的网卡MAC地址,在映射表中找到服务器的MAC地址,在红色框中点击“+”即可固定IP。当然,你也可以更改为任意IP地址,只需注意网段问题就OK了。
固定完内网IP后,把内网IP映射到公网就可以外网访问服务器了。进入“虚拟服务器”应用,即可添加映射:
这里解释一下各个项目的作用:
常用服务器——里面有一些预设模板,可以参考;
外部端口——配合域名或公网IP使用,面向外网的端口号;
内部端口——与服务器进程对接,想要将哪个进程映射出去,就填哪个端口;
IP地址——服务器内网地址;
协议类型——TCP、UDP、ALL(两者)。
至此,云电脑已全部搭建完毕!赶紧体验一下吧!
Windows11引入了WSA功能,使得用户可在Windows操作系统上安装安卓程序。于是,我们可以尝试“鸿蒙套Windows,Windows套安卓”的操作(因篇幅有限,这里就不说WSA的具体配置过程了)!
手机安装RD Client,输入外网Socket,连接完成:
(活生生的Windows Phone有木有)
再开一个安卓程序:
丝滑得不得了(基于内网)
有了这么一套服务器系统,我们甚至可以用低端手机连接服务器,干出只有电脑才可能完成的事务,比如开虚拟机、编程、云游戏、跑个分……
但实际显示效果还得看家里的网速情况,一般100M就可以比较流畅地看到服务器的动画了。如果还是有卡顿,可以考虑调整显示的颜色深度:
本来想用服务器跑一个分碾压一下安卓阵营的分数,但由于微软WSA的显卡调用问题,软件无法识别本地显卡,所以最后得分还是有点惨不忍睹。