目錄
一、FRP簡介
frp 是一個專注於內網穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。
FRP好處是利用內網或防火牆后的機器(例如家用路由器后的192.168段的IP),對外網環境提供http或https服務。對於http和https服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共用一個80端口。利用處於內網或防火牆后的機器,對外網環境提供tcp和udp服務,例如在家里通過ssh或者web訪問公司內網環境內的主機或者業務進行辦公!!
二、服務端
2.1 下載解壓
$ wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
# 下載軟件
$ mv frp_0.34.3_linux_amd64.tar.gz /opt
$ cd /opt
$ tar -zxvf frp_0.34.3_linux_amd64.tar.gz
$ cd frp_0.34.3_linux_amd64/
# 解壓
2.2 配置
服務端配置文件:frps.ini
客戶端配置文件:frpc.ini
[common]
bind_port = 7000 # 客戶端通信端口
vhost_http_port = 54321 # HTTP端口
vhost_https_port = 54322 # HTTPS端口
token = 123456 # 自定義秘鑰
2.3 啟動
$ ./frps -c ./frps.ini # 臨時
$ nohup ./frps -c ./frps.ini & # 后台
2.4 配置為系統服務
$ vim /usr/lib/systemd/system/frps.service #修改配置(這里沒有該文件就添加個)
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#啟動服務的命令(此處寫你的 frps 的實際安裝目錄)
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
[Install]
WantedBy=multi-user.target
三、客戶端
3.1 windows/Linux/Mac
3.1.1 配置
[common]
server_addr = 152.136.170.74 # 公網IP
server_port = 7000 # 服務器綁定端口
token = 123456 # 與服務端秘鑰一致
[web]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 54321
custom_domains = 152.136.170.74 # 建議使用域名進行區分
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 54328
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 54329
3.1.2 啟動
$ ./frpc -c ./frpc.ini # 臨時
$ nohup ./frpc -c ./frpc.ini & # 后台
3.1.3 配置為系統服務
$ vim /usr/lib/systemd/system/frpc.service #修改配置(這里沒有該文件就添加個)
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#啟動服務的命令(此處寫你的 frps 的實際安裝目錄)
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
[Install]
WantedBy=multi-user.target
客戶端啟動一個web 服務, 使用http://公網IP:54321 進行訪問測試!
客戶端啟動一個mysql服務, 使用 IP:公網IP Port:54328 進行訪問測試!
客戶端 使用 IP:公網IP Port :54329 進行訪問測試!
確認公網IP 遠程端口 已放通!
3.2 Dashboard & AdminUI
# Dashboard (服務端配置)
[common]
dashboard_port = 7002
dashboard_user = admin
dashboard_pwd = admin
# AdminUI (客戶端配置)
[common]
admin_addr = 127.0.0.1 # 使用內網真實地址 即可訪問測試
admin_port = 7400
admin_user = admin
admin_pwd = admin
四、總結
使用frp工具有以下優勢:
- 利用處於內網或防火牆后的機器,對外網環境提供 HTTP 或 HTTPS 服務。
- 對於 HTTP, HTTPS 服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共用一個 80 端口。
- 利用處於內網或防火牆后的機器,對外網環境提供 TCP 和 UDP 服務,例如在家里通過 SSH 訪問處於公司內網環境內的主機。
具體環境具體利用!!
加油!,隧道篇就到此結束…