櫻花frp搭建伺服器
Ⅰ FRP 內網穿透、反向代理
frp[1] 是一個專注於內網穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。
本文將以暴露內網 Web 服務為例,實踐 frp 的安裝部署。更多應用場景,可見 frp 示例[2] 。
frp 主要由 客戶端(frpc) 和 服務端(frps) 組成,服務端通常部署在具有公網 IP 的機器上,客戶端通常部署在需要穿透的內網服務所在的機器上。
可以在 Github 的 Release[3] 頁面中下載到最新版本的客戶端和服務端二進制文件。
本文公網、內網機器都是 linux x86_64 ,所以選擇了 frp_0.39.0_linux_amd64.tar.gz 。解壓:
拷貝 frps 文件進公網機器,假設其 IP 為 x.x.x.x :
修改 frps.ini 文件,設置監聽 HTTP 請求埠為 8080:
安裝 supervisor 進行部署,後台長期運行:
拷貝 frpc 文件進內網機器,假設其 IP 為 192.168.1.100 :
修改 frpc.ini 文件,假設 frps 所在的伺服器的 IP 為 x.x.x.x , local_port 為本地機器上 Web 服務監聽的埠, 綁定自定義域名為 custom_domains 。
將 www.yourdomain.com 的域名 A 記錄解析到 IP x.x.x.x 。
簡單運行服務,進行測試:
以 systemd 進行部署,後台長期運行:
[1] frp: https://github.com/fatedier/frp
[2] frp 示例: https://gofrp.org/docs/examples/
[3] Release: https://github.com/fatedier/frp/releases
Ⅱ FRP 內網穿透服務免費使用的詳細教程
FRP 是一個可用於內網穿透的高性能的反向代理應用,支持 tcp, udp, http, https 協議。對於 http, https 服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共用一個80埠。說人話?就是讓沒有公網ip的你遠程訪問區域網內的各種服務,比如遠程訪問路由器後台、遠程ssh、遠程桌面等。 有公網ip的大佬就沒必要繼續往下看了 。
免費伺服器不穩定,速度慢,且一般僅開放部分埠,請謹慎使用!但如果需求量不大,偶爾遠程訪問一下路由器,也是沒問題的。以下是一些免費frp伺服器網址:
自建frp伺服器的速度,穩定性,可用埠完全取決於你的雲伺服器狀況。這里推薦使用 clang 大大寫的frp一鍵搭建腳本。
只談一下最新0.20.0的FRP基本配置,基本有以下幾種配置信息 加粗表示必填 :
[站外圖片上傳中...(image-891bdc-1614872632225)]
ssh的tcp穿透配置完成後Linux、Mac或XShell環境下運行以下命令即可遠程路由器:
可能我測試的這個免費伺服器問題,http穿透未測試成功,ssh的http穿透配置完成後終端ssh運行以下命令即可遠程路由器:
額,經過測試ssh無法使用http穿透,測試過web伺服器既可以使用http也可以使用tcp穿透方式的。下面例子使用免費伺服器 frp3.chuantou.org , address 表示穿透成功後的訪問地址。
如果http配置為80埠,https配置為443埠,那麼你使用http或https方式穿透之後是不用增加埠號訪問的。如果使用其他埠,請加上埠號訪問。使用這兩個埠搭建frp伺服器會佔用你vps的相應埠,不過可以支持多個子域名共用埠80或443,不必像tcp穿透那樣一個穿透節點佔用一個埠。
FRP請一定要注意服務端版本號,有些版本不互相兼容。而且隨著版本的更新,配置也發生了一定的更改。所以請跟你不同的版本選擇不同的服務端配置,目前大概有三個版本:
FRP服務啟動失敗,請檢查FRP穿透節點配置中的子域名 http 和遠程埠 tcp 配置,
極可能已經被和你使用同樣免費伺服器的人佔用了,嘗試多次更換這2個配置,並重啟服務。
文中如果有錯誤的地方,歡迎評論與指正。如果你喜歡我寫的文章,也可以點擊下方的 打賞 支持一下,你的支持就是我更新的動力!謝謝大家🙏!
Ⅲ 自製frp伺服器實現內網穿透
購買一個極路由,極路由可以安裝應用,而且有提供域名解析,可以被用來作為本次內網穿透的實驗。
隨後給路由器安裝frp的應用,在有廣域網IP的自己家的路由器上安裝frps,在內網安裝frpc。
frp的源碼可以在 github 上獲取,頁面上有關於frp的介紹:
在伺服器端設置,選擇版本,伺服器地址保持默認的 0.0.0.0 ,設置特權密碼,用於客戶端的連接,設置查詢用戶名和密碼。
在客戶端進行設置,選擇與伺服器對應的版本,填入伺服器的域名或者IP,因為極路由自己有域名解析非常方便。添加自己設定的密碼:
再加入配置文件,比如下面的內容將148和5兩台主機的22埠做了分配:
運行客戶端,查看運行狀態:
以下通過ssh登陸到內網的樹莓派上,這個板用安裝了moodeaudio系統,可以看到相關的信息:
打開狀態網頁 http://xxxxxxxxxxxx.jios.org:7500/ ,也可以看到連接信息:
Ⅳ 雲伺服器應該建立什麼代理服務才能使家庭寬頻下的游戲伺服器相當於擁有了雲伺服器的公網ip
首先回答第一個問題,如果游戲本a設置全局代理到擁有公網IP的雲伺服器b,並在b上建立代理服務,則a的游戲伺服器可以裂冊通過b的公網IP地址訪問。但是,這並不意味著a的游戲伺服器擁有公網IP地址。如果要讓a的游戲伺服器擁有公網IP地址,需要在雲伺服器b上建立埠映射或NAT轉發等服務,將b的公網IP映射到a的游戲伺服器上。
其次回答第二個問題,要讓a的游戲伺服器出現在steam伺服器列表中,需要使用Steamworks SDK並在a的游戲伺服器上實現相關功能。具體來說,需要在游戲伺服器上使用Steamworks SDK提供的API,將a的游戲伺服器注冊到Steam伺服器列表中。需要注意的是,Steamworks SDK只能用於Steam游戲。
關於第三個問題,如果使用櫻花frp的TCP/UDP隧道,需要建立的隧道埠應該包括a的游戲伺服器埠以及frp客戶端與服務端通信所使用的埠。具體來說,需要在游戲本a上運行frp客戶端,並通過frp客戶端將a的游戲伺服器埠映射到雲伺服器b上。同時,需要在雲伺服器b上運行frp服務端,並將b的公網IP地址與frp服務端通信肆扮宏所使用的埠映射到frp客戶端所使用的埠上。這樣,通過b的公網IP地址加上映射的埠即可訪問到a的游戲伺服器。
最後,如果不使用櫻花frp而是在雲伺服器b上建立其他服務,可以考慮使用缺察埠映射或NAT轉發等服務,將b的公網IP映射到a的游戲伺服器上。具體來說,可以在雲伺服器b上運行埠映射或NAT轉發軟體,將b的公網IP地址與a的游戲伺服器埠進行映射。這樣,通過b的公網IP地址加上映射的埠即可訪問到a的游戲伺服器。需要注意的是,埠映射或NAT轉發可能會對網路安全造成一定的影響,需要謹慎使用。