** 如果你们公司没有公网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
注意: 本地服务器也得开放内网端口