frp實現內網穿透
阿新 • • 發佈:2020-11-14
frp簡介
frp是一個能進行內網穿透的高效能反向代理應用,支援TCP、UDP、HTTP、HTTPS等多種協議。通過在具有公網IP的節點上部署frp服務端,可以將內網服務穿透到公網。
準備工作
阿里雲伺服器(Ubuntu18.04)
內網機器(Ubuntu18.04)
通過SSH訪問內網機器
-
在阿里雲伺服器上部署frps,修改frps.ini檔案。
[common] bind_port = 7000
-
在需要被訪問的內網機器上部署frpc,修改frpc.ini檔案。
[common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
local_ip和local_port配置為本地需要暴露到公網的服務地址和埠(ssh服務預設是22埠)。remote_port表示在frp服務端監聽的埠,訪問此埠的流量將會轉發到本地服務對應的埠。
注意事項:
- bind_port和server_port可任意設定,但需保持一致
- server_addr為阿里雲伺服器公網IP
- remote_port可任意設定,不與server_port相同即可
- 在阿里雲實例安全組中開放設定的server_port和remote_port埠號
-
在阿里雲伺服器啟動frps
./frps -c ./frps.ini
-
在內網機器上啟動frpc
./frpc -c ./frpc.ini
-
通過ssh訪問內網機器
ssh [內網機器系統使用者名稱]@[阿里雲公網IP地址] -p [remote_port]
ps:frps和frpc啟動可設定後臺不掛斷執行(藉助nohup和&)或將命令寫進開機啟動項中
通過自定義域名訪問內網的web服務
-
在阿里雲伺服器上部署frps,修改frps.ini檔案。
[common] bind_port = 7000 vhost_http_port = 8080
-
在需要被訪問的內網機器上部署frpc,修改frpc.ini檔案。
[common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [web] type = http local_port = 6006 custom_domains = 域名或IP
注意事項:
- local_port為內網機器web服務監聽的埠,根據對應需求更改,例如tensorboard的預設埠為6006。
- custom_domains可為域名或IP地址,例如127.0.0.1。
- 在阿里雲實例安全組中開放設定的vhost_http_port埠號
-
在本地瀏覽器訪問域名或IP:local_port即可訪問內網機器上[web]local_port埠的服務