家用ipv6服務器折騰記錄

讀前說明
沒有什么技術含量,全程用現(xiàn)有庫,參考現(xiàn)有教程,此文僅僅記錄以下遇到的問題,請各位大佬嘴下留情。
前情提要
以下我將說明我折騰的前提與需求,目前介紹已有條件:
up正在放暑假,閑的長蘑菇。
家里有我高中時的舊臺式電腦,以及本科時筆記本殘骸。臺式是15年買的,17年買了張1050ti玩ow(考迪克你該死啊?。。。还P記本是18年買的,但是在22年底壞掉了,被我霍霍成殘骸,把硬盤拆下來了,本來還想拆屏幕的,結果被我掰壞了。如下圖所示:


稍微測試了下,我家有公網(wǎng)的ipv6地址。(重點)
以上就是大概情況,同時也說明一下我搭建服務器的幾個需求,具體需求如下:
天下蒼生苦百度云久矣,一曰限速,二曰失效。我買了好久的百度云會員了,速度目前沒有什么重要的感知,主要是我在云盤上的不少資源全部gg,有點難受。(我清楚淫穢物品確實不能公共傳播,但是網(wǎng)盤是否是私人空間這一點還有待商榷)
玩,閑的實在無聊,打游戲的幾個搭子得上班,只能晚上打游戲。
嘗試以下能不能實現(xiàn)一些其他的功能,例如服務器直接幫我掛MAA
網(wǎng)絡測試
在家搭建服務器,最好擁有一個公網(wǎng)ip。沒有公網(wǎng)ip就需要去弄內(nèi)網(wǎng)穿透,這個我不會,可以自行搜索學習。
如何判斷自家是否有公網(wǎng)ip
通過http://test-ipv6.com/index.html.zh_CN查詢外網(wǎng)的ipv4地址和ipv6地址。
在cmd中輸入ipconfig,查詢本機的ip地址。

對比網(wǎng)頁查詢的公網(wǎng)地址和本機地址,判斷是否有公網(wǎng)ipv4地址和ipv6地址。
進行路由器設置
有些路由器設置可能會導致設備無法獲取ipv6地址,這需要根據(jù)家中的網(wǎng)絡環(huán)境進行調(diào)整設置。我家中網(wǎng)絡環(huán)境是光纖遷到光貓,光貓接到主路由,隨后再從主路由牽網(wǎng)線去其他地方的分路由進行wifi覆蓋。目前服務器是直接接在光貓后,只需要改光貓的配置即可。光貓的密碼就在光貓上(如果沒改的話)
網(wǎng)關(光貓)配置頁面:192.168.1.1:8080/cgi-bin/telnetenable.cgi?telnetenable=1

在這個頁面中,可以打開ipv6以及打開ipv6防火墻(從外網(wǎng)可以通過ipv6地址訪問設備,這一步有安全風險,但是我沒管它?。?/span>
可以打開后在試一下有沒有公網(wǎng)地址。
如果有公網(wǎng)ip地址,就可以進行設備上的操作了。
以下操作我參考了up主科技宅小明的系列視頻簡單易學!手把手教你把一臺垃圾電腦改成全能服務器!這里我說一下我遇到的一些問題。
1. ubuntu系統(tǒng)安裝,一切正常,沒有什么問題。
2. docker以及potainer的安裝,一切正常,沒有問題。只是我們在外面套了一個nginx,因此不需要potainer直接監(jiān)聽外部端口,執(zhí)行外部端口映射。
3. nginx的安裝,這里就出現(xiàn)問題了,我并沒有通過docker安裝,而是直接在服務器中進行nginx的安裝與配置。因為當nginx在docker中時,我沒找到怎么給網(wǎng)站配置ssl證書(可能是我不會)
4.seafile的安裝,這就是網(wǎng)盤服務,直接在docker中安裝就行。參考0成本3分鐘做一個不限速+全平臺+自動同步超級網(wǎng)盤!
5. maa的安裝,我沒搞,我還沒看(懶)
以下對具體出現(xiàn)的問題進行說明。
nginx的安裝
nginx的作用在我的理解中相當于小區(qū)門口指路的。通過ip以及端口訪問到服務器后,nginx監(jiān)聽并進行重定向,將我們的ip:端口定向到docker的ip地址。調(diào)用docker中安裝的服務。
同時,由于運營商一般封了你的80端口和443端口(http和https),也需要nginx進行其他端口的監(jiān)聽和重定向。
購買網(wǎng)址以及配置ddns服務
網(wǎng)址隨便去一個dns服務商哪兒購買就行,我是去的阿里云,買個便宜的網(wǎng)址能解析就行。然后選擇AAAA解析ipv6地址,就可以通過網(wǎng)站記錄你的ip地址了。

然后配置服務器的ddns的服務,這里貼一個github的python項目,這個可以進行ddns操作。https://github.com/mgsky1/DDNS
什么是ddns,因為供應商提供的ip地址大概率不是固定的(至少我家不是),而網(wǎng)址提供的dns服務只能解析到固定的ip地址,因此在你的服務器ip地址發(fā)生變動時,需要跟dns服務器說一聲,這就是ddns。
這個項目代碼執(zhí)行一次,便向dns服務器同步一次ip地址,你可以選擇開機通報一次,或者選擇每隔一段時間通報一次。(后面會介紹怎么操作)
nginx配置ssl證書
為保證數(shù)據(jù)安全(以及沒事兒找事兒學一下),需要配置ssl證書以啟用https服務,ssl證書在各個云服務商都有免費的證書可用。

可以直接在線為你的網(wǎng)站(剛剛買的)申請ssl證書,申請完了之后你需要下載證書并保管好,然后放在nginx中進行相應。

在獲得了ssl證書后,在nginx的目錄中新建一個文件夾存放證書。
然后便可以在nginx中進行配置。用vim打開nginx.conf,然后進行監(jiān)聽和ssl的配置。
你的docker容器ip地址可以直接在potainer的容器界面中看到。
至此,你就可以直接通過
訪問你的在docker中部署的服務了
服務器定時任務
在充分考慮了電費和需求后,我認為沒有必要一直開著這個服務器,因此需要服務器定時進行開關機。
服務器開始是主板級別的操作,可以直接在bios中設置定時開關機時間,這個開關機時間是bios時間。
之所以強調(diào)bios時間,是因為我在用ubuntu的過程中發(fā)現(xiàn),ubuntu會將0時區(qū)視為bios時間,放在這里就是會比北京時間早8h,需要注意。
服務器關機則可以通過定時作業(yè)腳本進行,在crontab中可以添加每天定時關機時間。
這行就代表每天20:30關機。
同理,也可以執(zhí)行上文中提到的python腳本,每隔一段時間固定執(zhí)行一次同步ip地址操作。
碎碎念
用舊電腦做服務器并不能說是一個很經(jīng)濟的選擇,功耗高,難折騰。每個月的電費差不多就可以開一個網(wǎng)盤會員了。并不是說成品怎么樣好,好的直接買現(xiàn)成的最好。折騰也挺快樂的。