** 如果你們公司沒有公網IP,但是又想實現內網穿透,遠程調用接口,在家也能調用公司服務器,但是nkg ssl有問題,花生殼坑壁,那么FRP是你最佳的選擇!!!**
不過有個前提,要有一臺公網服務器(阿里、騰訊等云服務器)
FRP配置( CentOS 7 上安裝 FRP教程 )
FRP中文文檔地址 : https://gofrp.org/zh-cn/
公網服務器端(frps)
一、下載并解壓
進入 FRP GitHub Releases 頁面,找到最新穩定版本 (但當前最新frp_0.63.0_linux_amd64.tar.gz,注意版本)
cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
tar -zxvf frp_0.63.0_linux_amd64.tar.gz
cd frp_0.63.0_linux_amd64
二、配置 frps.ini
在解壓目錄下新建 frps.ini
,內容示例:
[common]
bind_port = 7000
token = your_secure_token_here# 可選 Dashboard 配置,方便查看連接狀態
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin_password
請把 your_secure_token_here
替換為你自己設置的強密碼。
三、創建 systemd 服務文件
用 vim
或其他編輯器創建 /etc/systemd/system/frps.service
,內容如下:
[Unit]
Description=FRP Server Service
After=network.target[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/frp_0.63.0_linux_amd64
ExecStart=/usr/local/frp_0.63.0_linux_amd64/frps -c /usr/local/frp_0.63.0_linux_amd64/frps.ini
Restart=on-failure[Install]
WantedBy=multi-user.target
四、啟動并設置開機自啟
# 重新加載 systemd
systemctl daemon-reload# 啟動 frps 服務
systemctl start frps# 查看狀態確認是否啟動成功
systemctl status frps# 設置開機自啟
systemctl enable frps
五、配置防火墻(放行端口)
firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=7500/tcp --permanent
firewall-cmd --reload
六、使用提示
- 訪問 Dashboard:
http://公網服務器IP:7500
,用配置的賬號密碼登錄 - 記得在客戶端
frpc.ini
配置相同的token
和server_addr
以及server_port
(7000) - 公網服務器記得打開安全組開放端口
本地服務器(frpc)
一、下載并解壓(同 FRPS)
進入 FRP GitHub Releases 頁面,找到最新穩定版本
cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
tar -zxvf frp_0.63.0_linux_amd64.tar.gz
cd frp_0.63.0_linux_amd64
二、配置 frpc.ini
在解壓目錄下新建 frpc.ini
,內容示例:
[common]
server_addr = 公網服務器IP
server_port = 7000
token = your_secure_token# 映射本地 Web 服務(本地 8080 -> 公網 6000)
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 6000# 映射另一個服務(如本地 3306 數據庫 -> 公網 6001)
[db]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6001# 再加一個服務(如本地 9090 -> 公網 6002)
[api]
type = tcp
local_ip = 127.0.0.1
local_port = 9090
remote_port = 6002
說明
[web]
、[db]
、[api]
是不同的“隧道名字”,可以隨便起,但不能重復。your_secure_token_here
為frps的token.- 每個
[xxx]
配置塊都表示一條映射通道。 - 每個本地服務用一個
remote_port
對應一個公網端口。 - 記得開放
remote_port
對應的端口號 - 兩個frpc 不能同時用一個
remote_port
三、創建 systemd 服務文件
用 vim
或其他編輯器創建 /etc/systemd/system/frps.service
,內容如下:
[Unit]
Description=FRP Client Service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/frp_0.63.0_linux_amd64/frpc -c /usr/local/frp_0.63.0_linux_amd64/frpc.ini
Restart=on-failure[Install]
WantedBy=multi-user.target
注意:確保路徑 frpc
和 frpc.ini
都在 /usr/local/frp_0.63.0_linux_amd64/
四、啟動并設置開機自啟
# 重新加載 systemd
systemctl daemon-reload# 啟動 frpc 服務
systemctl start frpc# 查看狀態確認是否啟動成功
systemctl status frpc# 設置開機自啟
systemctl enable frpc
五、服務器上配置防火墻(放行端口,開放的外網端口)
firewall-cmd --zone=public --add-port=6000/tcp --permanent
firewall-cmd --zone=public --add-port=6001/tcp --permanent
firewall-cmd --reload
注意: 本地服務器也得開放內網端口