爲了實現域名直接訪問內網電腦,今天實驗了一上午,終於成功了。
實現的主要步驟是:
1、域名解析到阿里雲主機(均實名及備案)
2、在雲主機啓動frp服務端
3、開放雲主機端口(在此踩坑)
4、在寶塔面板設置反向代理
5、在內網電腦啓動客戶端
實現的效果是:
http://oper.yldts.cn 打開在內網的羣暉NAS
各步驟:
1、域名解析到阿里雲主機
2、在雲主機啓動frp服務端,重點是和寶塔面板同時運行
我在阿里雲是CentOS7, 在https://github.com/fatedier/frp/releases下載了
https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_arm64.tar.gz
反正我是在我的Windows10的個人電腦上直接解壓縮,實際上只需要2個文件,是服務端文件,客戶端的文件不需要:
frps是可執行文件,frps.ini是配置文件,這個名字自己可以改,也可以有幾個,啓動的時候指定哪個,就會使用哪個的配置。
這個上傳到雲主機的 /root/frp目錄(這個自己隨便)。配置文件怎麼寫,我下面說。
目錄權限設置爲0777也就是可執行,可修改。
配置文件frps.ini這樣寫:此處參考 https://www.gacjie.cn/post-200.html 但是有個坑,我來說一下。
這裏有3個重點:
2-1、5433這個端口既需要TCP協議,也需要UDP協議
2-2、808這個端口呢,不能和寶塔面板衝突才這樣,可是你要的是80端口,原理舉例說,你在寶塔面板新增網站uper.yldts.cn,給網站反向代理,指向了http://127.0.0.1:808,然後這個808是frp在監聽,聽到以後呢,就要轉給frp的客戶端,而有個客戶端啓動時配置了自己是uper.yldts.cn的目的地。這個在第4、5步中說明。囉嗦一下,在寶塔面板新增另一個oper.yldts.cn網站,也反向代理到了http://127.0.0.1:808,然後frp監聽到後,轉到配置了自己是oper.yldts.cn的客戶端。
2-3、在客戶端可以配置完整域名,所以可以不用這樣分開在服務端指定一級域名,而客戶端指定前邊的oper,uper,而是直接指定oper.yldts.cn以及uper.yldts.cn
下面就是啓動了:這個就是用./frps是可執行文件,frps.in是那個要使用的配置文件,你可以有幾個配置文件,想啓動哪個就用哪個。
./frps -c frps.ini
3、開放雲主機端口(在此踩坑)
在寶塔面板放行這些用到的端口
在阿里雲放行相應端口。請記住,5433需要TCP和UDP,我承認我腦子沒轉彎,只配了一個,然後不好用,一直到好用。
4、在寶塔面板設置反向代理
在寶塔面板新建網站
設置網站的反向代理,讓對於http://uper.yldts.cn的訪問,轉給frp監聽的http://127.0.0.1:808,然後讓frp將這個訪問,再轉給安裝了客戶端的電腦。
5、在內網電腦啓動客戶端
我們看一下客戶端配置文件,我這個是下載了個Windows客戶端。要知道,並不是哪個電腦運行客戶端,才能訪問這臺電腦,而是整個內網的電腦都可以指向到。
我們需要在命令行運行,運行加載我們需要的配置文件,記住用frpc這個客戶端文件,而不是frps服務端文件。
最後,我們檢驗一下效果:
另外,上面有個6443端口是個frp面板,我也解析了域名,做了反向代理,訪問看看效果。
說在最後,大老闆來自上海。所以有中文說明:) https://github.com/fatedier/frp/blob/master/README_zh.md
感謝fatedier