利用frp實現內網端口轉發


前言

frp 是一個高性能的反向代理應用,支持 tcp, udp, http, https 協議。

  • 利用處於防火牆后的機器,對外網環境提供 http 或 https 服務。
  • 對於 http, https 服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共用一個80端口。
  • 利用處於防火牆后的機器,對外網環境提供 tcp 和 udp 服務,例如在家里通過 ssh 訪問處於公司局部環境的主機。

(摘自百度百科)

環境准備

准備一台內網windows服務器虛擬機

一台公網服務器

一台pc(不要是windows虛擬機的宿主機)

內網windows服務器         192.168.244.130
公網linux服務器           152.X.X.X

設置內網Windows服務器防火牆不放行3389端口

 

 

 frp下載

Github地址:https://github.com/fatedier/frp/releases

本次試驗用的是一台linux服務器和一台windows服務器,下載的時候記得下載對應操作系統

frp_0.34.0_windows_amd64.zip
frp_0.34.0_linux_amd64.tar.gz

開整

本次的試驗目的是在另一台pc上連接內網服務器的3389端口,在環境搭建階段我們已經將防火牆打開,而且由於pc和內網服務器不在同一網段,所以是無法直接連3389的,因此,我們需要將內網服務器的3389轉發出來,轉發到公網服務器的一個端口上,這樣我們通過連接公網服務器的某個端口,就可以訪問內網服務器的3389了。整個流程如下。(沒啥專業的畫圖軟件只能用windwos自帶的畫圖了,原諒我的靈魂畫術)

 

 第一步 將frp上傳到公網服務器和內網服務器上

 將對應操作系統的包分別上傳到兩台服務器上

第二步  配置客戶端及服務端,並啟動

我們將window服務器作為客戶端,公網服務器作為服務端

先配置服務端

編輯frps.ini

[common]
bind_port = 7000

打開文件默認就是這個,不用動,保持這樣就行,這是配置服務端的端口,然后用下面的命令啟動服務端

./frps -c ./frps.ini

啟動完了以后先放着,再配置客戶端

編輯Windows服務器上的frpc.ini,做如下配置

[common]
server_addr = 152.x.x.x     #服務端ip,也就是公網服務器ip
server_port = 7000          #服務器端口

[
ssh] #這個是節點名稱,可以隨便寫 type = tcp #通信協議 local_ip = 127.0.0.1 #本地地址 local_port = 3389 #要轉發的端口 remote_port = 6000 #要轉發到的遠程端口

配置完成后,運行以下命令啟動客戶端

frpc.exe -c frpc.ini

隨后就能看到服務端顯示有新的客戶端連進來了

 第三步  連接遠程桌面

使用pc連接公網服務器的6000端口,連接成功

 

 總結

內網端口轉發和反向隧道的建立大多數工具都是這種方式,內網做客戶端主動向外網服務端通信,了解了這種方式就能更好的理解大多數端口轉發的操作了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM