家用ipv6服务器折腾记录

读前说明
没有什么技术含量,全程用现有库,参考现有教程,此文仅仅记录以下遇到的问题,请各位大佬嘴下留情。
前情提要
以下我将说明我折腾的前提与需求,目前介绍已有条件:
up正在放暑假,闲的长蘑菇。
家里有我高中时的旧台式电脑,以及本科时笔记本残骸。台式是15年买的,17年买了张1050ti玩ow(考迪克你该死啊!!!);笔记本是18年买的,但是在22年底坏掉了,被我霍霍成残骸,把硬盘拆下来了,本来还想拆屏幕的,结果被我掰坏了。如下图所示:


稍微测试了下,我家有公网的ipv6地址。(重点)
以上就是大概情况,同时也说明一下我搭建服务器的几个需求,具体需求如下:
天下苍生苦百度云久矣,一曰限速,二曰失效。我买了好久的百度云会员了,速度目前没有什么重要的感知,主要是我在云盘上的不少资源全部gg,有点难受。(我清楚淫秽物品确实不能公共传播,但是网盘是否是私人空间这一点还有待商榷)
玩,闲的实在无聊,打游戏的几个搭子得上班,只能晚上打游戏。
尝试以下能不能实现一些其他的功能,例如服务器直接帮我挂MAA
网络测试
在家搭建服务器,最好拥有一个公网ip。没有公网ip就需要去弄内网穿透,这个我不会,可以自行搜索学习。
如何判断自家是否有公网ip
通过http://test-ipv6.com/index.html.zh_CN查询外网的ipv4地址和ipv6地址。
在cmd中输入ipconfig,查询本机的ip地址。

对比网页查询的公网地址和本机地址,判断是否有公网ipv4地址和ipv6地址。
进行路由器设置
有些路由器设置可能会导致设备无法获取ipv6地址,这需要根据家中的网络环境进行调整设置。我家中网络环境是光纤迁到光猫,光猫接到主路由,随后再从主路由牵网线去其他地方的分路由进行wifi覆盖。目前服务器是直接接在光猫后,只需要改光猫的配置即可。光猫的密码就在光猫上(如果没改的话)
网关(光猫)配置页面:192.168.1.1:8080/cgi-bin/telnetenable.cgi?telnetenable=1

在这个页面中,可以打开ipv6以及打开ipv6防火墙(从外网可以通过ipv6地址访问设备,这一步有安全风险,但是我没管它!)
可以打开后在试一下有没有公网地址。
如果有公网ip地址,就可以进行设备上的操作了。
以下操作我参考了up主科技宅小明的系列视频简单易学!手把手教你把一台垃圾电脑改成全能服务器!这里我说一下我遇到的一些问题。
1. ubuntu系统安装,一切正常,没有什么问题。
2. docker以及potainer的安装,一切正常,没有问题。只是我们在外面套了一个nginx,因此不需要potainer直接监听外部端口,执行外部端口映射。
3. nginx的安装,这里就出现问题了,我并没有通过docker安装,而是直接在服务器中进行nginx的安装与配置。因为当nginx在docker中时,我没找到怎么给网站配置ssl证书(可能是我不会)
4.seafile的安装,这就是网盘服务,直接在docker中安装就行。参考0成本3分钟做一个不限速+全平台+自动同步超级网盘!
5. maa的安装,我没搞,我还没看(懒)
以下对具体出现的问题进行说明。
nginx的安装
nginx的作用在我的理解中相当于小区门口指路的。通过ip以及端口访问到服务器后,nginx监听并进行重定向,将我们的ip:端口定向到docker的ip地址。调用docker中安装的服务。
同时,由于运营商一般封了你的80端口和443端口(http和https),也需要nginx进行其他端口的监听和重定向。
购买网址以及配置ddns服务
网址随便去一个dns服务商哪儿购买就行,我是去的阿里云,买个便宜的网址能解析就行。然后选择AAAA解析ipv6地址,就可以通过网站记录你的ip地址了。

然后配置服务器的ddns的服务,这里贴一个github的python项目,这个可以进行ddns操作。https://github.com/mgsky1/DDNS
什么是ddns,因为供应商提供的ip地址大概率不是固定的(至少我家不是),而网址提供的dns服务只能解析到固定的ip地址,因此在你的服务器ip地址发生变动时,需要跟dns服务器说一声,这就是ddns。
这个项目代码执行一次,便向dns服务器同步一次ip地址,你可以选择开机通报一次,或者选择每隔一段时间通报一次。(后面会介绍怎么操作)
nginx配置ssl证书
为保证数据安全(以及没事儿找事儿学一下),需要配置ssl证书以启用https服务,ssl证书在各个云服务商都有免费的证书可用。

可以直接在线为你的网站(刚刚买的)申请ssl证书,申请完了之后你需要下载证书并保管好,然后放在nginx中进行相应。

在获得了ssl证书后,在nginx的目录中新建一个文件夹存放证书。
然后便可以在nginx中进行配置。用vim打开nginx.conf,然后进行监听和ssl的配置。
你的docker容器ip地址可以直接在potainer的容器界面中看到。
至此,你就可以直接通过
访问你的在docker中部署的服务了
服务器定时任务
在充分考虑了电费和需求后,我认为没有必要一直开着这个服务器,因此需要服务器定时进行开关机。
服务器开始是主板级别的操作,可以直接在bios中设置定时开关机时间,这个开关机时间是bios时间。
之所以强调bios时间,是因为我在用ubuntu的过程中发现,ubuntu会将0时区视为bios时间,放在这里就是会比北京时间早8h,需要注意。
服务器关机则可以通过定时作业脚本进行,在crontab中可以添加每天定时关机时间。
这行就代表每天20:30关机。
同理,也可以执行上文中提到的python脚本,每隔一段时间固定执行一次同步ip地址操作。
碎碎念
用旧电脑做服务器并不能说是一个很经济的选择,功耗高,难折腾。每个月的电费差不多就可以开一个网盘会员了。并不是说成品怎么样好,好的直接买现成的最好。折腾也挺快乐的。