frp內(nèi)網(wǎng)穿透

FRP 項(xiàng)目地址:https://github.com/fatedier/frp

frp是一種快速反向代理,可幫助您將NAT或防火墻后面的本地服務(wù)器公開到Internet。到目前為止,它支持TCP和UDP以及HTTP和HTTPS協(xié)議,在這些協(xié)議中,請求可以通過域名轉(zhuǎn)發(fā)到內(nèi)部服務(wù)。

1、下載frp資源

FRP下載地址

image.png

2、目錄簡介

以CentOS系統(tǒng)為例,創(chuàng)建一個文件夾將下載好的壓縮包(frp_0.33.0_linux_amd64.tar.gz)解壓得到目錄中以下文件。

-rwxrwxr-x 1 1000 mysql 10629120 Apr 27 16:59 frpc #客戶端啟動
-rw-rw-r-- 1 1000 mysql     7575 Apr 27 17:06 frpc_full.ini
-rw-rw-r-- 1 1000 mysql      126 Apr 27 17:06 frpc.ini #客戶端配置文件
-rwxrwxr-x 1 1000 mysql 12976128 Apr 27 16:59 frps #服務(wù)端啟動
-rw-rw-r-- 1 1000 mysql     4639 Apr 27 17:06 frps_full.ini
-rw-rw-r-- 1 1000 mysql       49 Jul  8 10:43 frps.ini #服務(wù)端啟動
-rw-rw-r-- 1 1000 mysql    11358 Apr 27 17:06 LICENSE
drwxrwxr-x 2 1000 mysql     4096 Apr 27 17:06 systemd

3、案例一:通過SSH訪問LAN中的計(jì)算機(jī)

1.配置服務(wù)器端

修改服務(wù)器上的frps.ini文件,并設(shè)置bind_port

[common] 
bind_port = 7000

啟動服務(wù)器端

./frps -c ./frps.ini
2.配置客戶端

修改服務(wù)器上的frps.ini文件,并設(shè)置bind_port

  • server_addr:服務(wù)器端地址
  • server_port:服務(wù)器端端口號
  • local_ip:本地地址
  • local_port:本地ssh連接端口號
  • remote_port:服務(wù)器端映射端口號,需要在服務(wù)器端開啟
[common] 
server_addr = 23.23.23.23 
server_port = 7000 

[ssh] 
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7001

啟動客戶端

./frpc -c ./frpc.ini
3.測試

從服務(wù)器端服務(wù)器通過SSH到客戶端服務(wù)器,如下所示:
x.x.x.x :服務(wù)器端ip

ssh -oPort=7001 root@x.x.x.x

3、案例二:通過穿透外網(wǎng)訪問內(nèi)網(wǎng)中的tomcat項(xiàng)目

1.配置服務(wù)器端

修改服務(wù)器上的frps.ini文件,并設(shè)置bind_port

[common] 
bind_port = 7000
vhost_http_port = 8080

啟動服務(wù)器端

./frps -c ./frps.ini
2.配置客戶端

修改服務(wù)器上的frps.ini文件,并設(shè)置bind_port

  • server_addr:服務(wù)器端地址
  • server_port:服務(wù)器端端口號
  • local_ip:本地地址
  • local_port:本地ssh連接端口號
  • remote_port:服務(wù)器端映射端口號,需要在服務(wù)器端開啟
[common]
server_addr = 服務(wù)器端ip
server_port = 7000

[web]
type = http
local_port = 8080
custom_domains = 可以是服務(wù)器端ip也可以是服務(wù)器端ip解析的域名

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7001

啟動客戶端

./frpc -c ./frpc.ini
3.測試

訪問內(nèi)網(wǎng)tomcat,如下所示:

ip/域名:8080

4、案例三:frp的其它好用功能

1.訪問加密

由于每一個客戶端都使用frps的端口,只要別人知道你的域名或者url都能訪問你的服務(wù),但是某些服務(wù)是私密的或者只想讓限定的用戶訪問。
frp 通過 HTTP Basic Auth 來保護(hù)我們的 web 服務(wù),用戶可以通過用戶名和密碼才能訪問到服務(wù)。
該功能目前僅限于 http 類型的代理,需要在 frpc 的代理配置中添加用戶名和密碼的設(shè)置。

[web]
type = http
local_port = 8080
custom_domains = 可以是服務(wù)器端ip也可以是服務(wù)器端ip解析的域名
http_user = admin 
http_pwd = admin

5、案例四:Admin UI

Admin UI 可以幫助用戶通過瀏覽器來查詢和管理客戶端的 proxy 狀態(tài)和配置。
需要在 frpc.ini 中指定 admin 服務(wù)使用的端口,即可開啟此功能:

[common]
admin_addr = 內(nèi)網(wǎng)機(jī)器ip
admin_port = 7400
admin_user = admin
admin_pwd = admin

打開瀏覽器通過 http://ip:7400 訪問 Admin UI,用戶名密碼默認(rèn)為 admin。
如果想要在外網(wǎng)環(huán)境訪問 Admin UI,將 7400 端口映射出去即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容