Frp内网穿透有四种部署方式:一、手动部署官方二进制包;二、通过systemd管理服务实现开机自启;三、使用Docker容器化部署;四、借助APT/YUM脚本自动化安装。

如果您希望将本地运行的 Linux 服务(如 Web 服务、SSH 或数据库)暴露给公网访问,但又没有固定公网 IP 或无法配置路由器端口映射,则需借助内网穿透工具。Frp 是一款高性能、开源的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等协议转发。以下是实现该目标的多种方法:
一、使用 Frp 官方二进制包手动部署
此方法适用于所有主流 Linux 发行版(如 Ubuntu、CentOS、Debian),无需编译,直接下载预编译二进制文件并配置即可运行。服务端与客户端均以轻量级进程方式启动,资源占用低且稳定。
1、在服务端(具备公网 IP 或云服务器)执行:wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz。
2、解压并进入目录:tar -xzf frp_0.56.0_linux_amd64.tar.gz && cd frp_0.56.0_linux_amd64。
3、编辑服务端配置文件 frps.ini:nano frps.ini,填入监听端口与认证密钥,例如:
bind_port = 7000
token = my_secure_token
4、启动服务端:nohup ./frps -c frps.ini > frps.log 2>&1 &。
5、在内网 Linux 客户端重复下载解压步骤,编辑 frpc.ini,指定服务端地址、端口、token,并添加需穿透的服务,例如:
server_addr = your_public_ip
server_port = 7000
token = my_secure_token
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
6、启动客户端:nohup ./frpc -c frpc.ini > frpc.log 2>&1 &。
二、通过 systemd 管理 Frp 服务(推荐长期运行)
此方法将 Frp 客户端或服务端注册为系统服务,支持开机自启、日志追踪与状态管理,避免因终端关闭或会话中断导致进程退出。
1、创建服务文件:sudo nano /etc/systemd/system/frpc.service(客户端)或 /etc/systemd/system/frps.service(服务端)。
2、填入标准 Unit 配置,以客户端为例:
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/frp
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
3、重载 systemd 配置:sudo systemctl daemon-reload。
4、启用并启动服务:sudo systemctl enable --now frpc。
5、查看运行状态:sudo systemctl status frpc。
三、使用 Docker 快速部署 Frp 服务端与客户端
此方法适合已部署 Docker 的环境,通过官方镜像或社区维护镜像一键拉起服务,隔离性好,配置与二进制方式一致,但无需手动处理依赖和路径。
1、拉取 Frp 官方镜像:docker pull snowdreamtech/frp。
2、运行服务端容器:docker run -d --name frps --restart=always -p 7000:7000 -p 6000:6000 -v $(pwd)/frps.ini:/etc/frp/frps.ini snowdreamtech/frp frps -c /etc/frp/frps.ini。
3、准备客户端配置 frpc.ini 并挂载运行:docker run -d --name frpc --restart=always -v $(pwd)/frpc.ini:/etc/frp/frpc.ini snowdreamtech/frp frpc -c /etc/frp/frpc.ini。
4、确认容器运行状态:docker ps | grep frp。
5、检查日志输出:docker logs frpc 或 docker logs frps。
四、使用 APT/YUM 包管理器配合脚本自动化安装(仅限部分发行版)
此方法适用于希望简化首次部署流程的用户,利用社区提供的安装脚本自动完成下载、解压、配置生成与服务注册,适合批量部署场景。
1、下载并执行一键安装脚本(以 Frp 官方推荐社区脚本为例):curl -L https://raw.githubusercontent.com/mojocn/frp-install/master/install.sh | sudo bash。
2、根据提示选择安装模式:输入 1 安装服务端,输入 2 安装客户端。
3、输入绑定端口(如 7000)、认证 token 及需映射的本地服务参数。
4、脚本自动创建配置文件、systemd 服务单元并启动服务。
5、验证安装结果:sudo systemctl is-active frpc 应返回 active。










