之前給大家出過一期內網穿透教程,可以方便大家訪問家里的NAS。但是內網穿透的缺點也很明顯,首先需要花錢租一臺服務器用作轉發,其次國內便宜的云服務器帶寬給的普遍只有3~5M,訪問家里下載個文件都是龜速。
那么有什么辦法可以讓你方便訪問家里的NAS,又能跑滿家里的上傳呢?您好,有的!只要你家里的設備可以獲取到IPv6地址,那你就可以不需要IPv4公網,跑滿你的NAS上傳。而且IPv6即便DDNS映射到公網上,也不會被識別為PCDN,即便是山東這種對PCDN管理很嚴格的地區也可以直接使用。
不過這么做有好處也有壞處,因為是純v6訪問,所以在家外訪問時,需要你的設備也有IPv6地址,才能正常訪問。手機流量一般是沒問題的,運營商一般都會給手機分配IPv6地址,但是在酒店這些地方,就純碰運氣了。
做這些之前,你要做一些準備工作,首先是去買一個域名,然后做好備案,防止網頁被屏蔽無法訪問。這個教程搜我以前的內網穿透教程就行,公眾號有,不再贅述。
其次,準備一臺可以刷OP的路由器或者軟路由,再找寬帶服務員把你的光貓從撥號模式改成橋接模式,要來寬帶賬號密碼,基本就可以開始了。
首先自然是刷好OP去設置寬帶上網,這里推薦x86軟路由,固件多性能強,刷寫方便。為什么一定要OP,主要有以下兩個原因
1:各位大神的OP固件目前對v6支持很完善,有些甚至支持IPv6 Passthrough
2:OP的v6防火墻不管是效果還是設置都很好,對NAS來說可以保證NAS的安全
設置寬帶很簡單,以QWRT固件為例,網絡—接口—WAN—編輯,協議改成PPPoE,設置你的寬帶賬號密碼就行了。WAN6不用設置,默認的DHCPv6就行了。
至于為什么一定要改成路由器撥號,因為現在新辦寬帶都是默認在光貓撥號,這種情況下下級接路由極大概率是沒法用IPv6的,因為家用路由器v6默認大都是native,下發不到v6地址,自然也就用不了了,所以老老實實改橋接。
設置完成后撥號上網,看到IPv6 WAN狀態是這樣,有2408的前綴,就說明v6已經正常獲取下發了。這里聯通的前綴是2408,其他家的自己查一下,我也忘了。
正常獲取v6地址后,就可以去你的NAS看一下你的設備有沒有分配到IPv6地址了。這里以威聯通為例,在網絡和虛擬交換機里面查看v6信息,是這樣,就說明設備已經分配到了v6的地址。而且這里要說的是,IPv6地址是直接由聯通下發到設備的,并不像IPv4那樣需要經過路由器NAT才能分配到192.168.1.2這種地址,是真正的一機一地址,訪問的時候也是直接訪問地址本身,這也是為什么v6可以不用做穿透的原因。
看到有地址之后,需要去OP里面設置好防火墻。另外如果你有在路由器上做魔法,則需要打開工具的v6解析才能正常使用v6功能。因為這類插件對v6的支持一般不好,所以大都默認關閉,這里以OC為例,在插件設置—IPv6設置里面把IPv6解析打開,才能正常使用IPv6功能。
防火墻的話,因為OP有v6防火墻,所以正常情況下,即便可以做到點對點連接,但是也會被OP攔截。這是因為OP的v6防火墻默認拒絕一切外來訪問。當然,這是OP保護你家里設備的安全證明,并不是什么壞事,因為沒有防火墻的情況下,直接v6地址訪問這個設備,那就和DMZ到公網v4上沒區別,相當危險。
所以需要在路由器的防火墻上開一個端口,讓你在外面也能正常訪問家里的設備。但是要注意,以QWRT為例,v6的轉發是要去通信規則里面設置,而非端口轉發。實測端口轉發里面的設置只會對v4生效,v6不行。
在通信規則下方,找到新建轉發規則,點擊添加并編輯,進入編輯頁面。
名稱自己隨便定,限制地址為v6,協議TCP,源區域,源Mac,源地址都保持默認不用動,端口填寫你想映射在外網的端口。80和443不能用,這倆基本都封的。
目標區域不用動,地址選擇你的NAS在內網的v4地址,端口填寫你要轉發的NAS的web頁面端口,即可。
其他的都不用動,點保存&應用即可,保存這個轉發設置。
此時你在外網輸入你設備的v6地址+端口號,就已經可以訪問你這臺NAS了。輸入方法為https://[v6地址]:端口號。不過v6地址太過難記,加上沒有證書不安全,所以這里就需要去DDNS一下。
DDNS的方法也很簡單,現在的nas基本都有docker功能,SSH后臺利用docker安裝一個ddns-go就行了。
安裝命令:docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
這里的/opt/ddns-go換成你自己nas里面想映射的文件夾地址就行了,不固定。
建立完成后,輸入你NAS的內網地址:9876端口訪問DDNS-GO的web后臺。首次會讓你設置賬號密碼,設置一個你想要的就行。然后在后臺這里,以阿里云為例,填寫你在阿里云的access key和秘鑰,至于怎么獲得,網上一大把教程,很簡單。這里要注意的是,我的域名是在阿里云買的,所以需要填阿里云的秘鑰用作DDNS解析,其他的同理。
由于我們是使用v6訪問,所以下面需要把v4的勾打掉,只保留v6,選擇網卡獲取,選擇你獲取到v6地址的網卡。
Domains對應你想映射在公網上的域名,比如你在阿里云買了一個chinochan.online的域名,你可以填寫nas.chinochan.oline,這樣你NAS的V6地址映射在公網上的域名就是nas.chinochan.oline,輸入這個域名加上你在路由器上轉發出去的端口號,就能在公網上訪問你的NAS。設置完成后保存,DDNS-GO就設置好了。
當然只有這樣還不夠,因為你雖然映射了域名,但是卻沒有SSL證書。雖然自己也可以在阿里云或者其他地方申請SSL證書替換NAS原本的證書,但是目前免費的SSL證書基本只有90天有效期,到期就要手動更換,比較麻煩。那有什么辦法可以讓機器自動更換呢?您好,有的。
如果你是群暉,那恭喜你,很簡單。去這個https://httpsok.com網站申請證書就行了。方法很簡單,網站有詳細的教程。并且官方提供了群暉一鍵更新證書的腳本,只要SSH進入群暉的后臺輸入這串命令即可。
并且httpsok還提供了證書監控功能,可以實時監測你的證書有效期,快到期了還會微信公眾號通知你,挺方便。
但是對于威聯通,飛牛這些NAS,就比較麻煩一些。這里推薦docker安裝acme來自動更換與托管證書。這里以威聯通為+阿里云例,首先去你習慣的docker程序文件夾建立一個acme使用的文件夾。比如我的就是/Container/acme。然后在container station中創建容器,映像輸入為neilpang/acme.sh:latest,點擊下一步。
容器名稱隨意,然后點擊左下角的高級設置,在第一頁的命令處點擊覆蓋,輸入daemon,讓容器以守護進程的方式運行。
第二頁的網絡選擇host,然后第三頁的環境,新建兩個子項,分別是Ali_Key和Ali_Secret,輸入的內容對應DDNS-GO里面輸入的Key和秘鑰。
到存儲這里,刪除原本的卷映射,新建一個綁定到主機路徑的映射
輸入你前面建立的文件夾地址,比如我剛剛建立的是/Container/acme,那就在主機地址輸入這個文件夾,映射為/acme.sh
點擊應用,回到創建容器的頁面,點擊下一步,這個容器就創建好了。然后去度盤這里下載大佬給威聯通寫好的腳本
鏈接: https://pan.baidu.com/s/15nfNMgWwKCnRrlQdQq7Yyw 提取碼: gg2b
下載里面的update_cert_docker.sh腳本,放到你剛剛建立的acme文件夾里面。
剩下的需要admin賬號才能操作,如果你沒開,去后NAS的管理頁面打開admin賬號和ssh功能,打開后用ssh訪問后臺,這里推薦使用mobaxterm。
用admin賬號進入命令后臺后,依次輸入Q,回車,Y,回車,進入可打命令的界面。輸入cd/share/Container/acme進入腳本文件夾,威聯通的共享文件夾都在/share目錄下,所以路徑是/share/Container/acme。輸入chmod +x update_cert_docker.sh,給這個腳本最高的可執行權限。
然后在右邊的文件瀏覽器中找到這個文件夾,右鍵選擇open with default text editor,用mobaxtrem自帶的文本編輯器打開這個文件,不要用windows的記事本,否則可能會出現字符編碼不同無法運行的問題。
需要改的部分是兩行,其中把DOMAIN這一行’’號內的內容改為你剛剛映射的域名,CERT_FILE=這一行,=號后面改為前面創建的acme文件夾,比如我的就是,CERT_FILE=/share/Container/acme,修改后點擊保存按鈕,彈出的提示選擇yes to all
到這里,腳本設置就完成了,輸入 ./update_cert_docker.sh運行這個腳本,就會自動替換你威聯通里面的證書了,第一次比較慢,因為有120秒的sleep時間,耐心等待。
然后輸入vi /etc/config/crontab,打開crontab自動任務的配置,定位到最后一行,按下ins,輸入: 0 1 2 * * /share/Container/acme/update_cert_docker.sh >/share/Container/acme/update_cert_docker.log &
這行命令意義是在每月2日晚上1點,執行一次更換證書的指令,并保存對應的日志到/share/Container/acme/update_cert_docker.log。完成后按ESC,輸入:wq,回車保存,再輸入crontab /etc/config/crontab && /etc/init.d/crond.sh restart重啟corntab即可。
然后你去到控制臺-安全-SSL證書,就可以看到證書已經被替換好了,并且定期自動更新證書,不用擔心過期。
其他的NAS怎么設置acme我就不知道了,因為我只有威聯通,自己上網搜吧。
到這里,你在公網訪問NAS的設置就基本完成了,have fun!
實測威聯通的app輸入地址也可以連接,下載NAS的文件可以跑滿我家里上傳。不過仍舊要注意的是,這個方法雖然可以訪問,但是如果你上傳量過大的話,仍舊是有概率被運營商限制上傳的哦
好了,我們下期再見
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.