群暉 docker frp
通過公網訪問群暉的教程。
群暉通過docker部署frp客戶端,實現公網訪問群暉。
目前流行的公網訪問群暉的方案大致如下:
1.DDNS解析(我的網絡環境不適用此種方案,且可能需要花很多錢如:花生殼)
2.frp內網穿透 (本文的主要方案,此處又分為群暉系統內部署、docker部署,本文為后者)
3.Quick Connect (最簡單,網速最慢)
本文方案核心是frp客戶端(下文frpc代指)和frp服務端(下文frps代指)的通信,而frpc的部署可以通過群暉本身的系統進行部署,也可以通過群暉的DSM系統中的docker插件進行部署。
由於群暉的linux系統並不太容易獲得root權限,且這樣對於機子本身的修改成本較高,故采用docker部署frpc的方案實現。
關於frp版本的通信問題:
本文使用的frps是 0.35.1 frpc是0.35.1。
經過測試frps版本不變,frpc變為0.30.0時仍然可以正常通信。
-
前期准備:
一台雲主機(本文采用阿里雲主機,帶寬15M。本文以39.156.69.79代指[此IP為百度的IP]) 一個域名(本文采用的阿里雲已備案域名,本文以baidu.com代指) 一個群暉(本文型號DS720+) ------------ 本文環境: 學校網絡經過學校的一層路由之后,到達我本人手里之后我還需要一個路由器通過指定的賬號上網,所以本次環境可以認為是二層路由。
-
阿里雲需要處理的內容
1.防火牆:增開端口5000 類型:tcp 2.域名解析記錄: 增加子域名: A記錄,例如: nas.baidu.com 39.156.69.79 -------------------- 由於我原本的解析記錄www已經解析到雲主機39.156.69.79,這里增開的也解析到39.156.69.79也沒問題,只不過訪問的時候就變成了:http://nas.baidu.com:5000
-
阿里雲主機部署frps,參考文章:鏈接:
frps.ini
[common] bind_port = 7000 token = 1f%vXPfy3*IWzX vhost_http_port = 5000 dashboard_port = 7001 dashboard_pwd = qwe123456
- bind_port :frpc訪問的端口
- token : frpc認證用的密鑰
- vhost_http_port : 公網訪問轉到fprc的端口
- dashboard_port :frps面板
- dashboat_pwd : frps登錄密鑰,默認賬號名:admin
dashboard_port和dashboard_pwd建議在測試通過后將其關閉,即注釋或刪掉。
-
群暉docker部署frpc,此處的frpc部署參考下文:
frpc.ini
[common] server_addr = 39.156.69.79 server_port = 7000 token = 1f%vXPfy3*IWzX [web_2_xxx] type = http local_ip = 192.168.3.122 local_port = 5000 custom_domains = nas.baidu.com
-
server_addr : frps 的IP
-
server_port : frps的端口
-
token : 認證密鑰
-
[web_2_xxx] : 顯示在frps中的客戶端明自
-
type : frp連接類型
-
local_ip : 轉發到本地局域網的地址
-
local_port : 轉發到本地局域網的端口
-
custom_domains : 定義的二級域名。如果和解析記錄不一致也無法訪問。
-
-
群暉安裝docker並部署frpc
-
在套件中心安裝docker
-
按照下圖操作,此處選擇
stilleshan/frpc
的原因就是更新及時,其他版本更新不及時,如oldiy/frpc
: -
雙擊后選擇版本,如下所示,本文選擇0.35.1與frps端版本一致:
-
之后等待其下載映像即可:
-
雙擊0.35.1版本,勾選“使用高權限執行容器”,然后點擊“高級設置”
-
將上文准備好的frpc.ini文件上傳至群暉中的任意一個文件夾並填入此處,最終效果如下:
-
設置網絡:
-
然后應用,然后下一步,然后應用:
-
最后確認剛剛創建的容器是否正常運行,需要查看日志。查看日志的方法如下:
-
如果設置成功了,會有很多日志,並且有明顯的提示,如:與服務端認證成功:
-
到此就可以通過公網地址訪問我們的群暉了:
例如: nas.baidu.com:5000
-