本文作者:佳加網

frp內網穿透服務器搭建(linux搭建frp服務器)

frp內網穿透服務器搭建(linux搭建frp服務器)摘要: 外網訪問內網 Linux搭建frp服務,實現內網穿透服務,實現外網到內網的在線訪問一:frp簡介frp 是什么?frp 采用 Golang 編寫,支持跨平臺,...
外網訪問內網 Linux搭建frp服務,實現內網穿透服務,實現外網到內網的在線訪問

一:frp簡介

frp 是什么?

frp 采用 Golang 編寫,支持跨平臺,僅需下載對應平臺的二進制文件即可執行,沒有額外依賴。

frp 是一個專注于內網穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協議??梢詫染W服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。

市面上一些主流的內網穿透工具有:Ngrok,Natapp,花生殼,Ssh、autossh,Frp,Lanproxy,Spike。

這里介紹使用frp工具。

Ngrok可參考我另一篇文章:搭建ngrok服務器,實現內網穿透服務

二:安裝frp

1:準備

一臺公網服務器(配置無要求網絡穩定就行),服務器端,如公網IP:123.32.12.32。

內網客戶端(準備要穿透出去的設備),客戶端,如內網IP:192.168.152.103。

2:下載解壓安裝包

gitlab地址:https://github.com/fatedier/frp,可以在 https://github.com/fatedier/frp/releases 頁面中下載到最新版本的客戶端和服務端二進制文件,所有文件被打包在一個壓縮包中。

找到自己Linux合適的版本,下載,主流Linux版本基本上都是amd64。

#下載wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz#解壓tar -zxvf frp_0.44.0_linux_amd64.tar.gz#進入目錄cd frp_0.44.0_linux_amd64/

進入文件夾,有兩個名稱文件frpc(c結尾代表client)和frps(s結尾代表server),分別是服務端程序和服務端配置程序。

需要將frpc拷貝至客戶端,即內網服務器,或者在客戶端直接下載也可以,客戶端只需要使用frpc文件即可。

root@ubuntu:~/frp_0.44.0_linux_amd64# lsfrpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE

三:配置服務器端和客戶端,及啟動

1:配置服務器端

這里是為服務端配置frp 只關注frps和frps.ini即可,原始最簡單配置為。

cat frps.ini

[common]#隧道通道,服務器和客戶端通過此端口通訊bind_port = 7000

最簡單也可以直接使用,先不配置其他測試使用先。

2:配置客戶端

只關注frpc和frpc.ini即可,修改frpc.ini。

vim frpc.ini

原始配置已經有ssh的端口配置,所以修改server_addr為服務器IP即可。

[common]server_addr = 123.32.12.32server_port = 7000[ssh]type = tcp#本機IPlocal_ip = 127.0.0.1#本機需要映射的端口22local_port = 22#遠程服務器映射的端口為6000remote_port = 6000

3:分別啟動服務器端和客戶端

注:服務器,如有防火墻,請開啟7000端口和有需要的端口。

服務器運行啟動:

./frps -c frps.ini

客戶端運行啟動:

./frpc -c frpc.ini

可以看到提示,都已經啟動成功

測試ssh連接,這里用第三方工具xshell測試。

連接IP 為公網IP地址,端口為6000端口。

連接登錄,即可登錄到內網的192.168.152.103機器。

最簡單的ssh端口映射就完成了。

四:升級配置

原始配置簡單,但是如果需要其他功能,可自行添加,如下:

1:服務器端配置

vim frps.ini

修改如下

[common]bind_port = 7000#http服務端口vhost_http_port = 8088#https服務端口vhost_https_port = 8443# dashboard網頁管理界面,以及設置賬戶密碼(非必須,未配置則直接進入)dashboard_port = 7500dashboard_user = admindashboard_pwd = admin#客戶端需要設置一樣的token值才能鑒權通過token = 12345678

2:客戶端配置

vim frpc.ini

修改如下:

[common]server_addr = 123.32.12.32server_port = 7000#token和服務器一致token = 12345678[ssh]type = tcp#本機IPlocal_ip = 127.0.0.1#本機需要映射的端口22local_port = 22#遠程服務器映射的端口為6000remote_port = 6000[web]type = http#本地http服務端口,默認80,按需配置local_port = 80# 綁定域名,注:配置http,必須需要域名,否則報錯。如沒有,可采用普通的tcp模式映射。custom_domains = xxx[ftp]type = tcplocal_ip = 127.0.0.1#本機需要映射的端口21local_port = 21#遠程服務器映射的端口為1121remote_port = 1121

3:啟動測試

分別啟動客戶端和服務器端

./frps -c frps.ini

客戶端運行啟動:

./frpc -c frpc.ini

瀏覽器打開web管理界面,http://123.32.12.32:7500/,輸入賬戶密碼,可查看端口映射相關情況。

同時訪問:http://123.32.12.32:8088,即可訪問跳轉到到內網192.168.152.103機器的http服務。

如果內網有ftp服務,用公網123.32.12.32的1121端口,即可訪問內網的ftp。

其他更多參數參考中文文檔:https://gofrp.org/docs/

4:后臺啟動

當然對于正式環境,可以配置后臺啟動,并保存日志輸出到相關文件。

服務端:

nohup ./frps -c frps.ini > /var/log/frp.log 2>&1 &

客戶端:

nohup ./frpc -c frpc.ini > /var/log/frp.log 2>&1 &

到此,frp服務器搭建完成。

linux搭建內網穿透 linux搭建frp服務器

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞

閱讀
分享

發表評論

快捷回復:

評論列表 (暫無評論,3人圍觀)參與討論

還沒有評論,來說兩句吧...