網透傳,簡單的一句話就是讓外部的互聯網主機,可以訪問你局域網內的機器上的HTTP,HTTPS,TCP或UDP服務。
frp 是一個專注于內網穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。
通過在具有公網 IP 的節點上部署 frp 服務端,可以輕松地將內網服務穿透到公網,同時提供諸多專業的功能特性,這包括:
客戶端服務端通信支持 TCP、KCP 以及 Websocket 等多種協議。
采用 TCP 連接流式復用,在單個連接間承載更多請求,節省連接建立時間。
代理組間的負載均衡。
端口復用,多個服務通過同一個服務端端口暴露。
多個原生支持的客戶端插件(靜態文件查看,HTTP、SOCK5 代理等),便于獨立使用 frp 客戶端完成某些工作。
高度擴展性的服務端插件系統,方便結合自身需求進行功能擴展。 服務端和客戶端 UI 頁面。
功能示意圖:
frp為go語言開發,可以支持Windows,Linux,MacOS,ARM等多平臺部署。不用安裝,下載不同平臺的壓縮包,直接解壓就行。 下載地址:
[Releases · fatedier/frp · GitHub](https://github.com/fatedier/frp/releases)
[common]
#與客戶端綁定的進行通信的端口
bind_port=8000
# 綁定的IP
bind_addr=0.0.0.0
#訪問客戶端web服務自定義的端口號,如果是https 就改成vhost_https_port
vhost_http_port=8080
#frp一個訪問頁面,只是顯示配置沒多大用
dashboard_addr=0.0.0.0
dashboard_port=7500
#訪問frbs的前臺賬號和密碼
dashboard_user=admin
dashboard_pwd=12341111
#本身日志信息
log_file=./frps.log
log_level=info
log_max_days=3
disable_log_color=false
#連接標識
authentication_method=token
# 校驗token
token=1234567
nohup ./frps -c ./frps.ini &
[common]
server_addr=服務器的ip
#通信端口
server_port=8000
#鑒權方法
authentication_method=token
token=1234567
# 一定要加不加連不上
tls_enable=true
log_file=./frpc.log
log_level=info
log_max_days=3
disable_log_color=false
#ssh的中轉
[ssh]
type=tcp
local_ip=127.0.0.1
local_port=22
#遠端的訪問端口
remote_port=1234
[web]
type=http
local_ip=內網地址可以寫127.0.0.1
#本機的http端口
local_port=80
custom_domains=服務器的ip或域名
如上的服務器端配置圖示如下:
最終連接示意圖
ssh訪問:
ssh -p 1234 root@x.x.x.x
x.x.x.x 服務器的IP test 為服務器用戶
web訪問:
http://x.x.x.x:8080
注意,如果多個web服務器,必須通過域名來控制訪問,配置section名字不能相同。 比如:
[web01]
type=http
local_port=8080
custom_domains=www.chendahai.cn
[web02]
type=http
local_port=80
custom_domains=cd.chendahai.cn
訪問用的URL: http:// www.chendahai.cn:8080和 http://cd.chendahai.cn
echo "nohup /root/soft/frp_run/frpc -c /root/soft/frp_run/frps.ini &" >> /etc/rc.d/rc.local 或者做成服務:
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
# 設置開機啟動
systemctl enable frps
# 啟動
systemctl start frps
一、獲取frp服務器,建議自建服務器,也可以臨時借用免費服務器進行搭建。
1.1 免費服務器推薦:https://freefrp.net/
frp1.freefrp.net
連接端口 :7000 密碼 :freefrp.net
開放端口 :80 / 443 , 10001 – 50000
免費域名 :*.a.freefrp.net
frp2.freefrp.net
連接端口 :7000 密碼 :freefrp.net
開放端口 :80 / 443 , 10001 – 50000
免費域名 :*.b.freefrp.net
frp3.freefrp.net
美國 – 水牛城
連接端口 :7000 密碼 :freefrp.net
開放端口 :80 / 443 , 10001 – 50000
免費域名 :*.c.freefrp.net
frp4.freefrp.net
美國 – 洛杉磯
連接端口 :7000 密碼 :freefrp.net
開放端口 :80 / 443 , 10001 – 50000
免費域名 :*.d.freefrp.net
1.2 測試服務器線路是否正常。使用前必須先ping下服務器看是否線路正常,免費的特點就是不穩定,如果服務器線路不通,你無論如何也是調試不通的。
win+R,打開cmd,ping命令測試。以frp1.freefrp.net線路舉例測試。
服務器線路測試結果正常。
二、將需要使用的域名在域名解析服務商控制臺設置CNAME指向 frp 服務器地址,具體參見https://www.ioiox.com/archives/26.html,大神級教程。
三、frp客戶端設置
3.1 配置frpc.ini
在群暉NAS任意位置新建或者上傳frpc.ini文件,建議使用群暉的文本編輯套件來創建和編輯.ini文件,避免Windows下的后綴問題導致容器錯誤。本文以/Docker/frp/frpc.ini為例。
3.2 編輯frpc.ini文件,具體可參考https://www.ioiox.com/archives/26.html。
四、frp服務器端搭建設置
4.1 進入群暉,打開docker,左列“注冊表”里搜索“frp”
4.2 這里選擇stilleshan的版本進行下載。
4.3 在映像里等待下載完成,選擇映像,啟動
4.4 創建容器,選擇使用高權限執行容器
4.4 進行設置
高級設置、存儲空間、網絡三項設置完成后,點擊“應用”。
4.5 點擊”下一步“。
4.6 進行容器創建前的信息確認。
4.7 確認無誤,啟動容器,檢查容器日志,確認容器啟動正常。
五、驗證測試通過,收工!
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處:貓耳朵朵 ? 群暉之frp內網穿透