欢迎光临散文网 会员登陆 & 注册

家用ipv6服务器折腾记录

2023-08-19 10:51 作者:亚里士多不缺德  | 我要投稿

读前说明

没有什么技术含量,全程用现有库,参考现有教程,此文仅仅记录以下遇到的问题,请各位大佬嘴下留情。

前情提要

以下我将说明我折腾的前提与需求,目前介绍已有条件:

  • 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地址。

查询本机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地址了。

网站记录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中进行相应。

下载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地址操作。

    碎碎念

用旧电脑做服务器并不能说是一个很经济的选择,功耗高,难折腾。每个月的电费差不多就可以开一个网盘会员了。并不是说成品怎么样好,好的直接买现成的最好。折腾也挺快乐的。

家用ipv6服务器折腾记录的评论 (共 条)

分享到微博请遵守国家法律