關鍵字:綠聯 DX4600、域名直連、動態域名解析、內網穿透、光貓、nas、docker、ddns-go、ipv6、nginx proxy manager、ssl
前言
我是業餘 nas 玩家,折騰了兩天,此篇是我自己的筆記和總結(篇尾有彩蛋),希望能夠爲大家實現域名直連 nas 貢獻個人智慧、提供個人方案,但更多的還是和大家溝通交流。還請大家切記,只有把筆記同個人具體實際相結合,才能探索出屬於自己的解決方案
“但這一切值得嗎”x1 ——《冰汽時代》
另外,我使用的是綠聯 DX4600+(雙十一新購),綠聯 DX4600 系列都支持 docker,固件版本 3.0.0 開始支持 ipv6 / 域名直連登錄,請確保固件版本最新
捋清思路
1. 公網 ipv4 地址存量少、申請難,因此如果想要外網訪問 nas,那就要使用 ipv6(數量多到可以爲地球上的每一粒沙子都分配一個地址)
2. 但是,ipv6 地址根本不是人能記住的,因此需要同域名綁定,域名記起來就簡單多了
簡單補充一下網絡知識:訪問域名時,會向 dns 服務器查詢這個域名對應的 ip 地址(dns 服務器可以簡單看作 域名 - ip 對照表),拿到 ip 地址後就知道了設備在網絡中的位置(ip 地址可以比喻成你家門牌號),就可以向設備發起請求
3. 可是,運營商分配 ipv6 地址一般是動態變換的,也就是說可能三天兩頭就會變一次,因此需要動態更新域名綁定的 ipv6 地址,這就用到了 ddns(動態域名服務 dynamic dns),將變化的 ipv6 地址綁定到固定的域名上。ddns 的作用就是動態更新 dns 服務器上域名和 ip 地址的對應關係
4. 至此,外網訪問 nas 還差最後一步,就是通過防火牆,因爲防火牆會過濾 ipv6 流量,所以需要關閉光貓和路由器的防火牆,接着就能外網訪問 nas 了
5. 補充:域名開啓 https 會在後面介紹,關閉防火牆將使設備暴露在公網,有安全問題,後續會簡單提及
前期準備
1. 域名購入,推薦騰訊雲或阿里雲,我這裏用的騰訊雲,具體不再贅述
2. 進入控制檯 - 雲解析 DNS,開啓域名解析(點擊添加域名,按步驟來即可,如果遇到問題可以先查查騰訊雲文檔,有詳細教程和步驟)
3. 檢查電腦和綠聯 nas 是否開啓 ipv6
Windows:控制面板 - 網絡和 Internet(查看網絡狀態和任務)- 更改適配器設置
檢查無線和有線網絡(右鍵 - 屬性)中,ipv6 是否已安裝
綠聯 nas:設備管理 - 網絡設置 - 有線網絡 - ipv6 地址開啓
4. 檢查代理軟件是否開啓 ipv6(若沒開代理軟件,跳過這一步)
以小藍貓爲例,如圖所示,開啓 ipv6
5. 檢查光貓和路由器是否開啓 ipv6
路由器比較簡單,進入路由器後臺管理界面開啓 ipv6 即可
光貓比較棘手,但通常情況下已經開啓 ipv6,先進行下一步 ipv6 連通性測試,如果通過就暫時不用管光貓,若不行,用超級管理員賬號進入光貓後臺(192.168.1.1)開啓
下圖爲光貓常見的超管初始賬密,如果進不去,可能要另闢蹊徑了,這就是棘手的部分...
老光貓的 ip 協議版本是無法直接更改的,需要刪除再新建配置
刪除前一定要截圖備份配置信息,刪除前一定要截圖備份配置信息,刪除前一定要截圖備份配置信息,特別是 vlan id 和撥號賬戶密碼。撥號賬號密碼忘記沒事,但這個 vlan id 要有,新建配置時要填(若是真忘記了請找客服,移動是 10086)
6. 測試是否通過 ipv6 檢測(https://www.test-ipv6.com/)
DDNS-Go 動態更新域名解析
ddns-go 是一個很好用的 ddns 程序,可以自動添加並更新域名綁定的 ip 地址
1. 啓動 docker,在鏡像倉庫搜索 ddns-go 並下載(鏡像管理 - 鏡像倉庫)
如果拉取速度過慢,試試更改鏡像源(基本信息 - 鏡像源設置)爲網易雲鏡像,或者騰訊雲鏡像(在自定義那欄輸入 https://ccr.ccs.tencentyun.com/)
2. 下載完畢後,創建容器(鏡像管理 - 本地鏡像 - 找到 ddns-go - 創建容器)
3. 容器參數配置(注:我直接拿配置好的演示,界面略微不同)
容器重啓策略改成 總是(always),如果 docker 設置了開機自啓,容器 ddns-go 也會自動啓動,除非手動停止(點擊右邊的問號可查看各策略的意思)
網絡模式選擇 host
設置配置存放位置,文件夾名稱可以任意,但裝載路徑一定得填 root
容器端口保持 9876 就行。如果本地端口衝突,把網絡改成 bridge 模式,本地端口不填(會自動設置)
啓動容器,並打開 ddns-go 管理界面
4. ddns-go 參數配置
dns 服務商選擇 DNSPod,然後點擊“創建 DNSPod Token”,跳轉到騰訊雲 DNSPod 界面,不出意外的話已經自動登錄了(注:DNSPod 已被騰訊收購,DNSPod 解析和騰訊的互通)
點擊創建祕鑰,祕鑰 token 記得保存下來,只顯示一次,然後把 id 和 token 填入 ddns-go(見上圖)
ipv4,沒有,不啓用
ipv6,啓用,域名部分填入二級域名(比如你的一級域名是 example.cn,可以填 nas.example.cn,方便記憶),之後 ddns-go 會幫我們自動創建並添加解析記錄(這個後文會說明)。獲取 ip 方式選擇通過網卡獲取
禁止公網訪問 ddns-go 管理界面,勾選
配置完畢,點擊保存,然後去 DNSPod 檢查是否多了一條記錄
5. 驗證內網是否可以訪問,兩個辦法:
① 測試內網能不能 ping 通域名,能 ping 通說明內網訪問正常
② 打開綠聯 web 端地址(你填入 ddns-go 的域名 + 端口號 9999,9999 是綠聯默認端口號,例如 nas.example.cn:9999),能打開說明內網訪問正常
“至此已經成功了一半”
打通外網訪問
1. 驗證外網是否可以訪問,兩個辦法:
① 測試公網能不能 ping 通域名,能 ping 通說明公網訪問正常
打開 https://ipw.cn/ipv6ping/ 進行 ipv6 ping 測試,多 ping 幾次(因爲有可能是 ping 服務器的問題),如果能 ping 通會顯示 ip 地址和響應時間,如果 ping 不通,則顯示 ping failed
② 手機流量下打開綠聯 web 端(這個方法最簡單),能打開說明外網訪問正常
以下是手機流量下(外網)訪問成功的界面(可以看到綠聯沒做移動端適配...不好意思,老職業病了)
注:手機 edge 瀏覽器有緩存機制,如果你之前連接 wifi 時訪問過綠聯 web 端,先關閉這個頁面,並重啓手機 edge 瀏覽器,然後再重新訪問
2. 如果外網無法訪問,則需要關閉光貓和路由器防火牆,放行 ipv6 流量
先放一張示意圖,輔助理解(非網絡從業者,圖示內容目的只是輔助理解)
關閉路由器防火牆
關閉光貓防火牆(ipv6 session 防火牆)。中提到“要檢查光貓是否開啓了 ipv6”,因爲一般都是開啓,所以可以暫時不管光貓,但這一步是必須的(該來的還是要來的)
使用超級管理員賬號進入光貓後臺(192.168.1.1),如果使用 前期準備 中列出的超管賬號進不去光貓,那你得求助萬能的搜索引擎或者運營商客服了...
這裏以移動老光貓爲例,關閉 ipv6 session 防火牆,然後等待一會即可
3. 再次驗證外網是否可以訪問,同樣採用步驟 1 的兩個方法
開啓 HTTPS
1. 申請 ssl 證書(依然是用騰訊雲)
進入控制檯 - SSL 證書 - 我的證書 - 申請免費證書(免費證書的額度不是一次性的,證書吊銷或正常到期後額度會釋放,證書有效期一年,到期後需要續期)
證書申請一般幾分鐘就能審覈通過
然後下載證書文件,後面要用到
2. 部署 nginx proxy manager(nginx 反向代理我懂得不多,所以後續我會少說點話)
爲什麼選擇 npm(注:後文將 nginx proxy manager 簡稱爲 npm,此 npm 非 node package manager,本文不涉及 node.js)
因爲它界面好看(連理由都是那麼的優雅!優雅至極!)
和部署 ddns-go 那會一樣,在 docker 鏡像倉庫搜索 nginx-proxy-manager(注意橫杆是必須的,不然搜不到)
因爲這個鏡像很大(800+MB),如果多次拉取失敗,請嘗試將鏡像源改成 docker 官方源(慢是慢了點,但不容易出錯)
下載完畢後創建容器,配置容器參數(同樣,這裏也是拿已經創建好的容器演示,界面會有略微不同)
重啓策略選擇 總是(always),作用不再贅述
網絡選擇 bridge
文件夾一個存放數據,一個存放證書,名字可以自己設定,但裝載路徑要和圖示一致
更改容器本地端口,因爲運營商會封鎖 80、443 端口,所以端口改成了 11 開頭,方便記憶
配置完畢,啓動容器,打開 npm 管理頁面,默認的賬號密碼是 admin@example.com 和 changeme
第一次進入管理頁面會讓你設置名字並修改賬號密碼
3. 配置 nginx proxy manager
添加 ssl 證書
上傳 key 和 crt 兩個文件即可,然後點保存
設置代理服務
按圖所示配置
如果忘記了綠聯 ip 地址,可以從 設備管理 - 網絡設置 中查看(前文提到的開啓綠聯 ipv6 地址的地方)
添加 ssl 證書,選擇剛纔創建好的 ssl 證書,最後點擊保存
4. 打開瀏覽器,訪問綠聯 web 端,端口號改成 11443,如 nas.example.cn:11443,不出意外,已經能夠 https 訪問了
域名直連 nas
1. 綠聯 nas 開啓本地登錄(網絡服務 - 本地賬號)
2. 域名直連登錄 nas
"至此,結束"
安全問題
由於防火牆不能像雲服務那樣設置安全組來放行端口,因此需要整個關閉,這樣會使內網設備暴露在外,引發安全問題,但是得益於 ipv6 地址的動態變化和巨大存量,遇到安全問題的概率幾乎爲 0
對於一些路由器,比如榮耀或華爲的,除了互聯網防火牆之外還設了一道局域網防火牆,能夠檢測黑客攻擊網絡,控制智能家居設備的行爲,這使得安全性又得以進一步提高
結語
就現階段來看,自己弄域名直連和內網穿透有點多次一舉,因爲綠聯 nas 內置內網穿透服務,可以外網訪問 nas,就算綠聯服務器掛了,也可以局域網本地連接登錄,此時若想外網登錄,域名直連才能發揮作用。而自己設置的 域名 + ipv6 的登錄方式,需要關閉防火牆,進而引發安全問題(雖然概率極低)
局域網本地登錄
“但這一切值得嗎”x2 ——《冰汽時代》
彩蛋
彩蛋的彩蛋
雙十一換新
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com