
从零搭建FRP内网穿透:多平台服务端与客户端配置一站式教程
一、服务端搭建(Linux)
1. 下载与解压
mkdir -p /usr/local/frp && cd /usr/local/frp
wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz
tar -zxvf frp_0.61.1_linux_amd64.tar.gz
2. 核心配置(frps.ini)
[common]
bind_port = 7000 # 必填:客户端通信端口
token = your_secure_token # 必填:客户端认证密钥(防未授权访问)
# 【可选】管理面板
dashboard_port = 7500 # 监控面板端口
dashboard_user = admin # 面板用户名
dashboard_pwd = admin@123 # 面板密码
# 【可选】HTTP/HTTPS穿透
vhost_http_port = 80 # HTTP域名映射端口
vhost_https_port = 443 # HTTPS域名映射端口
# 【可选】日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 7 # 日志保留天数
3. 启动与自启
# 临时启动
./frps -c frps.ini
# 创建systemd服务(推荐)
sudo tee /etc/systemd/system/frps.service <<EOF
[Unit]
Description=FRP Server
After=network.target
[Service]
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable frps && sudo systemctl start frps
4. 防火墙放行
sudo ufw allow 7000/tcp # 通信端口
sudo ufw allow 7500/tcp # 【可选】面板端口
sudo ufw allow 80,443/tcp # 【可选】HTTP/HTTPS端口
二、客户端配置
▶ Windows客户端(远程桌面穿透)
1. 下载客户端
从GitHub Release下载frp_*_windows_amd64.zip
,解压至C:\frp
2. 配置frpc.ini
[common]
server_addr = 1.2.3.4 # 服务端公网IP
server_port = 7000
token = your_secure_token # 与服务端一致
[rdp] # 远程桌面服务
type = tcp
local_ip = 127.0.0.1
local_port = 3389 # Windows默认远程端口
remote_port = 6000 # 外网访问端口
# 【可选】性能优化
use_encryption = true # 加密通信(推荐开启)
use_compression = true # 压缩数据(节省带宽)
3. 启动方式
# 手动启动
frpc.exe -c frpc.ini
# 注册为Windows服务(需nssm工具)
nssm install frpc
设置路径:C:\frp\frpc.exe
参数:-c C:\frp\frpc.ini
▶ Linux客户端(SSH/Web服务穿透)
1. 下载与配置
wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz
tar -zxvf frp_0.61.1_linux_amd64.tar.gz
2. 场景配置示例
• SSH穿透(frpc.ini):
[common]
server_addr = 1.2.3.4
server_port = 7000
token = your_secure_token
[ssh]
type = tcp
local_port = 22
remote_port = 6022 # 外网通过6022访问SSH
• Web服务穿透(支持HTTPS):
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com # 需域名解析至服务端IP
# 【可选】HTTPS配置
[https]
type = https
local_port = 443
custom_domains = secure.yourdomain.com
plugin = https2http # 将HTTPS转换为HTTP后端
plugin_local_addr = 127.0.0.1:80
plugin_crt_path = /path/to/cert.pem
plugin_key_path = /path/to/key.pem
3. 自启服务
sudo cp frpc /usr/bin/
sudo tee /etc/systemd/system/frpc.service <<EOF
[Unit]
Description=FRP Client
After=network.target
[Service]
ExecStart=/usr/bin/frpc -c /path/to/frpc.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable frpc && sudo systemctl start frpc
三、连接验证
- 远程桌面:外网电脑运行
mstsc
,输入服务端IP:6000
- SSH访问:
ssh -p 6022 user@1.2.3.4
- Web服务:浏览器访问
http://www.yourdomain.com
或https://secure.yourdomain.com
- 监控面板:访问
http://1.2.3.4:7500
查看连接状态
四、高级配置建议
-
安全加固
• 限制客户端IP:服务端添加allow_ports = 1000-20000
限制可用端口范围
• 启用TLS:在[common]
段添加tls_enable = true
加密传输 -
多服务映射
在客户端配置中添加多个[service]
段,例如同时穿透数据库和NAS:
[mysql]
type = tcp
local_port = 3306
remote_port = 6033
[nas]
type = tcp
local_port = 5000
remote_port = 6050
- 域名泛解析
服务端配置subdomain_host = frp.yourdomain.com
,客户端使用subdomain = nas
自动生成nas.frp.yourdomain.com
五、故障排查
• 端口冲突:使用netstat -tulnp | grep 端口号
检查占用
• 连接失败:检查服务端防火墙规则及客户端的server_addr
和token
• 日志分析:查看frps.log
或frpc.log
定位问题
引用说明:
基础配置参考自2024年通用教程;
安全配置参考CSDN 2025年实战指南;
服务端自启方法来自2024年ARM部署教程;
Windows服务化方案来自2025年远程桌面专版;
HTTPS及域名配置综合多篇高级教程优化。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 白芷舒华